Commit 5cb502f4 authored by Qu Wenruo's avatar Qu Wenruo Committed by David Sterba

btrfs: relocation: allow signal to cancel balance

Although btrfs balance can be canceled with "btrfs balance cancel"
command, it's still almost muscle memory to press Ctrl-C to cancel a
long running btrfs balance.

So allow btrfs balance to check signal to determine if it should exit.
The cancellation points are in known location and we're only adding one
more reason, so this should be safe.
Reviewed-by: default avatarJosef Bacik <josef@toxicpanda.com>
Signed-off-by: default avatarQu Wenruo <wqu@suse.com>
Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 813f8a0e
...@@ -2656,7 +2656,8 @@ int setup_extent_mapping(struct inode *inode, u64 start, u64 end, ...@@ -2656,7 +2656,8 @@ int setup_extent_mapping(struct inode *inode, u64 start, u64 end,
*/ */
int btrfs_should_cancel_balance(struct btrfs_fs_info *fs_info) int btrfs_should_cancel_balance(struct btrfs_fs_info *fs_info)
{ {
return atomic_read(&fs_info->balance_cancel_req); return atomic_read(&fs_info->balance_cancel_req) ||
fatal_signal_pending(current);
} }
ALLOW_ERROR_INJECTION(btrfs_should_cancel_balance, TRUE); ALLOW_ERROR_INJECTION(btrfs_should_cancel_balance, TRUE);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment