Commit 076003f5 authored by Daniel P. Berrangé's avatar Daniel P. Berrangé Committed by Max Reitz
Browse files

block: add support for --image-opts in block I/O tests



Currently all block tests use the traditional syntax for images
just specifying a filename. To support the LUKS driver without
resorting to JSON, the tests need to be able to use the new
--image-opts argument to qemu-img and qemu-io.

This introduces a new env variable IMGOPTSSYNTAX. If this is
set to 'true', then qemu-img/qemu-io should use --image-opts.

Signed-off-by: default avatarDaniel P. Berrange <berrange@redhat.com>
Message-id: 1462896689-18450-2-git-send-email-berrange@redhat.com
Signed-off-by: default avatarMax Reitz <mreitz@redhat.com>
parent c2e001cc
Loading
Loading
Loading
Loading
+10 −10
Original line number Diff line number Diff line
@@ -12,9 +12,9 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728
wrote 512/512 bytes at offset 0
512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
./common.config: Killed                  ( if [ "${VALGRIND_QEMU}" == "y" ]; then
    exec valgrind --log-file="${VALGRIND_LOGFILE}" --error-exitcode=99 "$QEMU_IO_PROG" $QEMU_IO_OPTIONS "$@";
    exec valgrind --log-file="${VALGRIND_LOGFILE}" --error-exitcode=99 "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@";
else
    exec "$QEMU_IO_PROG" $QEMU_IO_OPTIONS "$@";
    exec "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@";
fi )
incompatible_features     0x1
ERROR cluster 5 refcount=0 reference=1
@@ -51,9 +51,9 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728
wrote 512/512 bytes at offset 0
512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
./common.config: Killed                  ( if [ "${VALGRIND_QEMU}" == "y" ]; then
    exec valgrind --log-file="${VALGRIND_LOGFILE}" --error-exitcode=99 "$QEMU_IO_PROG" $QEMU_IO_OPTIONS "$@";
    exec valgrind --log-file="${VALGRIND_LOGFILE}" --error-exitcode=99 "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@";
else
    exec "$QEMU_IO_PROG" $QEMU_IO_OPTIONS "$@";
    exec "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@";
fi )
incompatible_features     0x1
ERROR cluster 5 refcount=0 reference=1
@@ -69,9 +69,9 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728
wrote 512/512 bytes at offset 0
512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
./common.config: Killed                  ( if [ "${VALGRIND_QEMU}" == "y" ]; then
    exec valgrind --log-file="${VALGRIND_LOGFILE}" --error-exitcode=99 "$QEMU_IO_PROG" $QEMU_IO_OPTIONS "$@";
    exec valgrind --log-file="${VALGRIND_LOGFILE}" --error-exitcode=99 "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@";
else
    exec "$QEMU_IO_PROG" $QEMU_IO_OPTIONS "$@";
    exec "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@";
fi )
incompatible_features     0x0
No errors were found on the image.
@@ -92,9 +92,9 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728
wrote 512/512 bytes at offset 0
512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
./common.config: Killed                  ( if [ "${VALGRIND_QEMU}" == "y" ]; then
    exec valgrind --log-file="${VALGRIND_LOGFILE}" --error-exitcode=99 "$QEMU_IO_PROG" $QEMU_IO_OPTIONS "$@";
    exec valgrind --log-file="${VALGRIND_LOGFILE}" --error-exitcode=99 "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@";
else
    exec "$QEMU_IO_PROG" $QEMU_IO_OPTIONS "$@";
    exec "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@";
fi )
incompatible_features     0x1
ERROR cluster 5 refcount=0 reference=1
@@ -106,9 +106,9 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728
wrote 512/512 bytes at offset 0
512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
./common.config: Killed                  ( if [ "${VALGRIND_QEMU}" == "y" ]; then
    exec valgrind --log-file="${VALGRIND_LOGFILE}" --error-exitcode=99 "$QEMU_IO_PROG" $QEMU_IO_OPTIONS "$@";
    exec valgrind --log-file="${VALGRIND_LOGFILE}" --error-exitcode=99 "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@";
else
    exec "$QEMU_IO_PROG" $QEMU_IO_OPTIONS "$@";
    exec "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@";
fi )
incompatible_features     0x0
No errors were found on the image.
+4 −4
Original line number Diff line number Diff line
@@ -58,9 +58,9 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
wrote 131072/131072 bytes at offset 0
128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
./common.config: Killed                  ( if [ "${VALGRIND_QEMU}" == "y" ]; then
    exec valgrind --log-file="${VALGRIND_LOGFILE}" --error-exitcode=99 "$QEMU_IO_PROG" $QEMU_IO_OPTIONS "$@";
    exec valgrind --log-file="${VALGRIND_LOGFILE}" --error-exitcode=99 "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@";
else
    exec "$QEMU_IO_PROG" $QEMU_IO_OPTIONS "$@";
    exec "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@";
fi )
magic                     0x514649fb
version                   3
@@ -220,9 +220,9 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
wrote 131072/131072 bytes at offset 0
128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
./common.config: Killed                  ( if [ "${VALGRIND_QEMU}" == "y" ]; then
    exec valgrind --log-file="${VALGRIND_LOGFILE}" --error-exitcode=99 "$QEMU_IO_PROG" $QEMU_IO_OPTIONS "$@";
    exec valgrind --log-file="${VALGRIND_LOGFILE}" --error-exitcode=99 "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@";
else
    exec "$QEMU_IO_PROG" $QEMU_IO_OPTIONS "$@";
    exec "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@";
fi )
magic                     0x514649fb
version                   3
+2 −2
Original line number Diff line number Diff line
@@ -32,9 +32,9 @@ Unsupported value 'blubb' for qcow2 option 'overlap-check'. Allowed are any of t
wrote 512/512 bytes at offset 0
512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
./common.config: Killed                  ( if [ "${VALGRIND_QEMU}" == "y" ]; then
    exec valgrind --log-file="${VALGRIND_LOGFILE}" --error-exitcode=99 "$QEMU_IO_PROG" $QEMU_IO_OPTIONS "$@";
    exec valgrind --log-file="${VALGRIND_LOGFILE}" --error-exitcode=99 "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@";
else
    exec "$QEMU_IO_PROG" $QEMU_IO_OPTIONS "$@";
    exec "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@";
fi )
incompatible_features     0x0
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
+6 −1
Original line number Diff line number Diff line
@@ -53,6 +53,7 @@ export QEMU_IO_OPTIONS=""
export CACHEMODE_IS_DEFAULT=true
export QEMU_OPTIONS="-nodefaults"
export VALGRIND_QEMU=
export IMGOPTSSYNTAX=false

