On 20.12.2016 20:15, Eric Blake wrote: > Use blkdebug's new geometry constraints to emulate setups that > have caused recent regression fixes: write zeroes asserting > when running through a loopback block device with max-transfer > smaller than cluster size, and discard rounding away portions > of requests not aligned to preferred boundaries. Also, add > coverage that the block layer is honoring max transfer limits. > > For now, a single iotest performs all actions, with the idea > that we can add future blkdebug constraint test cases in the > same file; but it can be split into multiple iotests if we find > reason to run one portion of the test in more setups than what > are possible in the other. > > For reference, the final portion of the test (checking whether > discard passes as much as possible to the lowest layers of the > stack) works as follows: > > qemu-io: discard 30M at 80000001, passed to blkdebug > blkdebug: discard 511 bytes at 80000001, -ENOTSUP (smaller than > blkdebug's 512 align) > blkdebug: discard 14371328 bytes at 80000512, passed to qcow2 > qcow2: discard 739840 bytes at 80000512, -ENOTSUP (smaller than > qcow2's 1M align) > qcow2: discard 13M bytes at 77M, succeeds > blkdebug: discard 15M bytes at 90M, passed to qcow2 > qcow2: discard 15M bytes at 90M, succeeds > blkdebug: discard 1356800 bytes at 105M, passed to qcow2 > qcow2: discard 1M at 105M, succeeds > qcow2: discard 308224 bytes at 106M, -ENOTSUP (smaller than qcow2's > 1M align) > blkdebug: discard 1 byte at 111457280, -ENOTSUP (smaller than > blkdebug's 512 align) > > Signed-off-by: Eric Blake <[email protected]> > > --- > v4: clean up some comments, nicer backing file creation, more commit message > v3: make comments tied more to test at hand, rather than the > particular hardware that led to the earlier patches being tested > v2: new patch > --- > tests/qemu-iotests/173 | 114 > +++++++++++++++++++++++++++++++++++++++++++++ > tests/qemu-iotests/173.out | 49 +++++++++++++++++++ > tests/qemu-iotests/group | 1 + > 3 files changed, 164 insertions(+) > create mode 100755 tests/qemu-iotests/173 > create mode 100644 tests/qemu-iotests/173.out
Reviewed-by: Max Reitz <[email protected]>
signature.asc
Description: OpenPGP digital signature
