[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v6 2/2] block/vxhs.c: Add qemu-iotests for new b
From: |
Jeff Cody |
Subject: |
Re: [Qemu-devel] [PATCH v6 2/2] block/vxhs.c: Add qemu-iotests for new block device type "vxhs" |
Date: |
Tue, 8 Nov 2016 15:44:13 -0500 |
User-agent: |
Mutt/1.5.24 (2015-08-30) |
On Mon, Nov 07, 2016 at 04:59:45PM -0800, Ashish Mittal wrote:
> These changes use a vxhs test server that is a part of the following
> repository:
> https://github.com/MittalAshish/libqnio.git
>
> Signed-off-by: Ashish Mittal <address@hidden>
> ---
> v6 changelog:
> (1) Added iotests for VxHS block device.
>
> tests/qemu-iotests/common | 6 ++++++
> tests/qemu-iotests/common.config | 13 +++++++++++++
> tests/qemu-iotests/common.filter | 1 +
> tests/qemu-iotests/common.rc | 19 +++++++++++++++++++
> 4 files changed, 39 insertions(+)
>
> diff --git a/tests/qemu-iotests/common b/tests/qemu-iotests/common
> index d60ea2c..41430d8 100644
> --- a/tests/qemu-iotests/common
> +++ b/tests/qemu-iotests/common
When using raw format, I was able to run the test successfully for all
supported test cases (26 of them).
With qcow2, they fail - but not the fault of this patch, I think; but
rather, the fault of the test server. Can qnio_server be modified so that
it does not work on just raw files?
> @@ -158,6 +158,7 @@ check options
> -nfs test nfs
> -archipelago test archipelago
> -luks test luks
> + -vxhs test vxhs
> -xdiff graphical mode diff
> -nocache use O_DIRECT on backing file
> -misalign misalign memory allocations
> @@ -261,6 +262,11 @@ testlist options
> xpand=false
> ;;
>
> + -vxhs)
> + IMGPROTO=vxhs
> + xpand=false
> + ;;
> +
> -ssh)
> IMGPROTO=ssh
> xpand=false
> diff --git a/tests/qemu-iotests/common.config
> b/tests/qemu-iotests/common.config
> index f6384fb..c7a80c0 100644
> --- a/tests/qemu-iotests/common.config
> +++ b/tests/qemu-iotests/common.config
> @@ -105,6 +105,10 @@ if [ -z "$QEMU_NBD_PROG" ]; then
> export QEMU_NBD_PROG="`set_prog_path qemu-nbd`"
> fi
>
> +if [ -z "$QEMU_VXHS_PROG" ]; then
> + export QEMU_VXHS_PROG="`set_prog_path qnio_server /usr/local/bin`"
> +fi
> +
> _qemu_wrapper()
> {
> (
> @@ -156,10 +160,19 @@ _qemu_nbd_wrapper()
> )
> }
>
> +_qemu_vxhs_wrapper()
> +{
> + (
> + echo $BASHPID > "${TEST_DIR}/qemu-vxhs.pid"
> + exec "$QEMU_VXHS_PROG" $QEMU_VXHS_OPTIONS "$@"
> + )
> +}
> +
> export QEMU=_qemu_wrapper
> export QEMU_IMG=_qemu_img_wrapper
> export QEMU_IO=_qemu_io_wrapper
> export QEMU_NBD=_qemu_nbd_wrapper
> +export QEMU_VXHS=_qemu_vxhs_wrapper
>
> QEMU_IMG_EXTRA_ARGS=
> if [ "$IMGOPTSSYNTAX" = "true" ]; then
> diff --git a/tests/qemu-iotests/common.filter
> b/tests/qemu-iotests/common.filter
> index 240ed06..a8a4d0e 100644
> --- a/tests/qemu-iotests/common.filter
> +++ b/tests/qemu-iotests/common.filter
> @@ -123,6 +123,7 @@ _filter_img_info()
> -e "s#$TEST_DIR#TEST_DIR#g" \
> -e "s#$IMGFMT#IMGFMT#g" \
> -e 's#nbd://127.0.0.1:10810$#TEST_DIR/t.IMGFMT#g' \
> + -e 's#json.*vdisk-id.*vxhs"}}#TEST_DIR/t.IMGFMT#' \
> -e "/encrypted: yes/d" \
> -e "/cluster_size: [0-9]\\+/d" \
> -e "/table_size: [0-9]\\+/d" \
> diff --git a/tests/qemu-iotests/common.rc b/tests/qemu-iotests/common.rc
> index 3213765..06a3164 100644
> --- a/tests/qemu-iotests/common.rc
> +++ b/tests/qemu-iotests/common.rc
> @@ -89,6 +89,9 @@ else
> TEST_IMG=$TEST_DIR/t.$IMGFMT
> elif [ "$IMGPROTO" = "archipelago" ]; then
> TEST_IMG="archipelago:at.$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
> @@ -175,6 +178,12 @@ _make_test_img()
> eval "$QEMU_NBD -v -t -b 127.0.0.1 -p 10810 -f $IMGFMT
> $TEST_IMG_FILE &"
> 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 &"
> + sleep 1 # Wait for server to come up.
> + fi
> }
>
> _rm_test_img()
> @@ -201,6 +210,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"
> --
> 1.8.3.1
>
- Re: [Qemu-devel] [PATCH v6 1/2] block/vxhs.c: Add support for a new block device type called "vxhs", (continued)
- Re: [Qemu-devel] [PATCH v6 1/2] block/vxhs.c: Add support for a new block device type called "vxhs", Stefan Hajnoczi, 2016/11/15
- Re: [Qemu-devel] [PATCH v6 1/2] block/vxhs.c: Add support for a new block device type called "vxhs", Markus Armbruster, 2016/11/16
- Re: [Qemu-devel] [PATCH v6 1/2] block/vxhs.c: Add support for a new block device type called "vxhs", Fam Zheng, 2016/11/16
- Re: [Qemu-devel] [PATCH v6 1/2] block/vxhs.c: Add support for a new block device type called "vxhs", Stefan Hajnoczi, 2016/11/16
- Re: [Qemu-devel] [PATCH v6 1/2] block/vxhs.c: Add support for a new block device type called "vxhs", ashish mittal, 2016/11/16
- Re: [Qemu-devel] [PATCH v6 1/2] block/vxhs.c: Add support for a new block device type called "vxhs", Eric Blake, 2016/11/15
- Re: [Qemu-devel] [PATCH v6 1/2] block/vxhs.c: Add support for a new block device type called "vxhs", Markus Armbruster, 2016/11/15
- Re: [Qemu-devel] [PATCH v6 1/2] block/vxhs.c: Add support for a new block device type called "vxhs", ashish mittal, 2016/11/15
Re: [Qemu-devel] [PATCH v6 1/2] block/vxhs.c: Add support for a new block device type called "vxhs", Daniel P. Berrange, 2016/11/17
[Qemu-devel] [PATCH v6 2/2] block/vxhs.c: Add qemu-iotests for new block device type "vxhs", Ashish Mittal, 2016/11/07
- Re: [Qemu-devel] [PATCH v6 2/2] block/vxhs.c: Add qemu-iotests for new block device type "vxhs",
Jeff Cody <=