iotests: Specify explicit backing format where sensible
commitb66ff2c29817f5efa18f5120fd6f089fbf59a933
authorEric Blake <eblake@redhat.com>
Mon, 6 Jul 2020 20:39:52 +0000 (6 15:39 -0500)
committerKevin Wolf <kwolf@redhat.com>
Tue, 14 Jul 2020 13:18:59 +0000 (14 15:18 +0200)
tree42b320a5f86e5655bf5f41bd3b493fbca1f1ec82
parentbc5ee6da7122f6fe93ed07241a44315a331487e9
iotests: Specify explicit backing format where sensible

There are many existing qcow2 images that specify a backing file but
no format.  This has been the source of CVEs in the past, but has
become more prominent of a problem now that libvirt has switched to
-blockdev.  With older -drive, at least the probing was always done by
qemu (so the only risk of a changed format between successive boots of
a guest was if qemu was upgraded and probed differently).  But with
newer -blockdev, libvirt must specify a format; if libvirt guesses raw
where the image was formatted, this results in data corruption visible
to the guest; conversely, if libvirt guesses qcow2 where qemu was
using raw, this can result in potential security holes, so modern
libvirt instead refuses to use images without explicit backing format.

The change in libvirt to reject images without explicit backing format
has pointed out that a number of tools have been far too reliant on
probing in the past.  It's time to set a better example in our own
iotests of properly setting this parameter.

iotest calls to create, rebase, and convert are all impacted to some
degree.  It's a bit annoying that we are inconsistent on command line
- while all of those accept -o backing_file=...,backing_fmt=..., the
shortcuts are different: create and rebase have -b and -F, while
convert has -B but no -F.  (amend has no shortcuts, but the previous
patch just deprecated the use of amend to change backing chains).

Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <20200706203954.341758-9-eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
119 files changed:
tests/qemu-iotests/017
tests/qemu-iotests/017.out
tests/qemu-iotests/018
tests/qemu-iotests/018.out
tests/qemu-iotests/019
tests/qemu-iotests/019.out
tests/qemu-iotests/020
tests/qemu-iotests/020.out
tests/qemu-iotests/024
tests/qemu-iotests/024.out
tests/qemu-iotests/028
tests/qemu-iotests/028.out
tests/qemu-iotests/030
tests/qemu-iotests/034
tests/qemu-iotests/034.out
tests/qemu-iotests/037
tests/qemu-iotests/037.out
tests/qemu-iotests/038
tests/qemu-iotests/038.out
tests/qemu-iotests/039
tests/qemu-iotests/039.out
tests/qemu-iotests/040
tests/qemu-iotests/041
tests/qemu-iotests/042
tests/qemu-iotests/043
tests/qemu-iotests/043.out
tests/qemu-iotests/046
tests/qemu-iotests/046.out
tests/qemu-iotests/050
tests/qemu-iotests/050.out
tests/qemu-iotests/051
tests/qemu-iotests/051.out
tests/qemu-iotests/051.pc.out
tests/qemu-iotests/056
tests/qemu-iotests/060
tests/qemu-iotests/060.out
tests/qemu-iotests/061
tests/qemu-iotests/061.out
tests/qemu-iotests/069
tests/qemu-iotests/069.out
tests/qemu-iotests/073
tests/qemu-iotests/073.out
tests/qemu-iotests/082
tests/qemu-iotests/082.out
tests/qemu-iotests/085
tests/qemu-iotests/085.out
tests/qemu-iotests/089
tests/qemu-iotests/089.out
tests/qemu-iotests/095
tests/qemu-iotests/095.out
tests/qemu-iotests/097
tests/qemu-iotests/097.out
tests/qemu-iotests/098
tests/qemu-iotests/098.out
tests/qemu-iotests/110
tests/qemu-iotests/110.out
tests/qemu-iotests/122
tests/qemu-iotests/122.out
tests/qemu-iotests/126
tests/qemu-iotests/126.out
tests/qemu-iotests/127
tests/qemu-iotests/127.out
tests/qemu-iotests/129
tests/qemu-iotests/133
tests/qemu-iotests/133.out
tests/qemu-iotests/139
tests/qemu-iotests/141
tests/qemu-iotests/141.out
tests/qemu-iotests/142
tests/qemu-iotests/142.out
tests/qemu-iotests/153
tests/qemu-iotests/153.out
tests/qemu-iotests/154
tests/qemu-iotests/154.out
tests/qemu-iotests/155
tests/qemu-iotests/156
tests/qemu-iotests/156.out
tests/qemu-iotests/158
tests/qemu-iotests/158.out
tests/qemu-iotests/161
tests/qemu-iotests/161.out
tests/qemu-iotests/176
tests/qemu-iotests/176.out
tests/qemu-iotests/177
tests/qemu-iotests/177.out
tests/qemu-iotests/179
tests/qemu-iotests/179.out
tests/qemu-iotests/189
tests/qemu-iotests/189.out
tests/qemu-iotests/191
tests/qemu-iotests/191.out
tests/qemu-iotests/195
tests/qemu-iotests/195.out
tests/qemu-iotests/198
tests/qemu-iotests/198.out
tests/qemu-iotests/204
tests/qemu-iotests/204.out
tests/qemu-iotests/216
tests/qemu-iotests/224
tests/qemu-iotests/225
tests/qemu-iotests/225.out
tests/qemu-iotests/228
tests/qemu-iotests/245
tests/qemu-iotests/249
tests/qemu-iotests/249.out
tests/qemu-iotests/252
tests/qemu-iotests/257
tests/qemu-iotests/267
tests/qemu-iotests/267.out
tests/qemu-iotests/270
tests/qemu-iotests/270.out
tests/qemu-iotests/273
tests/qemu-iotests/273.out
tests/qemu-iotests/274
tests/qemu-iotests/274.out
tests/qemu-iotests/279
tests/qemu-iotests/279.out
tests/qemu-iotests/290
tests/qemu-iotests/290.out