Thread (11 messages) 11 messages, 2 authors, 2016-02-25

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

From: Qu Wenruo <hidden>
Date: 2016-02-22 07:25:14

This patchset can also be fetched from github:
https://github.com/adam900710/btrfs-progs.git syschunk_find_root_20160222

Thanks,
Qu

Qu Wenruo wrote on 2016/02/22 14:59 +0800:
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
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help