From: Joshua Watt <jpewhacker@gmail.com>
To: linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: Joshua Watt <jpewhacker@gmail.com>,
Trond Myklebust <trondmy@kernel.org>,
Anna Schumaker <anna@kernel.org>
Subject: [PATCH] NFS: Fix state renewals missing after boot
Date: Wed, 8 Oct 2025 17:09:22 -0600 [thread overview]
Message-ID: <20251008230935.738405-1-JPEWhacker@gmail.com> (raw)
From: Joshua Watt <jpewhacker@gmail.com>
Since the last renewal time was initialized to 0 and jiffies start
counting at -5 minutes, any clients connected in the first 5 minutes
after a reboot would have their renewal timer set to a very long
interval. If the connection was idle, this would result in the client
state timing out on the server and the next call to the server would
return NFS4ERR_BADSESSION.
Fix this by initializing the last renewal time to the current jiffies
instead of 0.
Signed-off-by: Joshua Watt <jpewhacker@gmail.com>
---
fs/nfs/client.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/fs/nfs/client.c b/fs/nfs/client.c
index 4e3dcc157a83..96cdfeb26a90 100644
--- a/fs/nfs/client.c
+++ b/fs/nfs/client.c
@@ -181,6 +181,7 @@ struct nfs_client *nfs_alloc_client(const struct nfs_client_initdata *cl_init)
clp->cl_nconnect = cl_init->nconnect;
clp->cl_max_connect = cl_init->max_connect ? cl_init->max_connect : 1;
clp->cl_net = get_net_track(cl_init->net, &clp->cl_ns_tracker, GFP_KERNEL);
+ clp->cl_last_renewal = jiffies;
#if IS_ENABLED(CONFIG_NFS_LOCALIO)
seqlock_init(&clp->cl_boot_lock);
--
2.51.0
next reply other threads:[~2025-10-08 23:09 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-08 23:09 Joshua Watt [this message]
2025-10-09 11:50 ` [PATCH] NFS: Fix state renewals missing after boot Jeff Layton
2025-10-09 21:16 ` Anna Schumaker
2025-10-09 21:48 ` [PATCH v2] NFS4: " Joshua Watt
2025-10-10 16:56 ` [PATCH] NFS: " kernel test robot
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=20251008230935.738405-1-JPEWhacker@gmail.com \
--to=jpewhacker@gmail.com \
--cc=anna@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-nfs@vger.kernel.org \
--cc=trondmy@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.