aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/nfs4proc.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/nfs/nfs4proc.c')
-rw-r--r--fs/nfs/nfs4proc.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index 54ff465cf7cf..e6a9322a321f 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -3124,6 +3124,24 @@ nfs4_proc_lock(struct file *filp, int cmd, struct file_lock *request)
3124 return status; 3124 return status;
3125} 3125}
3126 3126
3127int nfs4_lock_delegation_recall(struct nfs4_state *state, struct file_lock *fl)
3128{
3129 struct nfs_server *server = NFS_SERVER(state->inode);
3130 struct nfs4_exception exception = { };
3131 int err;
3132
3133 err = nfs4_set_lock_state(state, fl);
3134 if (err != 0)
3135 goto out;
3136 do {
3137 err = _nfs4_do_setlk(state, F_SETLK, fl, 0);
3138 if (err != -NFS4ERR_DELAY)
3139 break;
3140 err = nfs4_handle_exception(server, err, &exception);
3141 } while (exception.retry);
3142out:
3143 return err;
3144}
3127 3145
3128#define XATTR_NAME_NFSV4_ACL "system.nfs4_acl" 3146#define XATTR_NAME_NFSV4_ACL "system.nfs4_acl"
3129 3147