Selaa lähdekoodia

dom0+vm: qvm-block --attach-file

Allow to attach disk image from different VM as block device. File attached
with qvm-block -A will be visible as loopX device and as such can be detached.
File path will be in device description.
Marek Marczykowski 12 vuotta sitten
vanhempi
commit
3b55fc51e8
2 muutettua tiedostoa jossa 10 lisäystä ja 3 poistoa
  1. 10 0
      misc/block_add_change
  2. 0 3
      misc/qubes_block.rules

+ 10 - 0
misc/block_add_change

@@ -16,6 +16,11 @@ if [ -n "`ls -A /sys/$DEVPATH/holders 2> /dev/null`" ]; then
     xenstore-rm "$XS_KEY"
     exit 0
 fi
+# ... and "empty" loop devices
+if [ "$MAJOR" -eq 7 -a ! -d /sys/$DEVPATH/loop ]; then
+    xenstore-rm "$XS_KEY"
+    exit 0
+fi
 
 # Special case for CD
 if [ "$ID_TYPE" = "cd" ]; then
@@ -26,6 +31,11 @@ if [ "$ID_TYPE" = "cd" ]; then
     fi
     MODE=r
 fi
+
+# Special description for loop devices
+if [ -d /sys/$DEVPATH/loop ]; then
+    DESC=$(cat /sys/$DEVPATH/loop/backing_file)
+fi
 xenstore-write "$XS_KEY/desc" "$DESC" "$XS_KEY/size" "$SIZE" "$XS_KEY/mode" "$MODE"
 
 # Make sure that block backend is loaded

+ 0 - 3
misc/qubes_block.rules

@@ -6,9 +6,6 @@ SUBSYSTEM!="block", GOTO="qubes_block_end"
 # Skip xen-blkfront devices
 ENV{MAJOR}=="202", GOTO="qubes_block_end"
 
-# Skip loop devices
-ENV{MAJOR}=="7", GOTO="qubes_block_end"
-
 # Skip device-mapper devices
 ENV{MAJOR}=="253", GOTO="qubes_block_end"