Add the setlease file_operation to btrfs_file_operations and btrfs_dir_file_operations, pointing to generic_setlease. A future patch will change the default behavior to reject lease attempts with -EINVAL when there is no setlease file operation defined. Add generic_setlease to retain the ability to set leases on this filesystem.
Signed-off-by: Jeff Layton <[email protected]> --- fs/btrfs/file.c | 2 ++ fs/btrfs/inode.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c index 1abc7ed2990e0e956dc0550cba8b0cfc90109e65..aca2b541e72df3638bdc6cd7551a018ae959039b 100644 --- a/fs/btrfs/file.c +++ b/fs/btrfs/file.c @@ -10,6 +10,7 @@ #include <linux/string.h> #include <linux/backing-dev.h> #include <linux/falloc.h> +#include <linux/filelock.h> #include <linux/writeback.h> #include <linux/compat.h> #include <linux/slab.h> @@ -3867,6 +3868,7 @@ const struct file_operations btrfs_file_operations = { .remap_file_range = btrfs_remap_file_range, .uring_cmd = btrfs_uring_cmd, .fop_flags = FOP_BUFFER_RASYNC | FOP_BUFFER_WASYNC, + .setlease = generic_setlease, }; int btrfs_fdatawrite_range(struct btrfs_inode *inode, loff_t start, loff_t end) diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 599c03a1c5737ee4129c0bc1743b345847fa5dfc..5d1bdc862ed2711e349af085512f3bda6cb63278 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -8,6 +8,7 @@ #include <linux/bio.h> #include <linux/blk-cgroup.h> #include <linux/file.h> +#include <linux/filelock.h> #include <linux/fs.h> #include <linux/fs_struct.h> #include <linux/pagemap.h> @@ -10573,6 +10574,7 @@ static const struct file_operations btrfs_dir_file_operations = { #endif .release = btrfs_release_file, .fsync = btrfs_sync_file, + .setlease = generic_setlease, }; /* -- 2.52.0
