Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fe97e2e1 authored by Anand Jain's avatar Anand Jain Committed by David Sterba
Browse files

btrfs: dev-replace: replace's scrub must not be running in suspended state



When the replace state is in the suspended state, btrfs_scrub_cancel()
should fail with -ENOTCONN as there is no scrub running. As a safety
catch check if btrfs_scrub_cancel() returns -ENOTCONN and assert if it
doesn't.

Signed-off-by: default avatarAnand Jain <anand.jain@oracle.com>
Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent b47dda2e
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -840,7 +840,9 @@ int btrfs_dev_replace_cancel(struct btrfs_fs_info *fs_info)

		btrfs_dev_replace_write_unlock(dev_replace);

		btrfs_scrub_cancel(fs_info);
		/* Scrub for replace must not be running in suspended state */
		ret = btrfs_scrub_cancel(fs_info);
		ASSERT(ret != -ENOTCONN);

		trans = btrfs_start_transaction(root, 0);
		if (IS_ERR(trans)) {