locks: allow support for write delegation
authorDai Ngo <dai.ngo@oracle.com>
Fri, 30 Jun 2023 01:52:37 +0000 (18:52 -0700)
committerChuck Lever <chuck.lever@oracle.com>
Tue, 29 Aug 2023 21:45:22 +0000 (17:45 -0400)
Remove the check for F_WRLCK in generic_add_lease to allow file_lock
to be used for write delegation.

First consumer is NFSD.

Signed-off-by: Dai Ngo <dai.ngo@oracle.com>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
fs/locks.c

index df8b26a425248ac4aa87a4ef9772b9700b417209..08fb0b4fd4f8ff7fcacfcdda7535c83d44360c9d 100644 (file)
@@ -1729,13 +1729,6 @@ generic_add_lease(struct file *filp, long arg, struct file_lock **flp, void **pr
        if (is_deleg && !inode_trylock(inode))
                return -EAGAIN;
 
-       if (is_deleg && arg == F_WRLCK) {
-               /* Write delegations are not currently supported: */
-               inode_unlock(inode);
-               WARN_ON_ONCE(1);
-               return -EINVAL;
-       }
-
        percpu_down_read(&file_rwsem);
        spin_lock(&ctx->flc_lock);
        time_out_leases(inode, &dispose);