 69404d9e47
			
		
	
	
		69404d9e47
		
	
	
	
	
		
			
			The only thing the escape characters achieve is making the reference output unreadable and lines that are potentially so long that git doesn't want to put them into an email any more. Let's filter them out. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com>
		
			
				
	
	
		
			751 lines
		
	
	
		
			26 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			751 lines
		
	
	
		
			26 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| QA output created by 142
 | |
| Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=134217728
 | |
| Formatting 'TEST_DIR/t.IMGFMT.snap', fmt=IMGFMT size=134217728
 | |
| Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base
 | |
| 
 | |
| === Simple test for all cache modes ===
 | |
| 
 | |
| Testing: -drive file=TEST_DIR/t.qcow2,cache=none
 | |
| QEMU X.Y.Z monitor - type 'help' for more information
 | |
| (qemu) quit
 | |
| 
 | |
| Testing: -drive file=TEST_DIR/t.qcow2,cache=directsync
 | |
| QEMU X.Y.Z monitor - type 'help' for more information
 | |
| (qemu) quit
 | |
| 
 | |
| Testing: -drive file=TEST_DIR/t.qcow2,cache=writeback
 | |
| QEMU X.Y.Z monitor - type 'help' for more information
 | |
| (qemu) quit
 | |
| 
 | |
| Testing: -drive file=TEST_DIR/t.qcow2,cache=writethrough
 | |
| QEMU X.Y.Z monitor - type 'help' for more information
 | |
| (qemu) quit
 | |
| 
 | |
| Testing: -drive file=TEST_DIR/t.qcow2,cache=unsafe
 | |
| QEMU X.Y.Z monitor - type 'help' for more information
 | |
| (qemu) quit
 | |
| 
 | |
| Testing: -drive file=TEST_DIR/t.qcow2,cache=invalid_value
 | |
| QEMU_PROG: -drive file=TEST_DIR/t.qcow2,cache=invalid_value: invalid cache option
 | |
| 
 | |
| 
 | |
| === Check inheritance of cache modes ===
 | |
| 
 | |
| 
 | |
| --- Configure cache modes on the command line ---
 | |
| 
 | |
| cache.direct=on on none0
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
| 
 | |
| cache.direct=on on file
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
| 
 | |
| cache.direct=on on backing
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
| 
 | |
| cache.direct=on on backing-file
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback, direct
 | |
| 
 | |
| 
 | |
| cache.writeback=off on none0
 | |
|     Cache mode:       writethrough
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
| 
 | |
| cache.writeback=off on file
 | |
| QEMU_PROG: -drive if=none,file=TEST_DIR/t.qcow2,backing.file.filename=TEST_DIR/t.qcow2.base,node-name=image,backing.node-name=backing,backing.file.node-name=backing-file,file.node-name=file,file.cache.writeback=off: Block protocol 'file' doesn't support the option 'cache.writeback'
 | |
| 
 | |
| cache.writeback=off on backing
 | |
| QEMU_PROG: -drive if=none,file=TEST_DIR/t.qcow2,backing.file.filename=TEST_DIR/t.qcow2.base,node-name=image,backing.node-name=backing,backing.file.node-name=backing-file,file.node-name=file,backing.cache.writeback=off: Could not open backing file: Block format 'qcow2' does not support the option 'cache.writeback'
 | |
| 
 | |
| cache.writeback=off on backing-file
 | |
| QEMU_PROG: -drive if=none,file=TEST_DIR/t.qcow2,backing.file.filename=TEST_DIR/t.qcow2.base,node-name=image,backing.node-name=backing,backing.file.node-name=backing-file,file.node-name=file,backing.file.cache.writeback=off: Could not open backing file: Block protocol 'file' doesn't support the option 'cache.writeback'
 | |
| 
 | |
| 
 | |
| cache.no-flush=on on none0
 | |
|     Cache mode:       writeback, ignore flushes
 | |
|     Cache mode:       writeback, ignore flushes
 | |
|     Cache mode:       writeback, ignore flushes
 | |
