]> www.infradead.org Git - users/jedix/linux-maple.git/commit
nfsd: replace CB_GETATTR_BUSY with NFSD4_CALLBACK_RUNNING
authorJeff Layton <jlayton@kernel.org>
Thu, 20 Feb 2025 16:47:15 +0000 (11:47 -0500)
committerChuck Lever <chuck.lever@oracle.com>
Mon, 10 Mar 2025 13:11:10 +0000 (09:11 -0400)
commit49bdbdb11f70edef73ff9015f9b4ce717338def9
treee1c0960597497b447d9d4cc386df03361dbe54c4
parent424dd3df1f991b14a70f044a68c8a595abbdf1ad
nfsd: replace CB_GETATTR_BUSY with NFSD4_CALLBACK_RUNNING

These flags serve essentially the same purpose and get set and cleared
at the same time. Drop CB_GETATTR_BUSY and just use
NFSD4_CALLBACK_RUNNING instead.

For this to work, we must use clear_and_wake_up_bit(), but doing that on
for other types of callbacks is wasteful. Declare a new NFSD4_CALLBACK_WAKE
flag in cb_flags to indicate that wake_up is needed, and only set that
for CB_GETATTRs.

Also, make the wait use a TASK_UNINTERRUPTIBLE sleep. This is done in
the context of an nfsd thread, and it should never need to deal with
signals.

Signed-off-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
fs/nfsd/nfs4callback.c
fs/nfsd/nfs4state.c
fs/nfsd/state.h