[Qemu-devel] [PATCH 2/7] block: qemu-iotests, fix _make_test_img() to work with spaced pathnames
_make_test_img() currently works with spaced pathnames only when not specifying a backing file. This fixes it so that the backing file argument is properly quoted. Signed-off-by: Jeff Cody jc...@redhat.com --- tests/qemu-iotests/common.rc | 13 +++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/tests/qemu-iotests/common.rc b/tests/qemu-iotests/common.rc index 4e82604..d24de2c 100644 --- a/tests/qemu-iotests/common.rc +++ b/tests/qemu-iotests/common.rc @@ -111,6 +111,8 @@ _make_test_img() local image_size=$* local optstr= local img_name= +local use_backing=0 +local backing_file= if [ -n $TEST_IMG_FILE ]; then img_name=$TEST_IMG_FILE @@ -123,7 +125,8 @@ _make_test_img() fi if [ $1 = -b ]; then -extra_img_options=$1 $2 +use_backing=1 +backing_file=$2 image_size=$3 fi if [ \( $IMGFMT = qcow2 -o $IMGFMT = qed \) -a -n $CLUSTER_SIZE ]; then @@ -135,7 +138,13 @@ _make_test_img() fi # XXX(hch): have global image options? -$QEMU_IMG create -f $IMGFMT $extra_img_options $img_name $image_size 21 | \ +( + if [ $use_backing = 1 ]; then +$QEMU_IMG create -f $IMGFMT $extra_img_options -b $backing_file $img_name $image_size 21 + else +$QEMU_IMG create -f $IMGFMT $extra_img_options $img_name $image_size 21 + fi +) | \ sed -e s#$IMGPROTO:$TEST_DIR#TEST_DIR#g \ -e s#$TEST_DIR#TEST_DIR#g \ -e s#$IMGFMT#IMGFMT#g \ -- 1.8.3.1
Re: [Qemu-devel] [PATCH 2/7] block: qemu-iotests, fix _make_test_img() to work with spaced pathnames
On 10/31/2013 09:57 AM, Jeff Cody wrote: _make_test_img() currently works with spaced pathnames only when not specifying a backing file. This fixes it so that the backing file argument is properly quoted. Signed-off-by: Jeff Cody jc...@redhat.com --- tests/qemu-iotests/common.rc | 13 +++-- 1 file changed, 11 insertions(+), 2 deletions(-) Reviewed-by: Eric Blake ebl...@redhat.com As a slight optimization, you could avoid a subshell: # XXX(hch): have global image options? -$QEMU_IMG create -f $IMGFMT $extra_img_options $img_name $image_size 21 | \ +( + if [ $use_backing = 1 ]; then +$QEMU_IMG create -f $IMGFMT $extra_img_options -b $backing_file $img_name $image_size 21 + else +$QEMU_IMG create -f $IMGFMT $extra_img_options $img_name $image_size 21 + fi +) | \ $QEMU_IMG create -f $IMGFMT $extra_img_options \ ${backing_file:+-b $backing_file} $img_name $image_size 21 | But as not everyone is a shell guru to recognize the ${var+:expansion} trick, I'm fine with the version you proposed. -- Eric Blake eblake redhat com+1-919-301-3266 Libvirt virtualization library http://libvirt.org signature.asc Description: OpenPGP digital signature