|     Cache mode:       writeback, ignore flushes
 | |
|     Cache mode:       writeback, ignore flushes
 | |
| 
 | |
| cache.no-flush=on on file
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback, ignore flushes
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
| 
 | |
| cache.no-flush=on on backing
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback, ignore flushes
 | |
|     Cache mode:       writeback, ignore flushes
 | |
| 
 | |
| cache.no-flush=on on backing-file
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback, ignore flushes
 | |
| 
 | |
| --- Cache modes after reopen (live snapshot) ---
 | |
| 
 | |
| cache.direct=on on none0
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
| 
 | |
| cache.direct=on on file
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
| 
 | |
| cache.direct=on on backing
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
| 
 | |
| cache.direct=on on backing-file
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback, direct
 | |
| 
 | |
| 
 | |
| cache.writeback=off on none0
 | |
|     Cache mode:       writethrough
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
| 
 | |
| cache.writeback=off on file
 | |
| QEMU_PROG: -drive if=none,file=TEST_DIR/t.qcow2,backing.file.filename=TEST_DIR/t.qcow2.base,node-name=image,backing.node-name=backing,backing.file.node-name=backing-file,file.node-name=file,file.cache.writeback=off: Block protocol 'file' doesn't support the option 'cache.writeback'
 | |
| 
 | |
| cache.writeback=off on backing
 | |
| QEMU_PROG: -drive if=none,file=TEST_DIR/t.qcow2,backing.file.filename=TEST_DIR/t.qcow2.base,node-name=image,backing.node-name=backing,backing.file.node-name=backing-file,file.node-name=file,backing.cache.writeback=off: Could not open backing file: Block format 'qcow2' does not support the option 'cache.writeback'
 | |
| 
 | |
| cache.writeback=off on backing-file
 | |
| QEMU_PROG: -drive if=none,file=TEST_DIR/t.qcow2,backing.file.filename=TEST_DIR/t.qcow2.base,node-name=image,backing.node-name=backing,backing.file.node-name=backing-file,file.node-name=file,backing.file.cache.writeback=off: Could not open backing file: Block protocol 'file' doesn't support the option 'cache.writeback'
 | |
| 
 | |
| 
 | |
| cache.no-flush=on on none0
 | |
|     Cache mode:       writeback, ignore flushes
 | |
|     Cache mode:       writeback, ignore flushes
 | |
|     Cache mode:       writeback, ignore flushes
 | |
|     Cache mode:       writeback, ignore flushes
 | |
|     Cache mode:       writeback, ignore flushes
 | |
| 
 | |
| cache.no-flush=on on file
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback, ignore flushes
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
| 
 | |
| cache.no-flush=on on backing
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback, ignore flushes
 | |
|     Cache mode:       writeback, ignore flushes
 | |
| 
 | |
| cache.no-flush=on on backing-file
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback, ignore flushes
 | |
| 
 | |
| --- Change cache modes with reopen (qemu-io command, flags) ---
 | |
| 
 | |
| cache.direct=on on none0
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
| 
 | |
| cache.direct=on on file
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
| 
 | |
| cache.direct=on on backing
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
| 
 | |
| cache.direct=on on backing-file
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
| 
 | |
| 
 | |
| cache.writeback=off on none0
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
| 
 | |
| cache.writeback=off on file
 | |
| QEMU_PROG: -drive if=none,file=TEST_DIR/t.qcow2,backing.file.filename=TEST_DIR/t.qcow2.base,node-name=image,backing.node-name=backing,backing.file.node-name=backing-file,file.node-name=file,file.cache.writeback=off: Block protocol 'file' doesn't support the option 'cache.writeback'
 | |
| 
 | |
| cache.writeback=off on backing
 | |
| QEMU_PROG: -drive if=none,file=TEST_DIR/t.qcow2,backing.file.filename=TEST_DIR/t.qcow2.base,node-name=image,backing.node-name=backing,backing.file.node-name=backing-file,file.node-name=file,backing.cache.writeback=off: Could not open backing file: Block format 'qcow2' does not support the option 'cache.writeback'
 | |
