Commit 3baa8449 authored by Fam Zheng's avatar Fam Zheng Committed by Stefan Hajnoczi
Browse files

qemu-iotests: Add "-c <cache-mode>" option



The option sets cache mode used in the tests. "-nocache" is changed to
an alias to "-c none", and internally passes "-t none" to qemu-io.

Python scripts will make use of option this in the next commit.

Signed-off-by: default avatarFam Zheng <famz@redhat.com>
Reviewed-by: default avatarWenchao Xia <xiawenc@linux.vnet.ibm.com>
Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
parent f8413b3c
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -242,7 +242,7 @@ do
            fi

            reference=$seq.out
            if (echo $QEMU_IO_OPTIONS | grep -s -- '--nocache' > /dev/null); then
            if [ "$CACHEMODE" = "none" ]; then
                [ -f $seq.out.nocache ] && reference=$seq.out.nocache
            fi

+19 −2
Original line number Diff line number Diff line
@@ -42,13 +42,16 @@ expunge=true
have_test_arg=false
randomize=false
valgrind=false
cachemode=false
rm -f $tmp.list $tmp.tmp $tmp.sed

export IMGFMT=raw
export IMGFMT_GENERIC=true
export IMGPROTO=file
export IMGOPTS=""
export CACHEMODE="writethrough"
export QEMU_IO_OPTIONS=""
export CACHEMODE_IS_DEFAULT=true

for r
do
@@ -113,7 +116,12 @@ s/ .*//p
        IMGOPTS="$r"
        imgopts=false
        continue

    elif $cachemode
    then
        CACHEMODE="$r"
        CACHEMODE_IS_DEFAULT=false
        cachemode=false
        continue
    fi

    xpand=true
@@ -147,6 +155,7 @@ check options
    -o options          -o options to pass to qemu-img create/convert
    -T                        output timestamps
    -r                         randomize test order
    -c mode             cache mode

testlist options
    -g group[,group...]        include tests from these groups
@@ -219,7 +228,8 @@ testlist options
            xpand=false
            ;;
        -nocache)
            QEMU_IO_OPTIONS="$QEMU_IO_OPTIONS --nocache"
            CACHEMODE="none"
            CACHEMODE_IS_DEFAULT=false
            xpand=false
            ;;

@@ -258,6 +268,10 @@ testlist options
            imgopts=true
            xpand=false
            ;;
        -c)
            cachemode=true
            xpand=false
            ;;
        -r)        # randomize test order
            randomize=true
            xpand=false
@@ -334,6 +348,9 @@ BEGIN { for (t='$start'; t<='$end'; t++) printf "%03d\n",t }' \

done

# Set qemu-io cache mode with $CACHEMODE we have
QEMU_IO_OPTIONS="$QEMU_IO_OPTIONS --cache $CACHEMODE"

# Set default options for qemu-img create -o if they were not specified
_set_default_imgopts