]> git.baikalelectronics.ru Git - kernel.git/commit
btrfs: send: always use the rbtree based inode ref management infrastructure
authorFilipe Manana <fdmanana@suse.com>
Tue, 12 Jul 2022 15:31:22 +0000 (16:31 +0100)
committerDavid Sterba <dsterba@suse.com>
Mon, 25 Jul 2022 15:45:42 +0000 (17:45 +0200)
commitfcd3db4941af0e27f529466383a71c4bfc82abd5
treedee61339c588e4d5f7f0ed32950456633efea82a
parent5a9deb57a44159f436497f2a2f3b27f8a133ceee
btrfs: send: always use the rbtree based inode ref management infrastructure

After the patch "btrfs: send: fix sending link commands for existing file
paths", we now have two infrastructures to detect and eliminate duplicated
inode references (due to names that got removed and re-added between the
send and parent snapshots):

1) One that works on a single inode ref/extref item;

2) A new one that works acrosss all ref/extref items for an inode, and
   it's also more efficient because even in the single ref/extref item
   case, it does not do a linear search for all the names encoded in the
   ref/extref item, it uses red black trees to speedup up the search.

There's no good reason to keep both infrastructures, we can use the new
one everywhere, and it's always more efficient.

So remove the old infrastructure and change all sites that are using it
to use the new one.

Signed-off-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/send.c