From: Josef Bacik <josef@toxicpanda.com>
To: Qu Wenruo <quwenruo.btrfs@gmx.com>
Cc: linux-btrfs@vger.kernel.org, kernel-team@fb.com
Subject: Re: [PATCH 07/20] btrfs-progs: stop accessing ->csum_root directly
Date: Mon, 8 Nov 2021 14:19:38 -0500 [thread overview]
Message-ID: <YYl4SrAlHE44Os7h@localhost.localdomain> (raw)
In-Reply-To: <8a4a9842-fbc4-f652-d4ca-842ff63b571f@gmx.com>
On Sat, Nov 06, 2021 at 08:23:46AM +0800, Qu Wenruo wrote:
>
>
> On 2021/11/6 04:28, Josef Bacik wrote:
> > With extent tree v2 we will have per-block group checksums,
>
> I guess you mean per block group checksum tree?
>
> > so add a
> > helper to access the csum root and rename the fs_info csum_root to
> > _csum_root to catch all the places that are accessing it directly.
> > Convert everybody to use the helper except for internal things.
> >
> > Signed-off-by: Josef Bacik <josef@toxicpanda.com>
>
> Currently a lot of locations are still passing 0 to btrfs_csum_root(),
> which would need to be converted later.
>
> Thus it doesn't look correct to be in the preparation patchset.
>
> Mind to move this patch into the real extent-tree-v2 patchset?
>
I explained this in another reply, but I wanted to talk about this specific
style of request here as well.
I did it this way because it's changing a lot of callsites to use a helper.
This is kind of a complex change as a whole, because I'm taking us from having a
fs_info->extent_root to having a rb tree with the extent root, csum root, and
free space tree root.
Once I get to the actual extent tree v2 stuff there's going to be a whole host
of more complicated changes.
So, in order to make it easier to review, I've put this relatively large concept
in the prep patches. It's easier to look at because its a clear
s/->whatever_root/btrfs_whatever_root/ change. It's easy to spot check and wrap
your head around.
Then I do the work to actually load it into the rb-tree, and then change the
helpers to access the rb-tree. Those two changes are contained and easy to wrap
your head around.
Then in the extent-tree-v2 series I actually change the helpers to do the new
crazy stuff, and then go through the places where we do
btrfs_whatever_root(fs_info, 0) and convert those to be compatible with the new
world order. I do that because each of those spots is it's own deal to convert,
so they need to be reasoned within their context.
I could probably move this around, but we're at like 20 patches per groups of
series, so I did it this way to keep the logical separation as clean as
possible, and drastically reduce the amount of complex things you guys are
needing to look at individually. Thanks,
Josef
next prev parent reply other threads:[~2021-11-08 19:19 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-05 20:28 [PATCH 00/20] btrfs-progs: extent tree v2 global root support prep work Josef Bacik
2021-11-05 20:28 ` [PATCH 01/20] btrfs-progs: simplify btrfs_make_block_group Josef Bacik
2021-11-06 0:14 ` Qu Wenruo
2021-11-08 10:13 ` Anand Jain
2021-11-05 20:28 ` [PATCH 02/20] btrfs-progs: check: don't walk down non fs-trees for qgroup check Josef Bacik
2021-11-06 0:14 ` Qu Wenruo
2021-11-05 20:28 ` [PATCH 03/20] btrfs-progs: filesystem-show: close ctree once we're done Josef Bacik
2021-11-08 10:23 ` Anand Jain
2021-11-05 20:28 ` [PATCH 04/20] btrfs-progs: add a helper for setting up a root node Josef Bacik
2021-11-06 0:18 ` Qu Wenruo
2021-11-05 20:28 ` [PATCH 05/20] btrfs-progs: btrfs-shared: stop passing root to csum related functions Josef Bacik
2021-11-06 0:20 ` Qu Wenruo
2021-11-05 20:28 ` [PATCH 06/20] btrfs-progs: check: stop passing csum root around Josef Bacik
2021-11-06 0:21 ` Qu Wenruo
2021-11-05 20:28 ` [PATCH 07/20] btrfs-progs: stop accessing ->csum_root directly Josef Bacik
2021-11-06 0:23 ` Qu Wenruo
2021-11-08 19:19 ` Josef Bacik [this message]
2021-11-09 0:56 ` Qu Wenruo
2021-11-09 15:12 ` David Sterba
2021-11-05 20:28 ` [PATCH 08/20] btrfs-progs: image: keep track of seen blocks when walking trees Josef Bacik
2021-11-06 0:26 ` Qu Wenruo
2021-11-05 20:28 ` [PATCH 09/20] btrfs-progs: common: move btrfs_fix_block_accounting to repair.c Josef Bacik
2021-11-06 0:30 ` Qu Wenruo
2021-11-05 20:28 ` [PATCH 10/20] btrfs-progs: check: abstract out the used marking helpers Josef Bacik
2021-11-06 0:37 ` Qu Wenruo
2021-11-05 20:28 ` [PATCH 11/20] btrfs-progs: check: move btrfs_mark_used_tree_blocks to common Josef Bacik
2021-11-05 20:28 ` [PATCH 12/20] btrfs-progs: mark reloc roots as used Josef Bacik
2021-11-06 0:39 ` Qu Wenruo
2021-11-08 19:14 ` Josef Bacik
2021-11-09 0:57 ` Qu Wenruo
2021-11-05 20:28 ` [PATCH 13/20] btrfs-progs: stop accessing ->extent_root directly Josef Bacik
2021-11-06 0:41 ` Qu Wenruo
2021-11-05 20:28 ` [PATCH 14/20] btrfs-progs: stop accessing ->free_space_root directly Josef Bacik
2021-11-06 0:44 ` Qu Wenruo
2021-11-05 20:28 ` [PATCH 15/20] btrfs-progs: track csum, extent, and free space trees in a rb tree Josef Bacik
2021-11-05 20:28 ` [PATCH 16/20] btrfs-progs: check: make reinit work per found root item Josef Bacik
2021-11-05 20:28 ` [PATCH 17/20] btrfs-progs: check: check the global roots for uptodate root nodes Josef Bacik
2021-11-05 20:28 ` [PATCH 18/20] btrfs-progs: check: check all of the csum roots Josef Bacik
2021-11-05 20:28 ` [PATCH 19/20] btrfs-progs: check: fill csum root from all extent roots Josef Bacik
2021-11-05 20:28 ` [PATCH 20/20] btrfs-progs: common: search all extent roots for marking used space Josef Bacik
2021-11-06 0:55 ` [PATCH 00/20] btrfs-progs: extent tree v2 global root support prep work Qu Wenruo
2021-11-06 20:17 ` Josef Bacik
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=YYl4SrAlHE44Os7h@localhost.localdomain \
--to=josef@toxicpanda.com \
--cc=kernel-team@fb.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=quwenruo.btrfs@gmx.com \
/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