for r
do
@@ -399,7 +400,11 @@ BEGIN { for (t='$start'; t<='$end'; t++) printf "%03d\n",t }' \
done

# Set qemu-io cache mode with $CACHEMODE we have
if [ "$IMGOPTSSYNTAX" = "true" ]; then
    QEMU_IO_OPTIONS="$QEMU_IO_OPTIONS --cache $CACHEMODE"
else
    QEMU_IO_OPTIONS="$QEMU_IO_OPTIONS -f $IMGFMT --cache $CACHEMODE"
fi

# Set default options for qemu-img create -o if they were not specified
_set_default_imgopts
+13 −2
Original line number Diff line number Diff line
@@ -123,12 +123,16 @@ _qemu_img_wrapper()
_qemu_io_wrapper()
{
    local VALGRIND_LOGFILE="${TEST_DIR}"/$$.valgrind
    local QEMU_IO_ARGS="$QEMU_IO_OPTIONS"
    if [ "$IMGOPTSSYNTAX" = "true" ]; then
        QEMU_IO_ARGS="--image-opts $QEMU_IO_ARGS"
    fi
    local RETVAL
    (
        if [ "${VALGRIND_QEMU}" == "y" ]; then
            exec valgrind --log-file="${VALGRIND_LOGFILE}" --error-exitcode=99 "$QEMU_IO_PROG" $QEMU_IO_OPTIONS "$@"
            exec valgrind --log-file="${VALGRIND_LOGFILE}" --error-exitcode=99 "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@"
        else
            exec "$QEMU_IO_PROG" $QEMU_IO_OPTIONS "$@"
            exec "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@"
        fi
    )
    RETVAL=$?
@@ -154,6 +158,13 @@ export QEMU_IMG=_qemu_img_wrapper
export QEMU_IO=_qemu_io_wrapper
export QEMU_NBD=_qemu_nbd_wrapper

QEMU_IMG_EXTRA_ARGS=
if [ "$IMGOPTSSYNTAX" = "true" ]; then
    QEMU_IMG_EXTRA_ARGS="--image-opts $QEMU_IMG_EXTRA_ARGS"
fi
export QEMU_IMG_EXTRA_ARGS


default_machine=$($QEMU -machine help | sed -n '/(default)/ s/ .*//p')
default_alias_machine=$($QEMU -machine help | \
   sed -n "/(alias of $default_machine)/ { s/ .*//p; q; }")
Loading