Thread (9 messages) 9 messages, 1 author, 2021-12-01
STALE1677d
Revisions (4)
  1. v1 [diff vs current]
  2. v2 [diff vs current]
  3. v2 [diff vs current]
  4. v3 current

[PATCH v3 0/8] btrfs-progs: extent tree v2 global root support prep work

From: Josef Bacik <josef@toxicpanda.com>
Date: 2021-12-01 18:15:51

v2->v3:
- rebased onto origin/devel, these somehow got missed when merging the series.

v1->v2:
- reworked the root node helper thing to check the level as well as per Qu's
  suggestion.
- Fixed a place where we weren't inluding common/repair.h to get a helper that I
  moved (not entirely sure how this still built but whatever.)
- Fixed a place where I could get fs_info from an eb instead of passing it
  around.
--- Original email ---
Hello,

This is a series of patches to do all the prep work needed to support extent
tree v2.  These patches are independent of the actual extent tree v2 support,
some of them are fixes, some of them are purely to pave the way for the global
root support.  These patches are mostly around stopping direct access of
->extent_root/->csum_root/->free_space_root, putting these roots into a rb_tree,
and changing the code to look up the roots in the rb_tree instead of accessing
them directly.  There are a variety of fixes to help make this easier, mostly
removing access to these roots that are strictly necessary.  Thanks,

Josef

Josef Bacik (8):
  btrfs-progs: stop accessing ->extent_root directly
  btrfs-progs: stop accessing ->free_space_root directly
  btrfs-progs: track csum, extent, and free space trees in a rb tree
  btrfs-progs: check: make reinit work per found root item
  btrfs-progs: check: check the global roots for uptodate root nodes
  btrfs-progs: check: check all of the csum roots
  btrfs-progs: check: fill csum root from all extent roots
  btrfs-progs: common: search all extent roots for marking used space

 btrfs-corrupt-block.c           |  13 +-
 btrfs-map-logical.c             |   9 +-
 btrfstune.c                     |   2 +-
 check/main.c                    | 202 ++++++++++++++++------
 check/mode-common.c             |   8 +-
 check/mode-lowmem.c             |  72 ++++----
 check/qgroup-verify.c           |   2 +-
 cmds/rescue-chunk-recover.c     |  18 +-
 common/repair.c                 | 143 ++++++++++-----
 common/repair.h                 |   2 +
 convert/main.c                  |   4 +-
 image/main.c                    |   2 +-
 kernel-shared/backref.c         |  10 +-
 kernel-shared/ctree.h           |   4 +-
 kernel-shared/disk-io.c         | 296 +++++++++++++++++++++++++-------
 kernel-shared/disk-io.h         |   6 +
 kernel-shared/extent-tree.c     |  42 +++--
 kernel-shared/free-space-tree.c |  54 ++++--
 kernel-shared/volumes.c         |   3 +-
 kernel-shared/zoned.c           |   2 +-
 mkfs/main.c                     |  30 ++--
 21 files changed, 651 insertions(+), 273 deletions(-)

-- 
2.26.3
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help