[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-block] [PULL 22/48] qemu-iotests: Try setting cache mode for child
From: |
Kevin Wolf |
Subject: |
[Qemu-block] [PULL 22/48] qemu-iotests: Try setting cache mode for children |
Date: |
Fri, 18 Dec 2015 16:07:28 +0100 |
This is a basic test for specifying cache modes for child nodes on the
command line. It doesn't take much time and works without O_DIRECT
support.
Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
---
tests/qemu-iotests/051 | 10 +++++++-
tests/qemu-iotests/051.out | 60 ++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 69 insertions(+), 1 deletion(-)
diff --git a/tests/qemu-iotests/051 b/tests/qemu-iotests/051
index f6f0f4d..da90f59 100755
--- a/tests/qemu-iotests/051
+++ b/tests/qemu-iotests/051
@@ -61,7 +61,7 @@ function do_run_qemu()
function run_qemu()
{
- do_run_qemu "$@" 2>&1 | _filter_testdir | _filter_qemu
+ do_run_qemu "$@" 2>&1 | _filter_testdir | _filter_qemu |
_filter_generated_node_ids
}
size=128M
@@ -190,6 +190,14 @@ run_qemu -drive driver=null-co,cache=writethrough
run_qemu -drive driver=null-co,cache=unsafe
run_qemu -drive driver=null-co,cache=invalid_value
+# Can't test direct=on here because O_DIRECT might not be supported on this FS
+# Test 142 checks the direct=on cases
+
+for cache in writeback writethrough unsafe invalid_value; do
+ echo -e "info block\ninfo block file\ninfo block backing\ninfo block
backing-file" | \
+ run_qemu -drive
file="$TEST_IMG",cache=$cache,backing.file.filename="$TEST_IMG.base",backing.cache.no-flush=on,backing.cache.writeback=on,backing.node-name=backing,backing.file.node-name=backing-file,file.node-name=file
-nodefaults
+done
+
echo
echo === Specifying the protocol layer ===
echo
diff --git a/tests/qemu-iotests/051.out b/tests/qemu-iotests/051.out
index 7a459a3..070d318 100644
--- a/tests/qemu-iotests/051.out
+++ b/tests/qemu-iotests/051.out
@@ -238,6 +238,66 @@ QEMU X.Y.Z monitor - type 'help' for more information
Testing: -drive driver=null-co,cache=invalid_value
QEMU_PROG: -drive driver=null-co,cache=invalid_value: invalid cache option
+Testing: -drive
file=TEST_DIR/t.qcow2,cache=writeback,backing.file.filename=TEST_DIR/t.qcow2.base,backing.cache.no-flush=on,backing.cache.writeback=on,backing.node-name=backing,backing.file.node-name=backing-file,file.node-name=file
-nodefaults
+QEMU X.Y.Z monitor - type 'help' for more information
+(qemu) i[K[Din[K[D[Dinf[K[D[D[Dinfo[K[D[D[D[Dinfo
[K[D[D[D[D[Dinfo b[K[D[D[D[D[D[Dinfo
bl[K[D[D[D[D[D[D[Dinfo blo[K[D[D[D[D[D[D[D[Dinfo
bloc[K[D[D[D[D[D[D[D[D[Dinfo block[K
+ide0-hd0 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
+ Cache mode: writeback
+ Backing file: TEST_DIR/t.qcow2.base (chain depth: 1)
+(qemu) i[K[Din[K[D[Dinf[K[D[D[Dinfo[K[D[D[D[Dinfo
[K[D[D[D[D[Dinfo b[K[D[D[D[D[D[Dinfo
bl[K[D[D[D[D[D[D[Dinfo blo[K[D[D[D[D[D[D[D[Dinfo
bloc[K[D[D[D[D[D[D[D[D[Dinfo
block[K[D[D[D[D[D[D[D[D[D[Dinfo block
[K[D[D[D[D[D[D[D[D[D[D[Dinfo block
f[K[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
fi[K[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
fil[K[D[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo block file[K
+
+file: TEST_DIR/t.qcow2 (file)
+ Cache mode: writeback
+(qemu) i[K[Din[K[D[Dinf[K[D[D[Dinfo[K[D[D[D[Dinfo
[K[D[D[D[D[Dinfo b[K[D[D[D[D[D[Dinfo
bl[K[D[D[D[D[D[D[Dinfo blo[K[D[D[D[D[D[D[D[Dinfo
bloc[K[D[D[D[D[D[D[D[D[Dinfo
block[K[D[D[D[D[D[D[D[D[D[Dinfo block
[K[D[D[D[D[D[D[D[D[D[D[Dinfo block
b[K[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
ba[K[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
bac[K[D[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
back[K[D[D[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
backi[K[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
backin[K[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
backing[K
+backing: TEST_DIR/t.qcow2.base (qcow2, read-only)
+ Cache mode: writeback, ignore flushes
+(qemu) i[K[Din[K[D[Dinf[K[D[D[Dinfo[K[D[D[D[Dinfo
[K[D[D[D[D[Dinfo b[K[D[D[D[D[D[Dinfo
bl[K[D[D[D[D[D[D[Dinfo blo[K[D[D[D[D[D[D[D[Dinfo
bloc[K[D[D[D[D[D[D[D[D[Dinfo
block[K[D[D[D[D[D[D[D[D[D[Dinfo block
[K[D[D[D[D[D[D[D[D[D[D[Dinfo block
b[K[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
ba[K[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
bac[K[D[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
back[K[D[D[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
backi[K[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
backin[K[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
backing[K[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
backing-[K[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
backing-f[K[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo
block backing-fi[K[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D!
[D[Dinfo block
backing-fil[K[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo
block backing-file[K
+
+backing-file: TEST_DIR/t.qcow2.base (file, read-only)
+ Cache mode: writeback, ignore flushes
+(qemu) q[K[Dqu[K[D[Dqui[K[D[D[Dquit[K
+
+Testing: -drive
file=TEST_DIR/t.qcow2,cache=writethrough,backing.file.filename=TEST_DIR/t.qcow2.base,backing.cache.no-flush=on,backing.cache.writeback=on,backing.node-name=backing,backing.file.node-name=backing-file,file.node-name=file
-nodefaults
+QEMU X.Y.Z monitor - type 'help' for more information
+(qemu) i[K[Din[K[D[Dinf[K[D[D[Dinfo[K[D[D[D[Dinfo
[K[D[D[D[D[Dinfo b[K[D[D[D[D[D[Dinfo
bl[K[D[D[D[D[D[D[Dinfo blo[K[D[D[D[D[D[D[D[Dinfo
bloc[K[D[D[D[D[D[D[D[D[Dinfo block[K
+ide0-hd0 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
+ Cache mode: writethrough
+ Backing file: TEST_DIR/t.qcow2.base (chain depth: 1)
+(qemu) i[K[Din[K[D[Dinf[K[D[D[Dinfo[K[D[D[D[Dinfo
[K[D[D[D[D[Dinfo b[K[D[D[D[D[D[Dinfo
bl[K[D[D[D[D[D[D[Dinfo blo[K[D[D[D[D[D[D[D[Dinfo
bloc[K[D[D[D[D[D[D[D[D[Dinfo
block[K[D[D[D[D[D[D[D[D[D[Dinfo block
[K[D[D[D[D[D[D[D[D[D[D[Dinfo block
f[K[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
fi[K[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
fil[K[D[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo block file[K
+
+file: TEST_DIR/t.qcow2 (file)
+ Cache mode: writeback
+(qemu) i[K[Din[K[D[Dinf[K[D[D[Dinfo[K[D[D[D[Dinfo
[K[D[D[D[D[Dinfo b[K[D[D[D[D[D[Dinfo
bl[K[D[D[D[D[D[D[Dinfo blo[K[D[D[D[D[D[D[D[Dinfo
bloc[K[D[D[D[D[D[D[D[D[Dinfo
block[K[D[D[D[D[D[D[D[D[D[Dinfo block
[K[D[D[D[D[D[D[D[D[D[D[Dinfo block
b[K[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
ba[K[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
bac[K[D[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
back[K[D[D[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
backi[K[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
backin[K[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
backing[K
+backing: TEST_DIR/t.qcow2.base (qcow2, read-only)
+ Cache mode: writeback, ignore flushes
+(qemu) i[K[Din[K[D[Dinf[K[D[D[Dinfo[K[D[D[D[Dinfo
[K[D[D[D[D[Dinfo b[K[D[D[D[D[D[Dinfo
bl[K[D[D[D[D[D[D[Dinfo blo[K[D[D[D[D[D[D[D[Dinfo
bloc[K[D[D[D[D[D[D[D[D[Dinfo
block[K[D[D[D[D[D[D[D[D[D[Dinfo block
[K[D[D[D[D[D[D[D[D[D[D[Dinfo block
b[K[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
ba[K[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
bac[K[D[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
back[K[D[D[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
backi[K[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
backin[K[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
backing[K[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
backing-[K[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
backing-f[K[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo
block backing-fi[K[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D!
[D[Dinfo block
backing-fil[K[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo
block backing-file[K
+
+backing-file: TEST_DIR/t.qcow2.base (file, read-only)
+ Cache mode: writeback, ignore flushes
+(qemu) q[K[Dqu[K[D[Dqui[K[D[D[Dquit[K
+
+Testing: -drive
file=TEST_DIR/t.qcow2,cache=unsafe,backing.file.filename=TEST_DIR/t.qcow2.base,backing.cache.no-flush=on,backing.cache.writeback=on,backing.node-name=backing,backing.file.node-name=backing-file,file.node-name=file
-nodefaults
+QEMU X.Y.Z monitor - type 'help' for more information
+(qemu) i[K[Din[K[D[Dinf[K[D[D[Dinfo[K[D[D[D[Dinfo
[K[D[D[D[D[Dinfo b[K[D[D[D[D[D[Dinfo
bl[K[D[D[D[D[D[D[Dinfo blo[K[D[D[D[D[D[D[D[Dinfo
bloc[K[D[D[D[D[D[D[D[D[Dinfo block[K
+ide0-hd0 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
+ Cache mode: writeback, ignore flushes
+ Backing file: TEST_DIR/t.qcow2.base (chain depth: 1)
+(qemu) i[K[Din[K[D[Dinf[K[D[D[Dinfo[K[D[D[D[Dinfo
[K[D[D[D[D[Dinfo b[K[D[D[D[D[D[Dinfo
bl[K[D[D[D[D[D[D[Dinfo blo[K[D[D[D[D[D[D[D[Dinfo
bloc[K[D[D[D[D[D[D[D[D[Dinfo
block[K[D[D[D[D[D[D[D[D[D[Dinfo block
[K[D[D[D[D[D[D[D[D[D[D[Dinfo block
f[K[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
fi[K[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
fil[K[D[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo block file[K
+
+file: TEST_DIR/t.qcow2 (file)
+ Cache mode: writeback, ignore flushes
+(qemu) i[K[Din[K[D[Dinf[K[D[D[Dinfo[K[D[D[D[Dinfo
[K[D[D[D[D[Dinfo b[K[D[D[D[D[D[Dinfo
bl[K[D[D[D[D[D[D[Dinfo blo[K[D[D[D[D[D[D[D[Dinfo
bloc[K[D[D[D[D[D[D[D[D[Dinfo
block[K[D[D[D[D[D[D[D[D[D[Dinfo block
[K[D[D[D[D[D[D[D[D[D[D[Dinfo block
b[K[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
ba[K[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
bac[K[D[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
back[K[D[D[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
backi[K[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
backin[K[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
backing[K
+backing: TEST_DIR/t.qcow2.base (qcow2, read-only)
+ Cache mode: writeback, ignore flushes
+(qemu) i[K[Din[K[D[Dinf[K[D[D[Dinfo[K[D[D[D[Dinfo
[K[D[D[D[D[Dinfo b[K[D[D[D[D[D[Dinfo
bl[K[D[D[D[D[D[D[Dinfo blo[K[D[D[D[D[D[D[D[Dinfo
bloc[K[D[D[D[D[D[D[D[D[Dinfo
block[K[D[D[D[D[D[D[D[D[D[Dinfo block
[K[D[D[D[D[D[D[D[D[D[D[Dinfo block
b[K[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
ba[K[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
bac[K[D[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
back[K[D[D[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
backi[K[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
backin[K[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
backing[K[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
backing-[K[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo block
backing-f[K[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo
block backing-fi[K[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D!
[D[Dinfo block
backing-fil[K[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[Dinfo
block backing-file[K
+
+backing-file: TEST_DIR/t.qcow2.base (file, read-only)
+ Cache mode: writeback, ignore flushes
+(qemu) q[K[Dqu[K[D[Dqui[K[D[D[Dquit[K
+
+Testing: -drive
file=TEST_DIR/t.qcow2,cache=invalid_value,backing.file.filename=TEST_DIR/t.qcow2.base,backing.cache.no-flush=on,backing.cache.writeback=on,backing.node-name=backing,backing.file.node-name=backing-file,file.node-name=file
-nodefaults
+QEMU_PROG: -drive
file=TEST_DIR/t.qcow2,cache=invalid_value,backing.file.filename=TEST_DIR/t.qcow2.base,backing.cache.no-flush=on,backing.cache.writeback=on,backing.node-name=backing,backing.file.node-name=backing-file,file.node-name=file:
invalid cache option
+
=== Specifying the protocol layer ===
--
1.8.3.1
- [Qemu-block] [PULL 34/48] iotests: Extend test 112 for qemu-img amend, (continued)
- [Qemu-block] [PULL 34/48] iotests: Extend test 112 for qemu-img amend, Kevin Wolf, 2015/12/18
- [Qemu-block] [PULL 24/48] qemu-iotests: Test reopen with node-name/driver options, Kevin Wolf, 2015/12/18
- [Qemu-block] [PULL 03/48] iotests: 124: don't reopen qcow2, Kevin Wolf, 2015/12/18
- [Qemu-block] [PULL 33/48] qcow2: Point to amend function in check, Kevin Wolf, 2015/12/18
- [Qemu-block] [PULL 40/48] block: fix bdrv_ioctl called from coroutine, Kevin Wolf, 2015/12/18
- [Qemu-block] [PULL 39/48] block: use drained section around bdrv_snapshot_delete, Kevin Wolf, 2015/12/18
- [Qemu-block] [PULL 35/48] qcow2: insert assert into qcow2_get_specific_info(), Kevin Wolf, 2015/12/18
- [Qemu-block] [PULL 31/48] qcow2: Add function for refcount order amendment, Kevin Wolf, 2015/12/18
- [Qemu-block] [PULL 04/48] qcow2: Add .bdrv_join_options callback, Kevin Wolf, 2015/12/18
- [Qemu-block] [PULL 06/48] mirror: Error out when a BDS would get two BBs, Kevin Wolf, 2015/12/18
- [Qemu-block] [PULL 22/48] qemu-iotests: Try setting cache mode for children,
Kevin Wolf <=
- [Qemu-block] [PULL 38/48] iotests: Update comments for bdrv_swap() in 094, Kevin Wolf, 2015/12/18
- [Qemu-block] [PULL 28/48] qcow2: Use abort() instead of assert(false), Kevin Wolf, 2015/12/18
- [Qemu-block] [PULL 25/48] progress: Allow regressing progress, Kevin Wolf, 2015/12/18
- [Qemu-block] [PULL 08/48] block: Consider all block layer options in append_open_options, Kevin Wolf, 2015/12/18
- [Qemu-block] [PULL 48/48] block/qapi: allow best-effort query, Kevin Wolf, 2015/12/18
- [Qemu-block] [PULL 27/48] qcow2: Use error_report() in qcow2_amend_options(), Kevin Wolf, 2015/12/18
- [Qemu-block] [PULL 29/48] qcow2: Split upgrade/downgrade paths for amend, Kevin Wolf, 2015/12/18
- [Qemu-block] [PULL 46/48] block/qapi: explicitly warn if !has_full_backing_filename, Kevin Wolf, 2015/12/18
- [Qemu-block] [PULL 13/48] block: reopen: Document option precedence and refactor accordingly, Kevin Wolf, 2015/12/18
- [Qemu-block] [PULL 10/48] block: Pass driver-specific options to .bdrv_refresh_filename(), Kevin Wolf, 2015/12/18