| 
 | |
| cache.writeback=off on backing-file
 | |
| QEMU_PROG: -drive if=none,file=TEST_DIR/t.qcow2,backing.file.filename=TEST_DIR/t.qcow2.base,node-name=image,backing.node-name=backing,backing.file.node-name=backing-file,file.node-name=file,backing.file.cache.writeback=off: Could not open backing file: Block protocol 'file' doesn't support the option 'cache.writeback'
 | |
| 
 | |
| 
 | |
| cache.no-flush=on on none0
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
| 
 | |
| cache.no-flush=on on file
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct, ignore flushes
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
| 
 | |
| cache.no-flush=on on backing
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct, ignore flushes
 | |
|     Cache mode:       writeback, direct, ignore flushes
 | |
| 
 | |
| cache.no-flush=on on backing-file
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct, ignore flushes
 | |
| 
 | |
| --- Change cache modes with reopen (qemu-io command, options) ---
 | |
| 
 | |
| cache.direct=on on none0
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
| 
 | |
| cache.direct=on on file
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
| 
 | |
| cache.direct=on on backing
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
| 
 | |
| cache.direct=on on backing-file
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
| 
 | |
| 
 | |
| cache.writeback=off on none0
 | |
|     Cache mode:       writethrough, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
| 
 | |
| cache.writeback=off on file
 | |
| QEMU_PROG: -drive if=none,file=TEST_DIR/t.qcow2,backing.file.filename=TEST_DIR/t.qcow2.base,node-name=image,backing.node-name=backing,backing.file.node-name=backing-file,file.node-name=file,file.cache.writeback=off: Block protocol 'file' doesn't support the option 'cache.writeback'
 | |
| 
 | |
| cache.writeback=off on backing
 | |
| QEMU_PROG: -drive if=none,file=TEST_DIR/t.qcow2,backing.file.filename=TEST_DIR/t.qcow2.base,node-name=image,backing.node-name=backing,backing.file.node-name=backing-file,file.node-name=file,backing.cache.writeback=off: Could not open backing file: Block format 'qcow2' does not support the option 'cache.writeback'
 | |
| 
 | |
| cache.writeback=off on backing-file
 | |
| QEMU_PROG: -drive if=none,file=TEST_DIR/t.qcow2,backing.file.filename=TEST_DIR/t.qcow2.base,node-name=image,backing.node-name=backing,backing.file.node-name=backing-file,file.node-name=file,backing.file.cache.writeback=off: Could not open backing file: Block protocol 'file' doesn't support the option 'cache.writeback'
 | |
| 
 | |
| 
 | |
| cache.no-flush=on on none0
 | |
|     Cache mode:       writeback, direct, ignore flushes
 | |
|     Cache mode:       writeback, direct, ignore flushes
 | |
|     Cache mode:       writeback, direct, ignore flushes
 | |
|     Cache mode:       writeback, direct, ignore flushes
 | |
|     Cache mode:       writeback, direct, ignore flushes
 | |
| 
 | |
| cache.no-flush=on on file
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct, ignore flushes
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
| 
 | |
| cache.no-flush=on on backing
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct, ignore flushes
 | |
|     Cache mode:       writeback, direct, ignore flushes
 | |
| 
 | |
| cache.no-flush=on on backing-file
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct, ignore flushes
 | |
| 
 | |
| --- Change cache modes after snapshot ---
 | |
| 
 | |
| cache.direct=on on none0
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
| 
 | |
| cache.direct=on on file
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
| 
 | |
| cache.direct=on on backing
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
| 
 | |
| cache.direct=on on backing-file
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback, direct
 | |
| 
 | |
| 
 | |
| cache.writeback=off on none0
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
| 
 | |
| cache.writeback=off on file
 | |
