summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Layton <jlayton@kernel.org>2026-01-08 20:13:01 +0300
committerChristian Brauner <brauner@kernel.org>2026-01-12 12:55:45 +0300
commit20747a2a29c6a7ccc54fd3f3159bcfe86a0dae6e (patch)
tree4705f9661522a52852215c77fd7fde181877f28f
parentccdc2e0569f5ff83cd1c6a5c7bb214e33e21bdec (diff)
downloadlinux-20747a2a29c6a7ccc54fd3f3159bcfe86a0dae6e.tar.xz
ext4: add setlease file operation
Add the setlease file_operation to ext4_file_operations and ext4_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-6-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/ext4/dir.c2
-rw-r--r--fs/ext4/file.c2
2 files changed, 4 insertions, 0 deletions
diff --git a/fs/ext4/dir.c b/fs/ext4/dir.c
index 256fe2c1d4c1..00c4b3c82b65 100644
--- a/fs/ext4/dir.c
+++ b/fs/ext4/dir.c
@@ -24,6 +24,7 @@
#include <linux/fs.h>
#include <linux/buffer_head.h>
+#include <linux/filelock.h>
#include <linux/slab.h>
#include <linux/iversion.h>
#include <linux/unicode.h>
@@ -690,4 +691,5 @@ const struct file_operations ext4_dir_operations = {
#endif
.fsync = ext4_sync_file,
.release = ext4_release_dir,
+ .setlease = generic_setlease,
};
diff --git a/fs/ext4/file.c b/fs/ext4/file.c
index 7a8b30932189..534cf864101f 100644
--- a/fs/ext4/file.c
+++ b/fs/ext4/file.c
@@ -25,6 +25,7 @@
#include <linux/mount.h>
#include <linux/path.h>
#include <linux/dax.h>
+#include <linux/filelock.h>
#include <linux/quotaops.h>
#include <linux/pagevec.h>
#include <linux/uio.h>
@@ -980,6 +981,7 @@ const struct file_operations ext4_file_operations = {
.fop_flags = FOP_MMAP_SYNC | FOP_BUFFER_RASYNC |
FOP_DIO_PARALLEL_WRITE |
FOP_DONTCACHE,
+ .setlease = generic_setlease,
};
const struct inode_operations ext4_file_inode_operations = {