• E
    iotests: Add test 197 for covering copy-on-read · 46174339
    Eric Blake 提交于
    Add a test for qcow2 copy-on-read behavior, including exposure
    for the just-fixed bugs.
    
    The copy-on-read behavior is always to a qcow2 image, but the
    test is careful to allow running with most image protocol/format
    combos as the backing file being copied from (luks being the
    exception, as it is harder to pass the right secret to all the
    right places).  In fact, for './check nbd', this appears to be
    the first time we've had a qcow2 image wrapping NBD, requiring
    an additional line in _filter_img_create to match the similar
    line in _filter_img_info.
    
    Invoking blkdebug to prove we don't write too much took some
    effort to get working; and it requires that $TEST_WRAP (based
    on $TEST_DIR) not be subject to word splitting.  We may decide
    later to have the entire iotests suite use relative rather than
    absolute names, to avoid problems inherited by the absolute
    name of $PWD or $TEST_DIR, at which point the sanity check in
    this commit could be simplified.
    
    This test requires at least 2G of consecutive memory to succeed;
    as such, it is prone to spurious failures, particularly on
    32-bit machines under load.  This situation is detected and
    triggers an early exit to skip the test, rather than a failure.
    To manually provoke this setup on a beefier machine, I used:
      $ (ulimit -S -v 1000000; ./check -qcow2 197)
    Signed-off-by: NEric Blake <eblake@redhat.com>
    Signed-off-by: NKevin Wolf <kwolf@redhat.com>
    46174339
197.out 1.2 KB