Add the setlease file_operation pointing to generic_setlease to the tmpfs file_operations structures. 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/libfs.c | 2 ++ mm/shmem.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/fs/libfs.c b/fs/libfs.c index 591eb649ebbacf202ff48cd3abd64a175daa291c..697c6d5fc12786c036f0086886297fb5cd52ae00 100644 --- a/fs/libfs.c +++ b/fs/libfs.c @@ -6,6 +6,7 @@ #include <linux/blkdev.h> #include <linux/export.h> +#include <linux/filelock.h> #include <linux/pagemap.h> #include <linux/slab.h> #include <linux/cred.h> @@ -570,6 +571,7 @@ const struct file_operations simple_offset_dir_operations = { .iterate_shared = offset_readdir, .read = generic_read_dir, .fsync = noop_fsync, + .setlease = generic_setlease, }; struct dentry *find_next_child(struct dentry *parent, struct dentry *prev) diff --git a/mm/shmem.c b/mm/shmem.c index ec6c01378e9d2bd47db9d7506e4d6a565e092185..88ef1fd5cd38efedbb31353da2871ab1d47e68a5 100644 --- a/mm/shmem.c +++ b/mm/shmem.c @@ -29,6 +29,7 @@ #include <linux/pagemap.h> #include <linux/file.h> #include <linux/fileattr.h> +#include <linux/filelock.h> #include <linux/mm.h> #include <linux/random.h> #include <linux/sched/signal.h> @@ -5219,6 +5220,7 @@ static const struct file_operations shmem_file_operations = { .splice_read = shmem_file_splice_read, .splice_write = iter_file_splice_write, .fallocate = shmem_fallocate, + .setlease = generic_setlease, #endif }; -- 2.52.0
