From: Boris Burkov <boris@bur.io>
To: Josef Bacik <josef@toxicpanda.com>
Cc: linux-btrfs@vger.kernel.org, kernel-team@fb.com
Subject: Re: [PATCH 00/10] btrfs: backref cache cleanups
Date: Thu, 3 Oct 2024 14:39:59 -0700 [thread overview]
Message-ID: <20241003213959.GE435178@zen.localdomain> (raw)
In-Reply-To: <cover.1727970062.git.josef@toxicpanda.com>
On Thu, Oct 03, 2024 at 11:43:02AM -0400, Josef Bacik wrote:
> Hello,
>
> This is the followup to the relocation fix that I sent out earlier. This series
> cleans up a lot of the complicated things that exist in backref cache because we
> were keeping track of changes to the file system during relocation. Now that we
> do not do this we can simplify a lot of the code and make it easier to
> understand. I've tested this with the horror show of a relocation test I was
> using to trigger the original problem. I'm running fstests now via the CI, but
> this seems solid. Hopefully this makes the relocation code a bit easier to
> understand. Thanks,
>
> Josef
Sent a few minor comments inline, but all the patches look good to me.
The only ones I would say I didn't deeply understand were 6 and 7 for
the cowonly changes, in case you feel you need a closer look at those.
One high level request (also raised inline on one of them) is just to
add more high level documentation of the functions and general
algorithm design, while it's fresh. The doc covering the backref
cache data structure itself that we have in our dev doc repo is great,
but doesn't do enough to explain the actual relocation operations
carried out with the help of the backref cache.
With that said, thanks for following up (!!) and you can add
Reviewed-by: Boris Burkov <boris@bur.io>
>
> Josef Bacik (10):
> btrfs: convert BUG_ON in btrfs_reloc_cow_block to proper error
> handling
> btrfs: remove the changed list for backref cache
> btrfs: add a comment for new_bytenr in bacref_cache_node
> btrfs: cleanup select_reloc_root
> btrfs: remove clone_backref_node
> btrfs: don't build backref tree for cowonly blocks
> btrfs: do not handle non-shareable roots in backref cache
> btrfs: simplify btrfs_backref_release_cache
> btrfs: remove the ->lowest and ->leaves members from backref cache
> btrfs: remove detached list from btrfs_backref_cache
>
> fs/btrfs/backref.c | 105 +++++-------
> fs/btrfs/backref.h | 16 +-
> fs/btrfs/relocation.c | 362 +++++++++++++++++-------------------------
> 3 files changed, 192 insertions(+), 291 deletions(-)
>
> --
> 2.43.0
>
next prev parent reply other threads:[~2024-10-03 21:40 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-03 15:43 [PATCH 00/10] btrfs: backref cache cleanups Josef Bacik
2024-10-03 15:43 ` [PATCH 01/10] btrfs: convert BUG_ON in btrfs_reloc_cow_block to proper error handling Josef Bacik
2024-10-08 17:29 ` David Sterba
2024-10-03 15:43 ` [PATCH 02/10] btrfs: remove the changed list for backref cache Josef Bacik
2024-10-03 15:43 ` [PATCH 03/10] btrfs: add a comment for new_bytenr in bacref_cache_node Josef Bacik
2024-10-03 21:34 ` Boris Burkov
2024-10-03 15:43 ` [PATCH 04/10] btrfs: cleanup select_reloc_root Josef Bacik
2024-10-03 21:27 ` Boris Burkov
2024-10-03 15:43 ` [PATCH 05/10] btrfs: remove clone_backref_node Josef Bacik
2024-10-03 15:43 ` [PATCH 06/10] btrfs: don't build backref tree for cowonly blocks Josef Bacik
2024-10-03 21:36 ` Boris Burkov
2024-10-03 15:43 ` [PATCH 07/10] btrfs: do not handle non-shareable roots in backref cache Josef Bacik
2024-10-03 15:43 ` [PATCH 08/10] btrfs: simplify btrfs_backref_release_cache Josef Bacik
2024-10-03 15:43 ` [PATCH 09/10] btrfs: remove the ->lowest and ->leaves members from backref cache Josef Bacik
2024-10-03 15:43 ` [PATCH 10/10] btrfs: remove detached list from btrfs_backref_cache Josef Bacik
2024-10-03 21:39 ` Boris Burkov [this message]
2024-12-06 19:38 ` [PATCH 00/10] btrfs: backref cache cleanups David Sterba
2024-12-09 14:01 ` Josef Bacik
2024-12-10 23:24 ` 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=20241003213959.GE435178@zen.localdomain \
--to=boris@bur.io \
--cc=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