Btrfs: new backref walking code
authorJan Schmidt <list.btrfs@jan-o-sch.net>
Fri, 2 Dec 2011 13:56:41 +0000 (14:56 +0100)
committerJan Schmidt <list.btrfs@jan-o-sch.net>
Thu, 5 Jan 2012 09:49:43 +0000 (10:49 +0100)
commit4692cf58aa7b81f721c1653d48db99ea41421d58
tree0a5bf889142252d91bcc8df33a9c63c18024fe70
parent8da6d5815c592b713ecaf4f4f8b631f8359c96c4
Btrfs: new backref walking code

The old backref iteration code could only safely be used on commit roots.
Besides this limitation, it had bugs in finding the roots for these
references. This commit replaces large parts of it by btrfs_find_all_roots()
which a) really finds all roots and the correct roots, b) works correctly
under heavy file system load, c) considers delayed refs.

Signed-off-by: Jan Schmidt <list.btrfs@jan-o-sch.net>
fs/btrfs/backref.c
fs/btrfs/ioctl.c
fs/btrfs/scrub.c