diff options
author | David Sterba <dsterba@suse.com> | 2021-05-18 21:05:52 +0200 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2021-06-21 15:19:07 +0200 |
commit | 578bda9e17fdb6b6eaab1980f87dd1819b123da0 (patch) | |
tree | 34b99a4941ad28d03dff7547c4ec93d5bcaf1909 /fs/btrfs/ctree.h | |
parent | 907d2710d727541fffabdc52a025916d5109b3e5 (diff) | |
download | lwn-578bda9e17fdb6b6eaab1980f87dd1819b123da0.tar.gz lwn-578bda9e17fdb6b6eaab1980f87dd1819b123da0.zip |
btrfs: introduce try-lock semantics for exclusive op start
Add try-lock for exclusive operation start to allow callers to do more
checks. The same operation must already be running. The try-lock and
unlock must pair and are a substitute for btrfs_exclop_start, thus it
must also pair with btrfs_exclop_finish to release the exclop context.
Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Reviewed-by: Anand Jain <anand.jain@oracle.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/ctree.h')
-rw-r--r-- | fs/btrfs/ctree.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h index b7c36aad45ef..1124fa87e2e9 100644 --- a/fs/btrfs/ctree.h +++ b/fs/btrfs/ctree.h @@ -3233,6 +3233,9 @@ void btrfs_update_ioctl_balance_args(struct btrfs_fs_info *fs_info, struct btrfs_ioctl_balance_args *bargs); bool btrfs_exclop_start(struct btrfs_fs_info *fs_info, enum btrfs_exclusive_operation type); +bool btrfs_exclop_start_try_lock(struct btrfs_fs_info *fs_info, + enum btrfs_exclusive_operation type); +void btrfs_exclop_start_unlock(struct btrfs_fs_info *fs_info); void btrfs_exclop_finish(struct btrfs_fs_info *fs_info); /* file.c */ |