| QEMU_PROG: -drive if=none,file=TEST_DIR/t.qcow2,backing.file.filename=TEST_DIR/t.qcow2.base,node-name=image,backing.node-name=backing,backing.file.node-name=backing-file,file.node-name=file,file.cache.writeback=off: Block protocol 'file' doesn't support the option 'cache.writeback'
 | |
| 
 | |
| cache.writeback=off on backing
 | |
| QEMU_PROG: -drive if=none,file=TEST_DIR/t.qcow2,backing.file.filename=TEST_DIR/t.qcow2.base,node-name=image,backing.node-name=backing,backing.file.node-name=backing-file,file.node-name=file,backing.cache.writeback=off: Could not open backing file: Block format 'qcow2' does not support the option 'cache.writeback'
 | |
| 
 | |
| cache.writeback=off on backing-file
 | |
| QEMU_PROG: -drive if=none,file=TEST_DIR/t.qcow2,backing.file.filename=TEST_DIR/t.qcow2.base,node-name=image,backing.node-name=backing,backing.file.node-name=backing-file,file.node-name=file,backing.file.cache.writeback=off: Could not open backing file: Block protocol 'file' doesn't support the option 'cache.writeback'
 | |
| 
 | |
| 
 | |
| cache.no-flush=on on none0
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, ignore flushes
 | |
|     Cache mode:       writeback, ignore flushes
 | |
|     Cache mode:       writeback, ignore flushes
 | |
|     Cache mode:       writeback, ignore flushes
 | |
| 
 | |
| cache.no-flush=on on file
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback, ignore flushes
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
| 
 | |
| cache.no-flush=on on backing
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback, ignore flushes
 | |
|     Cache mode:       writeback, ignore flushes
 | |
| 
 | |
| cache.no-flush=on on backing-file
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback, ignore flushes
 | |
| 
 | |
| --- Change cache mode in parent, child has explicit option in JSON ---
 | |
| 
 | |
|     Cache mode:       writeback, direct, ignore flushes
 | |
|     Cache mode:       writeback, direct, ignore flushes
 | |
|     Cache mode:       writeback, direct, ignore flushes
 | |
|     Cache mode:       writeback, ignore flushes
 | |
| 
 | |
| === Check that referenced BDSes don't inherit ===
 | |
| 
 | |
| 
 | |
| --- Configure cache modes on the command line ---
 | |
| 
 | |
| cache.direct=on on blk
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
| 
 | |
| cache.direct=on on file
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
| 
 | |
| cache.direct=on on backing
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback
 | |
| 
 | |
| cache.direct=on on backing-file
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback, direct
 | |
| 
 | |
| 
 | |
| cache.writeback=off on blk
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
| 
 | |
| cache.writeback=off on file
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
| 
 | |
| cache.writeback=off on backing
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
| 
 | |
| cache.writeback=off on backing-file
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
| 
 | |
| 
 | |
| cache.no-flush=on on blk
 | |
|     Cache mode:       writeback, ignore flushes
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
| 
 | |
| cache.no-flush=on on file
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback, ignore flushes
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
| 
 | |
| cache.no-flush=on on backing
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback, ignore flushes
 | |
|     Cache mode:       writeback
 | |
| 
 | |
| cache.no-flush=on on backing-file
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback, ignore flushes
 | |
| 
 | |
| --- Cache modes after reopen (live snapshot) ---
 | |
| 
 | |
| cache.direct=on on blk
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
| 
 | |
| cache.direct=on on file
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
| 
 | |
| cache.direct=on on backing
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback
 | |
| 
 | |
| cache.direct=on on backing-file
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback, direct
 | |
| 
 | |
| 
 | |
| cache.writeback=off on blk
 | |
|     Cache mode:       writethrough
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
| 
 | |
| cache.writeback=off on file
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
| 
 | |
| cache.writeback=off on backing
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
| 
 | |
| cache.writeback=off on backing-file
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
| 
 | |
| 
 | |
| cache.no-flush=on on blk
 | |
|     Cache mode:       writeback, ignore flushes
 | |
|     Cache mode:       writeback, ignore flushes
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
| 
 | |
