From da5a960584a61d7e39271ef5285dd8f4b9628d10 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