Files
apfstests/tests/btrfs/055.out
T
Filipe David Borba Manana 36271c9b68 btrfs: add test for btrfs cloning with file holes
Regression test for the btrfs ioctl clone operation when the source range
contains hole(s) and the FS has the NO_HOLES feature enabled (file holes
don't need file extent items in the btree to represent them).

This issue is fixed by the following linux kernel btrfs patch:

    Btrfs: fix clone to deal with holes when NO_HOLES feature is enabled

Signed-off-by: Filipe David Borba Manana <fdmanana@gmail.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
2014-06-18 09:29:00 +10:00

348 lines
10 KiB
Plaintext

QA output created by 055
Testing without the NO_HOLES feature
wrote 8192/8192 bytes at offset 0
XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
wrote 8192/8192 bytes at offset 8192
XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
wrote 8192/8192 bytes at offset 24576
XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
wrote 8192/8192 bytes at offset 32768
XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
wrote 98304/98304 bytes at offset 0
XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
1) Check both extents and the hole were cloned
0000000 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
*
0020000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0040000 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04
*
0060000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
*
0300000
2) Check half hole and one 8Kb extent were cloned
0000000 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
*
0020000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0040000 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04
*
0060000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
*
0100000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0110000 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04
*
0130000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
*
0300000
3) Check that 2 extents of 8kb eacg and a 4kb hole were cloned
0000000 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
*
0020000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0040000 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04
*
0060000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
*
0100000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0110000 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04
*
0130000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
*
0200000 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
*
0220000 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
*
0240000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0250000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
*
0300000
4) Check that 4kb of 1 extent and 8Kb of an hole were cloned
0000000 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
*
0020000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0040000 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04
*
0060000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
*
0100000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0110000 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04
*
0130000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
*
0200000 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
*
0220000 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
*
0240000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0250000 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05
*
0260000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0300000
5) Check that 4kb of 1 extent and 8Kb of an hole were cloned and file size increased
0000000 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
*
0020000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0040000 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04
*
0060000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
*
0100000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0110000 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04
*
0130000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
*
0200000 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
*
0220000 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
*
0240000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0250000 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05
*
0260000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0270000 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05
*
0300000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0320000
6) Check that 8kb of the hole were cloned
0000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0040000 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04
*
0060000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
*
0100000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0110000 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04
*
0130000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
*
0200000 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
*
0220000 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
*
0240000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0250000 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05
*
0260000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0270000 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05
*
0300000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0320000
7) Check that 32kb of the hole were cloned and the file size increased
0000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0040000 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04
*
0060000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
*
0100000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0110000 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04
*
0130000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
*
0200000 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
*
0220000 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
*
0240000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0250000 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05
*
0260000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0270000 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05
*
0300000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0420000
Testing with the NO_HOLES feature enabled
wrote 8192/8192 bytes at offset 0
XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
wrote 8192/8192 bytes at offset 8192
XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
wrote 8192/8192 bytes at offset 24576
XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
wrote 8192/8192 bytes at offset 32768
XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
wrote 98304/98304 bytes at offset 0
XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
1) Check both extents and the hole were cloned
0000000 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
*
0020000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0040000 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04
*
0060000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
*
0300000
2) Check half hole and one 8Kb extent were cloned
0000000 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
*
0020000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0040000 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04
*
0060000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
*
0100000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0110000 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04
*
0130000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
*
0300000
3) Check that 2 extents of 8kb eacg and a 4kb hole were cloned
0000000 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
*
0020000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0040000 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04
*
0060000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
*
0100000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0110000 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04
*
0130000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
*
0200000 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
*
0220000 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
*
0240000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0250000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
*
0300000
4) Check that 4kb of 1 extent and 8Kb of an hole were cloned
0000000 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
*
0020000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0040000 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04
*
0060000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
*
0100000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0110000 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04
*
0130000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
*
0200000 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
*
0220000 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
*
0240000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0250000 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05
*
0260000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0300000
5) Check that 4kb of 1 extent and 8Kb of an hole were cloned and file size increased
0000000 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
*
0020000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0040000 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04
*
0060000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
*
0100000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0110000 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04
*
0130000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
*
0200000 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
*
0220000 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
*
0240000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0250000 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05
*
0260000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0270000 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05
*
0300000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0320000
6) Check that 8kb of the hole were cloned
0000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0040000 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04
*
0060000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
*
0100000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0110000 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04
*
0130000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
*
0200000 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
*
0220000 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
*
0240000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0250000 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05
*
0260000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0270000 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05
*
0300000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0320000
7) Check that 32kb of the hole were cloned and the file size increased
0000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0040000 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04
*
0060000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
*
0100000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0110000 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04
*
0130000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
*
0200000 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
*
0220000 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
*
0240000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0250000 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05
*
0260000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0270000 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05
*
0300000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0420000