summaryrefslogtreecommitdiff
path: root/fs/coda
diff options
context:
space:
mode:
authorJeff Layton <jlayton@kernel.org>2022-10-28 08:13:53 -0400
committerChuck Lever <chuck.lever@oracle.com>2022-11-28 12:54:45 -0500
commite0aa651068bfd520afcd357af8ecd2de005fc83d (patch)
tree5a405e6443fca8601ea654cafcd35098e39f02c6 /fs/coda
parent427505ffeaa464f683faba945a88d3e3248f6979 (diff)
nfsd: don't call nfsd_file_put from client states seqfile display
We had a report of this: BUG: sleeping function called from invalid context at fs/nfsd/filecache.c:440 ...with a stack trace showing nfsd_file_put being called from nfs4_show_open. This code has always tried to call fput while holding a spinlock, but we recently changed this to use the filecache, and that started triggering the might_sleep() in nfsd_file_put. states_start takes and holds the cl_lock while iterating over the client's states, and we can't sleep with that held. Have the various nfs4_show_* functions instead hold the fi_lock instead of taking a nfsd_file reference. Fixes: 78599c42ae3c ("nfsd4: add file to display list of client's opens") Link: https://bugzilla.redhat.com/show_bug.cgi?id=2138357 Reported-by: Zhi Li <yieli@redhat.com> Signed-off-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Diffstat (limited to 'fs/coda')
0 files changed, 0 insertions, 0 deletions