Add the setlease file_operation to ext2_file_operations and
ext2_dir_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/ext2/dir.c  | 2 ++
 fs/ext2/file.c | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/fs/ext2/dir.c b/fs/ext2/dir.c
index 
b07b3b369710c4848d6091742cdd0b5c42d4674d..395fc36c089b7bb6360a8326727bd5606c7e2476
 100644
--- a/fs/ext2/dir.c
+++ b/fs/ext2/dir.c
@@ -24,6 +24,7 @@
 
 #include "ext2.h"
 #include <linux/buffer_head.h>
+#include <linux/filelock.h>
 #include <linux/pagemap.h>
 #include <linux/swap.h>
 #include <linux/iversion.h>
@@ -734,4 +735,5 @@ const struct file_operations ext2_dir_operations = {
        .compat_ioctl   = ext2_compat_ioctl,
 #endif
        .fsync          = ext2_fsync,
+       .setlease       = generic_setlease,
 };
diff --git a/fs/ext2/file.c b/fs/ext2/file.c
index 
76bddce462fced77b24d64416cb9fdb172d8270b..ebe356a38b185e0d8662f704ad20e42fe618284e
 100644
--- a/fs/ext2/file.c
+++ b/fs/ext2/file.c
@@ -22,6 +22,7 @@
 #include <linux/time.h>
 #include <linux/pagemap.h>
 #include <linux/dax.h>
+#include <linux/filelock.h>
 #include <linux/quotaops.h>
 #include <linux/iomap.h>
 #include <linux/uio.h>
@@ -325,6 +326,7 @@ const struct file_operations ext2_file_operations = {
        .get_unmapped_area = thp_get_unmapped_area,
        .splice_read    = filemap_splice_read,
        .splice_write   = iter_file_splice_write,
+       .setlease       = generic_setlease,
 };
 
 const struct inode_operations ext2_file_inode_operations = {

-- 
2.52.0


Reply via email to