]> git.apps.os.sepia.ceph.com Git - xfstests-dev.git/commit
btrfs: test btrfs send after complex directory hierarchy changes
authorFilipe Manana <fdmanana@suse.com>
Mon, 4 May 2015 12:55:19 +0000 (22:55 +1000)
committerDave Chinner <david@fromorbit.com>
Mon, 4 May 2015 12:55:19 +0000 (22:55 +1000)
commit2fbdbfb48d741517ec13f71967a3d407150ecf8c
tree2bee177366aa1df3fbb8e96ccbcc97e38bef67ef
parent9435b928bf82c3ebefce667b512d14845e84b82f
btrfs: test btrfs send after complex directory hierarchy changes

Test a very complex scenario for a btrfs incremental send operation where a
large directory hierarchy had many subtrees moved between parent directories,
preserving the names of some directories and inverting the parent-child
relationship between some directories (a child in the parent snapshot became
a parent, in the send snapshot, of the directory that is its parent in the
parent snapshot).

This test made the incremental send fail with -ENOMEM because it entered an
infinite loop when building path strings that are used as operands of the
rename operations issued in the send stream.
This issue was fixed by the following linux kernel btrfs patch:

   Btrfs: incremental send, don't delay directory renames unnecessarily

Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: David Sterba <dsterba@suse.cz>
Signed-off-by: Dave Chinner <david@fromorbit.com>
tests/btrfs/087 [new file with mode: 0755]
tests/btrfs/087.out [new file with mode: 0644]
tests/btrfs/group