Before this patchset, btrfs-find-root needs valid chunk tree from the
fs.
However for chunk root corrupted case, btrfs-find-root is of no use due
to above limitation.
This patchset will allow open_ctree_fs_info() to return a fs_info
without any valid tree root, but system chunk map from superblock only.
And modify btrfs-find-root along with some infrastructure to do chunk
root search.
Also fix an old bug where btrfs-find-root will always skip the first
chunk, with its corresponding regression test.
This also provides the basis for later "btrfsck --chunk-root" and faster
chunk-recovery enhancement.
Qu Wenruo (5):
btrfs: volume: Fix a bug causing btrfs-find-root to skip first chunk
btrfs: Allow open_ctree to return fs_info even chunk tree is corrupted
btrfs: Add support for tree block operations on fs_info without roots.
btrfs: find-root: Allow btrfs-find-root to search chunk root even
chunk root is corrupted
btrfs: misc-test: Add regression test for find-root gives empty result
btrfs-corrupt-block.c | 2 +-
btrfs-find-root.c | 17 ++--
ctree.h | 1 +
disk-io.c | 99 +++++++++++++--------
disk-io.h | 35 ++++++--
extent-tree.c | 3 +-
find-root.c | 10 +--
find-root.h | 2 +-
.../first_meta_chunk.btrfs-image | Bin 0 -> 4096 bytes
tests/misc-tests/012-find-root-no-result/test.sh | 20 +++++
volumes.c | 20 +++--
11 files changed, 147 insertions(+), 62 deletions(-)
create mode 100644 tests/misc-tests/012-find-root-no-result/first_meta_chunk.btrfs-image
create mode 100644 tests/misc-tests/012-find-root-no-result/test.sh
--
2.7.1
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html