public inbox for linux-btrfs@vger.kernel.org
 help / color / mirror / Atom feed
From: Josef Bacik <josef@toxicpanda.com>
To: linux-btrfs@vger.kernel.org, kernel-team@fb.com
Subject: [PATCH v2 00/20] btrfs-progs: extent tree v2 global root support prep work
Date: Mon,  8 Nov 2021 14:26:28 -0500	[thread overview]
Message-ID: <cover.1636399481.git.josef@toxicpanda.com> (raw)

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 (20):
  btrfs-progs: simplify btrfs_make_block_group
  btrfs-progs: check: don't walk down non fs-trees for qgroup check
  btrfs-progs: filesystem-show: close ctree once we're done
  btrfs-progs: add a helper for setting up a root node
  btrfs-progs: btrfs-shared: stop passing root to csum related functions
  btrfs-progs: check: stop passing csum root around
  btrfs-progs: stop accessing ->csum_root directly
  btrfs-progs: image: keep track of seen blocks when walking trees
  btrfs-progs: common: move btrfs_fix_block_accounting to repair.c
  btrfs-progs: check: abstract out the used marking helpers
  btrfs-progs: check: move btrfs_mark_used_tree_blocks to common
  btrfs-progs: mark reloc roots as used
  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           |  15 +-
 btrfs-map-logical.c             |   9 +-
 btrfstune.c                     |   2 +-
 check/main.c                    | 223 +++++++++++++------
 check/mode-common.c             | 132 +----------
 check/mode-lowmem.c             |  72 +++---
 check/qgroup-verify.c           |   6 +-
 cmds/filesystem.c               |  19 +-
 cmds/rescue-chunk-recover.c     |  35 ++-
 common/repair.c                 | 227 +++++++++++++++++++
 common/repair.h                 |   5 +
 convert/main.c                  |   6 +-
 image/main.c                    |  14 +-
 kernel-shared/backref.c         |  10 +-
 kernel-shared/ctree.h           |  10 +-
 kernel-shared/disk-io.c         | 373 ++++++++++++++++++++++++--------
 kernel-shared/disk-io.h         |   8 +-
 kernel-shared/extent-tree.c     | 159 ++++----------
 kernel-shared/file-item.c       |   6 +-
 kernel-shared/free-space-tree.c |  54 +++--
 kernel-shared/volumes.c         |   3 +-
 kernel-shared/zoned.c           |   2 +-
 mkfs/main.c                     |  29 ++-
 mkfs/rootdir.c                  |   2 +-
 24 files changed, 907 insertions(+), 514 deletions(-)

-- 
2.26.3


             reply	other threads:[~2021-11-08 19:26 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-08 19:26 Josef Bacik [this message]
2021-11-08 19:26 ` [PATCH v2 01/20] btrfs-progs: simplify btrfs_make_block_group Josef Bacik
2021-11-08 19:26 ` [PATCH v2 02/20] btrfs-progs: check: don't walk down non fs-trees for qgroup check Josef Bacik
2021-11-08 19:26 ` [PATCH v2 03/20] btrfs-progs: filesystem-show: close ctree once we're done Josef Bacik
2021-11-08 19:26 ` [PATCH v2 04/20] btrfs-progs: add a helper for setting up a root node Josef Bacik
2021-11-08 19:26 ` [PATCH v2 05/20] btrfs-progs: btrfs-shared: stop passing root to csum related functions Josef Bacik
2021-11-08 19:26 ` [PATCH v2 06/20] btrfs-progs: check: stop passing csum root around Josef Bacik
2021-11-08 19:26 ` [PATCH v2 07/20] btrfs-progs: stop accessing ->csum_root directly Josef Bacik
2021-11-08 19:26 ` [PATCH v2 08/20] btrfs-progs: image: keep track of seen blocks when walking trees Josef Bacik
2021-11-08 19:26 ` [PATCH v2 09/20] btrfs-progs: common: move btrfs_fix_block_accounting to repair.c Josef Bacik
2021-11-08 19:26 ` [PATCH v2 10/20] btrfs-progs: check: abstract out the used marking helpers Josef Bacik
2021-11-08 19:26 ` [PATCH v2 11/20] btrfs-progs: check: move btrfs_mark_used_tree_blocks to common Josef Bacik
2021-11-08 19:26 ` [PATCH v2 12/20] btrfs-progs: mark reloc roots as used Josef Bacik
2021-11-08 19:26 ` [PATCH v2 13/20] btrfs-progs: stop accessing ->extent_root directly Josef Bacik
2021-11-08 19:26 ` [PATCH v2 14/20] btrfs-progs: stop accessing ->free_space_root directly Josef Bacik
2021-11-08 19:26 ` [PATCH v2 15/20] btrfs-progs: track csum, extent, and free space trees in a rb tree Josef Bacik
2021-11-08 19:26 ` [PATCH v2 16/20] btrfs-progs: check: make reinit work per found root item Josef Bacik
2021-11-08 19:26 ` [PATCH v2 17/20] btrfs-progs: check: check the global roots for uptodate root nodes Josef Bacik
2021-11-08 19:26 ` [PATCH v2 18/20] btrfs-progs: check: check all of the csum roots Josef Bacik
2021-11-08 19:26 ` [PATCH v2 19/20] btrfs-progs: check: fill csum root from all extent roots Josef Bacik
2021-11-08 19:26 ` [PATCH v2 20/20] btrfs-progs: common: search all extent roots for marking used space Josef Bacik
2021-11-30 18:00 ` [PATCH v2 00/20] btrfs-progs: extent tree v2 global root support prep work David Sterba

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1636399481.git.josef@toxicpanda.com \
    --to=josef@toxicpanda.com \
    --cc=kernel-team@fb.com \
    --cc=linux-btrfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox