bcachefs: Update data move path for snapshots
authorKent Overstreet <kent.overstreet@gmail.com>
Thu, 5 Aug 2021 04:41:41 +0000 (00:41 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:09:12 +0000 (17:09 -0400)
commit18443cb9f005b5563e2e3da9b8ccd374a552c3b1
treefb5acd81fb8562bd790263562c65d3cdf45a02d4
parent7a7d17b2f7c23c0891b0cbd13fafd3bc805b1b29
bcachefs: Update data move path for snapshots

The data move path operates on existing extents, and not within a
subvolume as the regular IO paths do. It needs to change because it may
cause existing extents to be split, and when splitting an existing
extent in an ancestor snapshot we need to make sure the new split has
the same visibility in child snapshots as the existing extent.

Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
fs/bcachefs/btree_update_leaf.c
fs/bcachefs/fsck.c
fs/bcachefs/io.c
fs/bcachefs/migrate.c
fs/bcachefs/move.c
fs/bcachefs/subvolume.h