From: Jeff Layton <jlayton@kernel.org>
To: chuck.lever@oracle.com
Cc: linux-nfs@vger.kernel.org, David Howells <dhowells@redhat.com>
Subject: [PATCH 4/4] nfsd: add some comments to nfsd_file_do_acquire
Date: Thu, 5 Jan 2023 07:15:12 -0500 [thread overview]
Message-ID: <20230105121512.21484-5-jlayton@kernel.org> (raw)
In-Reply-To: <20230105121512.21484-1-jlayton@kernel.org>
David Howells mentioned that he found this bit of code confusing, so
sprinkle in some comments to clarify.
Reported-by: David Howells <dhowells@redhat.com>
Signed-off-by: Jeff Layton <jlayton@kernel.org>
---
fs/nfsd/filecache.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/fs/nfsd/filecache.c b/fs/nfsd/filecache.c
index f0ca9501edb2..5724baad09ec 100644
--- a/fs/nfsd/filecache.c
+++ b/fs/nfsd/filecache.c
@@ -1105,6 +1105,11 @@ nfsd_file_do_acquire(struct svc_rqst *rqstp, struct svc_fh *fhp,
rcu_read_unlock();
if (nf) {
+ /*
+ * If the nf is on the LRU then it holds an extra reference
+ * that must be put if it's removed. It had better not be
+ * the last one however, since we should hold another.
+ */
if (nfsd_file_lru_remove(nf))
WARN_ON_ONCE(refcount_dec_and_test(&nf->nf_ref));
goto wait_for_construction;
--
2.39.0
next prev parent reply other threads:[~2023-01-05 12:15 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-05 12:15 [PATCH 0/4] nfsd: filecache cleanups and optimizations Jeff Layton
2023-01-05 12:15 ` [PATCH 1/4] nfsd: don't open-code clear_and_wake_up_bit Jeff Layton
2023-01-05 12:15 ` [PATCH 2/4] nfsd: NFSD_FILE_KEY_INODE only needs to find GC'ed entries Jeff Layton
2023-01-05 14:18 ` Chuck Lever III
2023-01-05 14:29 ` Jeff Layton
2023-01-05 14:32 ` Chuck Lever III
2023-01-05 12:15 ` [PATCH 3/4] nfsd: don't kill nfsd_files because of lease break error Jeff Layton
2023-01-18 17:54 ` Jeff Layton
2023-01-18 18:45 ` Chuck Lever III
2023-01-05 12:15 ` Jeff Layton [this message]
2023-01-12 3:04 ` [PATCH 0/4] nfsd: filecache cleanups and optimizations Chuck Lever III
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230105121512.21484-5-jlayton@kernel.org \
--to=jlayton@kernel.org \
--cc=chuck.lever@oracle.com \
--cc=dhowells@redhat.com \
--cc=linux-nfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.