[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 19/21] qemu-iotests: Try setting cache mode for c
From: |
Kevin Wolf |
Subject: |
[Qemu-devel] [PATCH v2 19/21] qemu-iotests: Try setting cache mode for children |
Date: |
Mon, 23 Nov 2015 16:59:58 +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-devel] [PATCH v2 16/21] block: reopen: Extract QemuOpts for generic block layer options, (continued)
- [Qemu-devel] [PATCH v2 16/21] block: reopen: Extract QemuOpts for generic block layer options, Kevin Wolf, 2015/11/23
- [Qemu-devel] [PATCH v2 11/21] block: Add infrastructure for option inheritance, Kevin Wolf, 2015/11/23
- [Qemu-devel] [PATCH v2 17/21] block: Move cache options into options QDict, Kevin Wolf, 2015/11/23
- [Qemu-devel] [PATCH v2 04/21] block: Allow references for backing files, Kevin Wolf, 2015/11/23
- [Qemu-devel] [PATCH v2 18/21] blkdebug: Enable reopen, Kevin Wolf, 2015/11/23
- [Qemu-devel] [PATCH v2 19/21] qemu-iotests: Try setting cache mode for children,
Kevin Wolf <=
- [Qemu-devel] [PATCH v2 21/21] qemu-iotests: Test reopen with node-name/driver options, Kevin Wolf, 2015/11/23
- [Qemu-devel] [PATCH v2 20/21] qemu-iotests: Test cache mode option inheritance, Kevin Wolf, 2015/11/23