From b5606021c954a99f847f7148854c7daacc2a8f58 Mon Sep 17 00:00:00 2001 From: Marek Marczykowski Date: Fri, 15 Jun 2012 13:19:44 +0200 Subject: [PATCH] vm-initramfs: use sysfs directly to get block device parameters Don't use blkdev program, as isn't installed by default by dracut in FC17. Actually it isn't necessary to get 'ro' and 'size' parameters, as they can be read directly from sysfs. --- .../lib/dracut/hooks/pre-udev/90_qubes_cow_setup.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/vm-initramfs/lib/dracut/hooks/pre-udev/90_qubes_cow_setup.sh b/vm-initramfs/lib/dracut/hooks/pre-udev/90_qubes_cow_setup.sh index fa1616f..19bb9d3 100755 --- a/vm-initramfs/lib/dracut/hooks/pre-udev/90_qubes_cow_setup.sh +++ b/vm-initramfs/lib/dracut/hooks/pre-udev/90_qubes_cow_setup.sh @@ -14,18 +14,18 @@ modprobe xenblk || modprobe xen-blkfront || echo "Qubes: Cannot load Xen Block F echo "Waiting for /dev/xvda* devices..." while ! [ -e /dev/xvda ]; do sleep 0.1; done -if [ `blockdev --getro /dev/xvda` = 1 ] ; then +if [ `cat /sys/block/xvda/ro` = 1 ] ; then echo "Qubes: Doing COW setup for AppVM..." while ! [ -e /dev/xvdc ]; do sleep 0.1; done while ! [ -e /dev/xvdc2 ]; do sleep 0.1; done - echo "0 `blockdev --getsz /dev/xvda` snapshot /dev/xvda /dev/xvdc2 N 16" | \ + echo "0 `cat /sys/block/xvda/size` snapshot /dev/xvda /dev/xvdc2 N 16" | \ dmsetup create dmroot || { echo "Qubes: FATAL: cannot create dmroot!"; } echo Qubes: done. else echo "Qubes: Doing R/W setup for TemplateVM..." - echo "0 `blockdev --getsz /dev/xvda` linear /dev/xvda 0" | \ + echo "0 `cat /sys/block/xvda/size` linear /dev/xvda 0" | \ dmsetup create dmroot || { echo "Qubes: FATAL: cannot create dmroot!"; exit 1; } echo Qubes: done. fi