[Devel] [PATCH VZ9 1/4] Revert "ms/nfsd: don't put blocked locks on LRU until after vfs_lock_file returns"
Vasily Averin
vvs at virtuozzo.com
Thu Dec 30 18:05:04 MSK 2021
This reverts commit 11403ddc5f3ba8b9c7c97a5ced50289319ac3096.
---
fs/nfsd/nfs4state.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
index ad8633811ea7..fa67ecd5fe63 100644
--- a/fs/nfsd/nfs4state.c
+++ b/fs/nfsd/nfs4state.c
@@ -6963,8 +6963,10 @@ nfsd4_lock(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,
}
if (fl_flags & FL_SLEEP) {
+ nbl->nbl_time = ktime_get_boottime_seconds();
spin_lock(&nn->blocked_locks_lock);
list_add_tail(&nbl->nbl_list, &lock_sop->lo_blocked);
+ list_add_tail(&nbl->nbl_lru, &nn->blocked_locks_lru);
spin_unlock(&nn->blocked_locks_lock);
}
@@ -6977,10 +6979,6 @@ nfsd4_lock(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,
nn->somebody_reclaimed = true;
break;
case FILE_LOCK_DEFERRED:
- nbl->nbl_time = ktime_get_boottime_seconds();
- spin_lock(&nn->blocked_locks_lock);
- list_add_tail(&nbl->nbl_lru, &nn->blocked_locks_lru);
- spin_unlock(&nn->blocked_locks_lock);
nbl = NULL;
fallthrough;
case -EAGAIN: /* conflock holds conflicting lock */
--
2.25.1
More information about the Devel
mailing list