qemu-e2k/tests/qemu-iotests
Kevin Wolf e4603fe139 qcow2: Fix header update with overridden backing file
In recent qemu versions, it is possible to override the backing file
name and format that is stored in the image file with values given at
runtime. In such cases, the temporary override could end up in the
image header if the qcow2 header was updated, while obviously correct
behaviour would be to leave the on-disk backing file path/format
unchanged.

Fix this and add a test case for it.

Reported-by: Michael Tokarev <mjt@tls.msk.ru>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-id: 1428411796-2852-1-git-send-email-kwolf@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2015-04-08 10:29:20 +01:00
..
sample_images qemu-iotests: Test writing non-raw image headers to raw image 2014-12-10 10:31:13 +01:00
.gitignore gitignore: Track common.env in iotests gitignore 2015-03-10 08:15:34 +03:00
001
001.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
002
002.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
003
003.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
004 iotests: Drop vpc from 004's and 104's format list 2015-03-10 14:02:24 +01:00
004.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
005
005.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
007 iotests: Prepare for refcount_bits option 2015-03-10 14:02:21 +01:00
007.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
008
008.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
009
009.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
010
010.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
011
011.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
012
012.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
013
013.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
014
014.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
015 iotests: Prepare for refcount_bits option 2015-03-10 14:02:21 +01:00
015.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
017
017.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
018
018.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
019 block: qemu-iotests: make test 019 and 086 work with spaced pathnames 2014-04-29 16:19:37 +02:00
019.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
020
020.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
021
021.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
022
022.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
023
023.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
024
024.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
025 qemu-iotests: Run 025 for Archipelago block driver 2014-09-10 10:41:29 +02:00
025.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
026 iotests: Prepare for refcount_bits option 2015-03-10 14:02:21 +01:00
026.out blkdebug: fix "once" rule 2015-03-10 14:02:21 +01:00
026.out.nocache
027
027.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
028 qemu-iotests: Fix 028 reference output for qed 2014-08-20 11:51:28 +02:00
028.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
029 iotests: Prepare for refcount_bits option 2015-03-10 14:02:21 +01:00
029.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
030 qemu-iotests: Add qemu-io format option in Python tests 2014-12-10 10:31:12 +01:00
030.out
031 iotests: Use $PYTHON for Python scripts 2014-06-27 20:00:00 +02:00
031.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
032
032.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
033 qemu-iotests: Test unaligned 4k zero write 2015-03-27 10:01:12 +00:00
033.out qemu-iotests: Test unaligned 4k zero write 2015-03-27 10:01:12 +00:00
034
034.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
035
035.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
036 qcow2: Fix error path for unknown incompatible features 2014-07-18 13:12:15 +01:00
036.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
037
037.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
038
038.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
039 iotests: Fix test 039 2014-12-12 15:48:26 +00:00
039.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
040 qemu-iotests: Add qemu-io format option in Python tests 2014-12-10 10:31:12 +01:00
040.out qemu-iotests: Test BLOCK_JOB_READY event for 0Kb image active commit 2014-06-26 13:51:00 +02:00
041 iotests: Omit length/offset test in 040 and 041 2014-11-03 11:41:48 +00:00
041.out mirror: Fix qiov size for short requests 2014-07-07 09:15:29 +02:00
042
042.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
043
043.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
044
044.out qcow2: Don't rely on free_cluster_index in alloc_refcount_block() (CVE-2014-0147) 2014-04-01 15:21:03 +02:00
045
045.out
046
046.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
047
047.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
048 qemu-iotests: Use qemu-io -f $IMGFMT 2014-12-10 10:31:12 +01:00
048.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
049
049.out block: Deprecate QCOW/QCOW2 encryption 2015-03-16 17:07:25 +01:00
050
050.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
051 Add testcase for scsi-hd devices without drive property 2015-03-10 14:02:24 +01:00
051.out iotests: Update 051's reference output 2015-03-16 17:07:25 +01:00
052 qemu-iotests: Fix supported cache modes for 052 2014-10-03 10:30:33 +01:00
052.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
053
053.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
054 iotests: Use $PYTHON for Python scripts 2014-06-27 20:00:00 +02:00
054.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
055 block: Fix blockdev-backup not to use funky error class 2015-03-19 16:02:59 +01:00
055.out qemu-iotests: Test blockdev-backup in 055 2015-01-13 11:47:56 +00:00
056 qemu-iotests: Improve and make use of QMPTestCase.wait_until_completed() 2014-04-25 18:05:05 +02:00
056.out
057
057.out
058 iotests: Prepare for refcount_bits option 2015-03-10 14:02:21 +01:00
058.out
059 iotests: Add test for vmdk JSON file names 2014-12-12 13:14:10 +00:00
059.out iotests: Add test for vmdk JSON file names 2014-12-12 13:14:10 +00:00
060 iotests: Add tests for more corruption cases 2015-01-23 18:17:05 +01:00
060.out qcow2: Add refcount_bits to format-specific info 2015-03-10 14:02:20 +01:00
061 iotests: Expand test 061 2014-11-03 11:41:49 +00:00
061.out qemu-img: Fix convert, amend error messages for unknown options 2015-03-16 17:07:25 +01:00
062
062.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
063
063.out
064 iotests: Lower 064's memory usage 2015-01-23 12:41:32 -05:00
064.out iotests: Lower 064's memory usage 2015-01-23 12:41:32 -05:00
065 qcow2: Add refcount_bits to format-specific info 2015-03-10 14:02:20 +01:00
065.out
066
066.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
067 iotests: Prepare for refcount_bits option 2015-03-10 14:02:21 +01:00
067.out qcow2: Add refcount_bits to format-specific info 2015-03-10 14:02:20 +01:00
068
068.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
069 block: delete cow block driver 2014-09-22 11:39:45 +01:00
069.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
070 iotests: Use _img_info 2014-10-04 19:18:17 +01:00
070.out iotests: Use _img_info 2014-10-04 19:18:17 +01:00
071 iotests: Filter out "I/O thread spun..." warning 2015-01-13 11:47:56 +00:00
071.out iotests: Filter out "I/O thread spun..." warning 2015-01-13 11:47:56 +00:00
072 block: delete cow block driver 2014-09-22 11:39:45 +01:00
072.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
073
073.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
074
074.out
075 block: qemu-iotests change _supported_proto to file once more. 2014-10-23 15:34:01 +02:00
075.out block/cloop: fix offsets[] size off-by-one 2014-04-01 13:59:47 +02:00
076 iotests: add v2 parallels sample image and simple test for it 2014-11-03 09:48:41 +00:00
076.out iotests: add v2 parallels sample image and simple test for it 2014-11-03 09:48:41 +00:00
077 qemu-iotests: Use qemu-io -f $IMGFMT 2014-12-10 10:31:12 +01:00
077.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
078 block: qemu-iotests change _supported_proto to file once more. 2014-10-23 15:34:01 +02:00
078.out bochs: Fix catalog size check 2014-04-11 13:59:49 +02:00
079 iotests: Prepare for refcount_bits option 2015-03-10 14:02:21 +01:00
079.out iotests: Prepare for refcount_bits option 2015-03-10 14:02:21 +01:00
080 iotests: Prepare for refcount_bits option 2015-03-10 14:02:21 +01:00
080.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
081 iotests: Filter out "I/O thread spun..." warning 2015-01-13 11:47:56 +00:00
081.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
082 qemu-iotests: 082: Filter the real disk size 2014-12-10 10:31:16 +01:00
082.out qcow2: Allow creation with refcount order != 4 2015-03-10 14:02:21 +01:00
083 nbd: Improve error messages 2015-02-06 17:24:22 +01:00
083.out nbd: Improve error messages 2015-02-06 17:24:22 +01:00
084 block/vdi: Limit maximum size even futher 2014-11-09 23:39:50 +01:00
084.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
085 block: qemu-iotests - update 085 to use common.qemu 2014-05-09 20:57:32 +02:00
085.out qcow2: Allow creation with refcount order != 4 2015-03-10 14:02:21 +01:00
086 block: qemu-iotests change _supported_proto to file once more. 2014-10-23 15:34:01 +02:00
086.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
087 iotests: Filter out "I/O thread spun..." warning 2015-01-13 11:47:56 +00:00
087.out block: Deprecate QCOW/QCOW2 encryption 2015-03-16 17:07:25 +01:00
088 block: qemu-iotests change _supported_proto to file once more. 2014-10-23 15:34:01 +02:00
088.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
089 iotests: Prepare for refcount_bits option 2015-03-10 14:02:21 +01:00
089.out qcow2: Add refcount_bits to format-specific info 2015-03-10 14:02:20 +01:00
090 block: qemu-iotests change _supported_proto to file once more. 2014-10-23 15:34:01 +02:00
090.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
091 qemu-iotests: Handle cache mode option in 091 2014-05-28 14:22:25 +02:00
091.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
092 block: qemu-iotests change _supported_proto to file once more. 2014-10-23 15:34:01 +02:00
092.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
093 qemu-iotests: Add 093 for IO throttling 2015-02-16 15:07:18 +00:00
093.out qemu-iotests: Add 093 for IO throttling 2015-02-16 15:07:18 +00:00
094 iotests: Add test for drive-mirror with NBD target 2015-02-16 14:36:03 +00:00
094.out iotests: Add test for drive-mirror with NBD target 2015-02-16 14:36:03 +00:00
095 iotests: Use _img_info 2014-10-04 19:18:17 +01:00
095.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
097 iotests: Add test for backing-chain commits 2014-11-03 11:41:48 +00:00
097.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
098 iotests: Add test for qcow2's bdrv_make_empty 2014-11-03 11:41:48 +00:00
098.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
099 iotests: Filter out "I/O thread spun..." warning 2015-01-13 11:47:56 +00:00
099.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
100 iotests: Fix 100 for nbd 2015-02-06 17:24:22 +01:00
100.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
101 qemu-iotests: add test case 101 for short file I/O 2014-08-22 11:01:12 +02:00
101.out qemu-iotests: add test case 101 for short file I/O 2014-08-22 11:01:12 +02:00
102 iotests: Add test for external image truncation 2014-11-03 11:41:47 +00:00
102.out iotests: Add test for external image truncation 2014-11-03 11:41:47 +00:00
103 block: qemu-iotests change _supported_proto to file once more. 2014-10-23 15:34:01 +02:00
103.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
104 iotests: Drop vpc from 004's and 104's format list 2015-03-10 14:02:24 +01:00
104.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
105 vmdk: Fix integer overflow in offset calculation 2014-10-03 10:30:33 +01:00
105.out vmdk: Fix integer overflow in offset calculation 2014-10-03 10:30:33 +01:00
107 block: qemu-iotest 107 supports NFS 2014-11-03 11:41:48 +00:00
107.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
108 iotests: Prepare for refcount_bits option 2015-03-10 14:02:21 +01:00
108.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
109 qemu-iotests: Test writing non-raw image headers to raw image 2014-12-10 10:31:13 +01:00
109.out qemu-iotests: Test writing non-raw image headers to raw image 2014-12-10 10:31:13 +01:00
110 iotests: Add test for relative backing file names 2015-01-13 11:47:56 +00:00
110.out iotests: Add test for relative backing file names 2015-01-13 11:47:56 +00:00
111 iotests: Add test for non-existing backing file 2014-11-06 12:45:47 +01:00
111.out iotests: Add test for non-existing backing file 2014-11-06 12:45:47 +01:00
112 iotests: Add test for different refcount widths 2015-03-10 14:02:21 +01:00
112.out iotests: Add test for different refcount widths 2015-03-10 14:02:21 +01:00
113 iotests: Add test for unsupported image creation 2014-12-10 10:31:20 +01:00
113.out iotests: Add test for unsupported image creation 2014-12-10 10:31:20 +01:00
114 block: Don't probe for unknown backing file format 2014-12-10 10:31:13 +01:00
114.out block: Don't probe for unknown backing file format 2014-12-10 10:31:13 +01:00
115 iotests: Test non-self-referential qcow2 refblocks 2015-03-16 12:10:30 -04:00
115.out iotests: Test non-self-referential qcow2 refblocks 2015-03-16 12:10:30 -04:00
116 qemu-iotests: add 116 invalid QED input file tests 2015-02-06 17:24:21 +01:00
116.out qemu-iotests: add 116 invalid QED input file tests 2015-02-06 17:24:21 +01:00
121 iotests: Add tests for refcount table growth 2015-03-16 12:10:30 -04:00
121.out iotests: Add tests for refcount table growth 2015-03-16 12:10:30 -04:00
123 iotests: Add test for qemu-img convert to NBD 2015-02-16 15:07:18 +00:00
123.out iotests: Add test for qemu-img convert to NBD 2015-02-16 15:07:18 +00:00
128 iotests: add O_DIRECT alignment probing test 2015-03-10 14:02:24 +01:00
128.out iotests: add O_DIRECT alignment probing test 2015-03-10 14:02:24 +01:00
130 qcow2: Fix header update with overridden backing file 2015-04-08 10:29:20 +01:00
130.out qcow2: Fix header update with overridden backing file 2015-04-08 10:29:20 +01:00
check qemu-iotests: Speed up make check-block 2015-01-13 11:47:55 +00:00
common qemu-iotests: Use qemu-io -f $IMGFMT 2014-12-10 10:31:12 +01:00
common.config qemu-iotests: Replace "/bin/true" with "true" 2015-01-13 13:43:28 +00:00
common.filter iotests: Prepare for refcount_bits option 2015-03-10 14:02:21 +01:00
common.pattern
common.qemu iotests: Add "wait" functionality to _cleanup_qemu 2015-02-16 14:36:03 +00:00
common.rc iotests: Specify format for qemu-nbd 2015-02-06 17:24:21 +01:00
COPYING
group qcow2: Fix header update with overridden backing file 2015-04-08 10:29:20 +01:00
iotests.py qemu-iotests: Allow caller to disable underscore convertion for qmp 2015-02-16 15:07:18 +00:00
Makefile
nbd-fault-injector.py tests: add nbd-fault-injector.py utility 2014-03-14 16:28:28 +01:00
qcow2.py qcow2.py: Add required padding for header extensions 2014-12-10 10:31:13 +01:00
qed.py
README
socket_scm_helper.c iotests: Send the correct fd in socket_scm_helper 2014-09-12 10:27:54 +02:00

=== This is the QEMU I/O test suite ===

* Intro

This package contains a simple test suite for the I/O layer of qemu.
It does not require a guest, but only the qemu, qemu-img and qemu-io
binaries.  This does limit it to exercise the low-level I/O path only
but no actual block drivers like ide, scsi or virtio.

* Usage

Just run ./check to run all tests for the raw image format, or ./check
-qcow2 to test the qcow2 image format.  The output of ./check -h explains
additional options to test further image formats or I/O methods.

* Feedback and patches

Please send improvements to the test suite, general feedback or just
reports of failing tests cases to qemu-devel@savannah.nongnu.org.