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 via email to