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.
This commit is contained in:
Marek Marczykowski 2012-03-26 20:29:49 +02:00
parent b495853fd3
commit 2ea9a70efe
2 changed files with 10 additions and 3 deletions

View File

@ -16,6 +16,11 @@ if [ -n "`ls -A /sys/$DEVPATH/holders 2> /dev/null`" ]; then
xenstore-rm "$XS_KEY" xenstore-rm "$XS_KEY"
exit 0 exit 0
fi 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 # Special case for CD
if [ "$ID_TYPE" = "cd" ]; then if [ "$ID_TYPE" = "cd" ]; then
@ -26,6 +31,11 @@ if [ "$ID_TYPE" = "cd" ]; then
fi fi
MODE=r MODE=r
fi 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" xenstore-write "$XS_KEY/desc" "$DESC" "$XS_KEY/size" "$SIZE" "$XS_KEY/mode" "$MODE"
# Make sure that block backend is loaded # Make sure that block backend is loaded

View File

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