summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Layton <jlayton@kernel.org>2026-01-08 20:13:00 +0300
committerChristian Brauner <brauner@kernel.org>2026-01-12 12:55:45 +0300
commitccdc2e0569f5ff83cd1c6a5c7bb214e33e21bdec (patch)
treebebde3e402ca068eafd721eca4680286c1d4c056
parentf8902d3df8930099f0adec2cc4dd6d8cd3ebcbe7 (diff)
downloadlinux-ccdc2e0569f5ff83cd1c6a5c7bb214e33e21bdec.tar.xz
ext2: add setlease file operation
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 <jlayton@kernel.org> Link: https://patch.msgid.link/20260108-setlease-6-20-v1-5-ea4dec9b67fa@kernel.org Acked-by: Al Viro <viro@zeniv.linux.org.uk> Acked-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Jan Kara <jack@suse.cz> Signed-off-by: Christian Brauner <brauner@kernel.org>
-rw-r--r--fs/ext2/dir.c2
-rw-r--r--fs/ext2/file.c2
2 files changed, 4 insertions, 0 deletions
diff --git a/fs/ext2/dir.c b/fs/ext2/dir.c
index b07b3b369710..395fc36c089b 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 76bddce462fc..ebe356a38b18 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 = {