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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox