mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
36271c9b68
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>
348 lines
10 KiB
Plaintext
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
|