diff options
| author | Jeff Layton <jlayton@kernel.org> | 2026-01-08 20:13:01 +0300 |
|---|---|---|
| committer | Christian Brauner <brauner@kernel.org> | 2026-01-12 12:55:45 +0300 |
| commit | 20747a2a29c6a7ccc54fd3f3159bcfe86a0dae6e (patch) | |
| tree | 4705f9661522a52852215c77fd7fde181877f28f | |
| parent | ccdc2e0569f5ff83cd1c6a5c7bb214e33e21bdec (diff) | |
| download | linux-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.c | 2 | ||||
| -rw-r--r-- | fs/ext4/file.c | 2 |
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 = { |
