summaryrefslogtreecommitdiff
path: root/fs/btrfs/dev-replace.c
diff options
context:
space:
mode:
authorSebastian Reichel <sebastian.reichel@collabora.com>2022-05-23 00:03:29 +0300
committerSebastian Reichel <sebastian.reichel@collabora.com>2022-05-23 00:03:29 +0300
commitda50aad6d86716aa48a2b8463c85caea77c0355f (patch)
treec9604cc380e99e613c25ec06cbfcd5009c4575ba /fs/btrfs/dev-replace.c
parentd96a89407e5f682d1cb22569d91784506c784863 (diff)
parent010ddb813f3554cbbf8bd13b731452236a2c8017 (diff)
downloadlinux-da50aad6d86716aa48a2b8463c85caea77c0355f.tar.xz
Merge power-supply 'fixes' branch
Merge power-supply fixes, that missed the v5.18 merge window into power-supply's for-next branch. Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Diffstat (limited to 'fs/btrfs/dev-replace.c')
-rw-r--r--fs/btrfs/dev-replace.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/fs/btrfs/dev-replace.c b/fs/btrfs/dev-replace.c
index 71fd99b48283..f26202621989 100644
--- a/fs/btrfs/dev-replace.c
+++ b/fs/btrfs/dev-replace.c
@@ -734,7 +734,12 @@ static int btrfs_dev_replace_start(struct btrfs_fs_info *fs_info,
btrfs_wait_ordered_roots(fs_info, U64_MAX, 0, (u64)-1);
- /* Commit dev_replace state and reserve 1 item for it. */
+ /*
+ * Commit dev_replace state and reserve 1 item for it.
+ * This is crucial to ensure we won't miss copying extents for new block
+ * groups that are allocated after we started the device replace, and
+ * must be done after setting up the device replace state.
+ */
trans = btrfs_start_transaction(root, 1);
if (IS_ERR(trans)) {
ret = PTR_ERR(trans);