On 09/15/2017 12:02 PM, Kevin Wolf wrote: > This involves a temporary read-write reopen if the backing file link in > the middle of a backing file chain should be changed and is therefore a > good test for the latest bdrv_reopen() vs. op blockers fixes. > > Signed-off-by: Kevin Wolf <kw...@redhat.com> > --- > > I actually managed to find a simple case that reproduces the bug that > is fixed in this series, but outside of my commit job improvements that > originally led me to this work. > > tests/qemu-iotests/195 | 92 > ++++++++++++++++++++++++++++++++++++++++++++++ > tests/qemu-iotests/195.out | 78 +++++++++++++++++++++++++++++++++++++++ > tests/qemu-iotests/group | 1 +
The usual collision in test numbering ;) > +_cleanup() > +{ > + _cleanup_test_img > + rm -f "$TEST_IMG.mid" > +} > +trap "_cleanup; exit \$status" 0 1 2 3 15 Semantic conflict with Jeff's work to add './check -s' to save intermediate files in a per-test temp directory. > + > +echo > +echo "Change backing file of mid (opened read-only)" > +echo > + > +run_qemu -drive if=none,file="$TEST_IMG",backing.node-name=mid <<EOF > +{"execute":"qmp_capabilities"} > +{"execute":"change-backing-file", > "arguments":{"device":"none0","image-node-name":"mid","backing-file":"/dev/null"}} Since the images don't contain any content, I guess this works. But another possible change would be rewriting the backing file to alternate between absolute and relative (or even between 'file' and './file') (so that it's pointing to the same file at all times, just by different names) > +{"execute":"quit"} > +EOF > + > +TEST_IMG="$TEST_IMG.mid" _img_info > + > +echo > +echo "Change backing file of top (opened writable)" > +echo > + > +TEST_IMG="$TEST_IMG.mid" _make_test_img -b "$TEST_IMG.base" > + > +run_qemu -drive if=none,file="$TEST_IMG",node-name=top <<EOF > +{"execute":"qmp_capabilities"} > +{"execute":"change-backing-file", > "arguments":{"device":"none0","image-node-name":"top","backing-file":"/dev/null"}} > +{"execute":"quit"} You've quit qemu between runs. Would we get any further coverage by doing: change mid change active change mid all within a single run? (That is, make SURE that actions on one part of the graph don't interfere with later actions elsewhere) -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org
signature.asc
Description: OpenPGP digital signature