| cache.no-flush=on on file
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback, ignore flushes
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
| 
 | |
| cache.no-flush=on on backing
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback, ignore flushes
 | |
|     Cache mode:       writeback
 | |
| 
 | |
| cache.no-flush=on on backing-file
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback, ignore flushes
 | |
| 
 | |
| --- Change cache modes with reopen (qemu-io command, flags) ---
 | |
| 
 | |
| cache.direct=on on blk
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
| 
 | |
| cache.direct=on on file
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
| 
 | |
| cache.direct=on on backing
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback
 | |
| 
 | |
| cache.direct=on on backing-file
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback, direct
 | |
| 
 | |
| 
 | |
| cache.writeback=off on blk
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
| 
 | |
| cache.writeback=off on file
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
| 
 | |
| cache.writeback=off on backing
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
| 
 | |
| cache.writeback=off on backing-file
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
| 
 | |
| 
 | |
| cache.no-flush=on on blk
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
| 
 | |
| cache.no-flush=on on file
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, ignore flushes
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
| 
 | |
| cache.no-flush=on on backing
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback, ignore flushes
 | |
|     Cache mode:       writeback
 | |
| 
 | |
| cache.no-flush=on on backing-file
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback, ignore flushes
 | |
| 
 | |
| === Reopening children instead of the root ===
 | |
| 
 | |
| 
 | |
| --- Basic reopen ---
 | |
| 
 | |
| cache.direct=on on none0
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
| 
 | |
| cache.direct=on on file
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
| 
 | |
| cache.direct=on on backing
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
| 
 | |
| cache.direct=on on backing-file
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
| 
 | |
| 
 | |
| cache.writeback=off on none0
 | |
|     Cache mode:       writethrough
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
| 
 | |
| cache.writeback=off on file
 | |
| QEMU_PROG: -drive if=none,file=TEST_DIR/t.qcow2,backing.file.filename=TEST_DIR/t.qcow2.base,node-name=image,backing.node-name=backing,backing.file.node-name=backing-file,file.node-name=file,file.cache.writeback=off: Block protocol 'file' doesn't support the option 'cache.writeback'
 | |
| 
 | |
| cache.writeback=off on backing
 | |
| QEMU_PROG: -drive if=none,file=TEST_DIR/t.qcow2,backing.file.filename=TEST_DIR/t.qcow2.base,node-name=image,backing.node-name=backing,backing.file.node-name=backing-file,file.node-name=file,backing.cache.writeback=off: Could not open backing file: Block format 'qcow2' does not support the option 'cache.writeback'
 | |
| 
 | |
| cache.writeback=off on backing-file
 | |
| QEMU_PROG: -drive if=none,file=TEST_DIR/t.qcow2,backing.file.filename=TEST_DIR/t.qcow2.base,node-name=image,backing.node-name=backing,backing.file.node-name=backing-file,file.node-name=file,backing.file.cache.writeback=off: Could not open backing file: Block protocol 'file' doesn't support the option 'cache.writeback'
 | |
| 
 | |
| 
 | |
| cache.no-flush=on on none0
 | |
|     Cache mode:       writeback, ignore flushes
 | |
|     Cache mode:       writeback, ignore flushes
 | |
|     Cache mode:       writeback, ignore flushes
 | |
|     Cache mode:       writeback, direct, ignore flushes
 | |
|     Cache mode:       writeback, direct, ignore flushes
 | |
| 
 | |
| cache.no-flush=on on file
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback, ignore flushes
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct
 | |
| 
 | |
| cache.no-flush=on on backing
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback, direct, ignore flushes
 | |
|     Cache mode:       writeback, direct, ignore flushes
 | |
| 
 | |
| cache.no-flush=on on backing-file
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, direct, ignore flushes
 | |
| 
 | |
| --- Change cache mode after reopening child ---
 | |
| 
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback
 | |
|     Cache mode:       writeback, direct
 | |
|     Cache mode:       writeback, ignore flushes
 | |
| *** done
 |