block/vxhs.c: Add qemu-iotests for new block device type "vxhs"

These changes use a vxhs test server that is a part of the following
repository:
https://github.com/VeritasHyperScale/libqnio.git

Signed-off-by: Ashish Mittal <Ashish.Mittal@veritas.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Jeff Cody <jcody@redhat.com>
Signed-off-by: Jeff Cody <jcody@redhat.com>
Message-id: 1491277689-24949-3-git-send-email-Ashish.Mittal@veritas.com
This commit is contained in:
Ashish Mittal 2017-04-03 20:48:09 -07:00 committed by Jeff Cody
parent da92c3ff60
commit ae0c0a3dec
4 changed files with 39 additions and 0 deletions

View file

@ -85,6 +85,9 @@ else
elif [ "$IMGPROTO" = "nfs" ]; then
TEST_DIR="nfs://127.0.0.1/$TEST_DIR"
TEST_IMG=$TEST_DIR/t.$IMGFMT
elif [ "$IMGPROTO" = "vxhs" ]; then
TEST_IMG_FILE=$TEST_DIR/t.$IMGFMT
TEST_IMG="vxhs://127.0.0.1:9999/t.$IMGFMT"
else
TEST_IMG=$IMGPROTO:$TEST_DIR/t.$IMGFMT
fi
@ -171,6 +174,12 @@ _make_test_img()
eval "$QEMU_NBD -v -t -b 127.0.0.1 -p 10810 -f $IMGFMT $TEST_IMG_FILE >/dev/null &"
sleep 1 # FIXME: qemu-nbd needs to be listening before we continue
fi
# Start QNIO server on image directory for vxhs protocol
if [ $IMGPROTO = "vxhs" ]; then
eval "$QEMU_VXHS -d $TEST_DIR > /dev/null &"
sleep 1 # Wait for server to come up.
fi
}
_rm_test_img()
@ -197,6 +206,16 @@ _cleanup_test_img()
fi
rm -f "$TEST_IMG_FILE"
;;
vxhs)
if [ -f "${TEST_DIR}/qemu-vxhs.pid" ]; then
local QEMU_VXHS_PID
read QEMU_VXHS_PID < "${TEST_DIR}/qemu-vxhs.pid"
kill ${QEMU_VXHS_PID} >/dev/null 2>&1
rm -f "${TEST_DIR}/qemu-vxhs.pid"
fi
rm -f "$TEST_IMG_FILE"
;;
file)
_rm_test_img "$TEST_DIR/t.$IMGFMT"
_rm_test_img "$TEST_DIR/t.$IMGFMT.orig"