[PATCH 0/5] btrfs-find-root enhancement for chunk tree corrupted fs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux