diff options
Diffstat (limited to 'fs/nfs/delegation.c')
-rw-r--r-- | fs/nfs/delegation.c | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/fs/nfs/delegation.c b/fs/nfs/delegation.c index b0c0c2fc2fba..a5c8e2647e53 100644 --- a/fs/nfs/delegation.c +++ b/fs/nfs/delegation.c @@ -54,16 +54,6 @@ nfs4_is_valid_delegation(const struct nfs_delegation *delegation, return false; } -struct nfs_delegation *nfs4_get_valid_delegation(const struct inode *inode) -{ - struct nfs_delegation *delegation; - - delegation = rcu_dereference(NFS_I(inode)->delegation); - if (nfs4_is_valid_delegation(delegation, 0)) - return delegation; - return NULL; -} - static int nfs4_do_check_delegation(struct inode *inode, fmode_t flags, bool mark) { @@ -162,11 +152,11 @@ again: sp = state->owner; /* Block nfs4_proc_unlck */ mutex_lock(&sp->so_delegreturn_mutex); - seq = raw_seqcount_begin(&sp->so_reclaim_seqcount); + seq = read_seqbegin(&sp->so_reclaim_seqlock); err = nfs4_open_delegation_recall(ctx, state, stateid); if (!err) err = nfs_delegation_claim_locks(state, stateid); - if (!err && read_seqcount_retry(&sp->so_reclaim_seqcount, seq)) + if (!err && read_seqretry(&sp->so_reclaim_seqlock, seq)) err = -EAGAIN; mutex_unlock(&sp->so_delegreturn_mutex); put_nfs_open_context(ctx); |