Leases don't currently work correctly on kcephfs, as they are not broken when caps are revoked. They could eventually be implemented similarly to how we did them in libcephfs, but for now don't allow them. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx> --- fs/ceph/dir.c | 2 ++ fs/ceph/file.c | 1 + 2 files changed, 3 insertions(+) diff --git a/fs/ceph/dir.c b/fs/ceph/dir.c index 040eaad9d063..34f669220a8b 100644 --- a/fs/ceph/dir.c +++ b/fs/ceph/dir.c @@ -1935,6 +1935,7 @@ const struct file_operations ceph_dir_fops = { .compat_ioctl = compat_ptr_ioctl, .fsync = ceph_fsync, .lock = ceph_lock, + .setlease = simple_nosetlease, .flock = ceph_flock, }; @@ -1943,6 +1944,7 @@ const struct file_operations ceph_snapdir_fops = { .llseek = ceph_dir_llseek, .open = ceph_open, .release = ceph_release, + .setlease = simple_nosetlease, }; const struct inode_operations ceph_dir_iops = { diff --git a/fs/ceph/file.c b/fs/ceph/file.c index 27c7047c9383..fb3ea715a19d 100644 --- a/fs/ceph/file.c +++ b/fs/ceph/file.c @@ -2505,6 +2505,7 @@ const struct file_operations ceph_file_fops = { .mmap = ceph_mmap, .fsync = ceph_fsync, .lock = ceph_lock, + .setlease = simple_nosetlease, .flock = ceph_flock, .splice_read = generic_file_splice_read, .splice_write = iter_file_splice_write, -- 2.26.2