public inbox for linux-bcachefs@vger.kernel.org
 help / color / mirror / Atom feed
From: Kent Overstreet <kent.overstreet@linux.dev>
To: linux-bcachefs@vger.kernel.org
Cc: Kent Overstreet <kent.overstreet@linux.dev>
Subject: [PATCH 0/4] more fine-grained btree node moves
Date: Wed, 16 Apr 2025 09:43:45 -0400	[thread overview]
Message-ID: <20250416134352.3654545-1-kent.overstreet@linux.dev> (raw)

this tweaks the data move path so we can move specific btree nodes to
specific devices

it's for the new image creation tool, which uses it for generating more
deterministic disk images.

- create a two device filesystem, with data on one device, journal and
  btree on a second temporary device
- write out all data
- move the btrees we want to keep to the primary device
- drop temporary device, shrink primary device

Kent Overstreet (4):
  bcachefs: Plumb target parameter through btree_node_rewrite_pos()
  bcachefs: plumb btree_id through move_pred_fd
  bcachefs: bch2_move_data_btree() can move btree nodes
  bcachefs: bch2_move_data_btree() can now walk roots

 fs/bcachefs/btree_io.c              |   2 +-
 fs/bcachefs/btree_update_interior.c |  37 ++++++----
 fs/bcachefs/btree_update_interior.h |   4 +-
 fs/bcachefs/move.c                  | 104 ++++++++++++++++++++++------
 fs/bcachefs/move.h                  |   4 +-
 fs/bcachefs/rebalance.c             |   2 +-
 6 files changed, 112 insertions(+), 41 deletions(-)

-- 
2.49.0


             reply	other threads:[~2025-04-16 13:43 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-16 13:43 Kent Overstreet [this message]
2025-04-16 13:43 ` [PATCH 1/4] bcachefs: Plumb target parameter through btree_node_rewrite_pos() Kent Overstreet
2025-04-16 13:43 ` [PATCH 2/4] bcachefs: plumb btree_id through move_pred_fd Kent Overstreet
2025-04-16 13:43 ` [PATCH 3/4] bcachefs: bch2_move_data_btree() can move btree nodes Kent Overstreet
2025-04-16 13:43 ` [PATCH 4/4] bcachefs: bch2_move_data_btree() can now walk roots Kent Overstreet

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=20250416134352.3654545-1-kent.overstreet@linux.dev \
    --to=kent.overstreet@linux.dev \
    --cc=linux-bcachefs@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