Explorar el Código

Allow to provide customized DispVM home directly in the template VM

This significantly speeds up DispVM creation for large customized
homes, since no data has to be copied, and instead CoW is used.
qubesuser hace 8 años
padre
commit
f380c346cf
Se han modificado 2 ficheros con 12 adiciones y 8 borrados
  1. 6 4
      misc/dispvm-prerun.sh
  2. 6 4
      vm-systemd/mount-dirs.sh

+ 6 - 4
misc/dispvm-prerun.sh

@@ -3,10 +3,12 @@
 apps="/usr/libexec/evinced"
 
 #If user have customized DispVM settings, use its home instead of default dotfiles
-if [ -e /rw/home/user/.qubes-dispvm-customized ]; then
-	cp -af /rw/home/user /home/
-else
-	cat /etc/dispvm-dotfiles.tbz | tar -xjf- --overwrite -C /home/user --owner user 2>&1 >/tmp/dispvm-dotfiles-errors.log
+if [ ! -e /home/user/.qubes-dispvm-customized ]; then
+	if [ -e /rw/home/user/.qubes-dispvm-customized ]; then
+		cp -af /rw/home/user /home/
+	else
+		cat /etc/dispvm-dotfiles.tbz | tar -xjf- --overwrite -C /home/user --owner user 2>&1 >/tmp/dispvm-dotfiles-errors.log
+	fi
 fi
 
 for app in $apps ; do

+ 6 - 4
vm-systemd/mount-dirs.sh

@@ -79,10 +79,12 @@ if [ -e /var/run/qubes-service/qubes-dvm ]; then
     touch /etc/this-is-dvm
 
     #If user have customized DispVM settings, use its home instead of default dotfiles
-    if [ -e /rw/home/user/.qubes-dispvm-customized ]; then
-        cp -af /rw/home/user /home/
-    else
-        cat /etc/dispvm-dotfiles.tbz | tar -xjf- --overwrite -C /home/user --owner user 2>&1 >/tmp/dispvm-dotfiles-errors.log
+    if [ ! -e /home/user/.qubes-dispvm-customized ]; then
+        if [ -e /rw/home/user/.qubes-dispvm-customized ]; then
+            cp -af /rw/home/user /home/
+        else
+            cat /etc/dispvm-dotfiles.tbz | tar -xjf- --overwrite -C /home/user --owner user 2>&1 >/tmp/dispvm-dotfiles-errors.log
+        fi
     fi
 else
     mount /home