Thread (15 messages) 15 messages, 3 authors, 2023-03-13

Re: [PATCH 0/7] lockd: fix races that can result in stuck filelocks

From: Chuck Lever III <hidden>
Date: 2023-03-03 14:42:14

On Mar 3, 2023, at 7:15 AM, Jeff Layton [off-list ref] wrote:

I sent the first patch in this series the other day, but didn't get any
responses.
We'll have to work out who will take which patches in this set.
Once fully reviewed, I can take the set if the client maintainers
send Acks for 2-4 and 6-7.

nfsd-next for v6.4 is not yet open. I can work on setting that up
today.

Since then I've had time to follow up on the client-side part
of this problem, which eventually also pointed out yet another bug on
the server side. There are also a couple of cleanup patches in here too,
and a patch to add some tracepoints that I found useful while diagnosing
this.

With this set on both client and server, I'm now able to run Yongcheng's
test for an hour straight with no stuck locks.

Jeff Layton (7):
 lockd: purge resources held on behalf of nlm clients when shutting
   down
 lockd: remove 2 unused helper functions
 lockd: move struct nlm_wait to lockd.h
 lockd: fix races in client GRANTED_MSG wait logic
 lockd: server should unlock lock if client rejects the grant
 nfs: move nfs_fhandle_hash to common include file
 lockd: add some client-side tracepoints

fs/lockd/Makefile           |  6 ++-
fs/lockd/clntlock.c         | 58 +++++++++++---------------
fs/lockd/clntproc.c         | 42 ++++++++++++++-----
fs/lockd/host.c             |  1 +
fs/lockd/svclock.c          | 21 ++++++++--
fs/lockd/trace.c            |  3 ++
fs/lockd/trace.h            | 83 +++++++++++++++++++++++++++++++++++++
fs/nfs/internal.h           | 15 -------
include/linux/lockd/lockd.h | 29 ++++++-------
include/linux/nfs.h         | 20 +++++++++
10 files changed, 200 insertions(+), 78 deletions(-)
create mode 100644 fs/lockd/trace.c
create mode 100644 fs/lockd/trace.h

-- 
2.39.2
--
Chuck Lever

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help