From: Jeff Layton <jlayton@kernel.org>
To: Chuck Lever <cel@kernel.org>, NeilBrown <neil@brown.name>,
Olga Kornievskaia <okorniev@redhat.com>,
Dai Ngo <Dai.Ngo@oracle.com>, Tom Talpey <tom@talpey.com>,
Trond Myklebust <trondmy@kernel.org>,
Anna Schumaker <anna@kernel.org>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>,
Paolo Abeni <pabeni@redhat.com>, Simon Horman <horms@kernel.org>,
Shuah Khan <shuah@kernel.org>
Cc: Slawomir Stepien <sst@poczta.fm>,
linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org,
netdev@vger.kernel.org, Trond Myklebust <trondmy@gmail.com>,
linux-kselftest@vger.kernel.org,
Jeff Layton <jlayton@kernel.org>
Subject: [PATCH v3 07/14] SUNRPC: stop svc_register() once rpcbind stops answering
Date: Fri, 28 Aug 2026 12:37:37 -0400 [thread overview]
Message-ID: <20260828-nfsd-nl-hang-v3-7-55026685c75d@kernel.org> (raw)
In-Reply-To: <20260828-nfsd-nl-hang-v3-0-55026685c75d@kernel.org>
svc_register() walks every program and every version. The break on error
leaves the version loop only, so a program whose call to the local rpcbind
timed out is followed by the next program timing out in the same way. With
the 1s bound on the local rpcbind client, an nfsd serv pays 2s for that,
once for nfsd and once for nfsacl.
Stop the program loop too, but only when the call got no answer.
Assisted-by: LLM
Signed-off-by: Jeff Layton <jlayton@kernel.org>
---
net/sunrpc/svc.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/net/sunrpc/svc.c b/net/sunrpc/svc.c
index 54f8e8b0bf28..e437e99a0b36 100644
--- a/net/sunrpc/svc.c
+++ b/net/sunrpc/svc.c
@@ -1258,6 +1258,10 @@ int svc_register(struct svc_serv *serv, struct net *net,
break;
}
}
+
+ /* Give up on trying to register anything if it didn't respond */
+ if (noanswer)
+ break;
}
if (noanswer)
--
2.55.0
next prev parent reply other threads:[~2026-08-28 16:37 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-28 16:37 [PATCH v3 00/14] nfsd/sunrpc: harden the netlink listener set interface Jeff Layton
2026-08-28 16:37 ` [PATCH v3 01/14] NFSD: cap the number of listeners accepted in listener_set Jeff Layton
2026-08-28 16:37 ` [PATCH v3 02/14] NFSD: validate transport name in listener_set before serv creation Jeff Layton
2026-08-28 16:37 ` [PATCH v3 03/14] SUNRPC: keep the first error in svc_register() Jeff Layton
2026-08-28 16:37 ` [PATCH v3 04/14] SUNRPC: bound the local rpcbind client timeout to 1s Jeff Layton
2026-08-28 16:37 ` [PATCH v3 05/14] NFSD: report listener creation failures through extack Jeff Layton
2026-08-28 16:37 ` [PATCH v3 06/14] SUNRPC: report local rpcbind calls that get no answer Jeff Layton
2026-08-30 15:51 ` Chuck Lever
2026-08-31 12:05 ` Jeff Layton
2026-08-28 16:37 ` Jeff Layton [this message]
2026-08-28 16:37 ` [PATCH v3 08/14] SUNRPC: stop the svc_unregister() sweep once rpcbind stops answering Jeff Layton
2026-08-28 16:37 ` [PATCH v3 09/14] SUNRPC: stop unregistering listeners " Jeff Layton
2026-08-28 16:37 ` [PATCH v3 10/14] NFSD: stop registering with rpcbind after a failure in listener_set Jeff Layton
2026-08-28 16:37 ` [PATCH v3 11/14] selftests/nfsd: exercise listener_set request validation Jeff Layton
2026-08-28 16:37 ` [PATCH v3 12/14] selftests/nfsd: add a per-netns rpcbind stub and the listener round-trips Jeff Layton
2026-08-28 16:37 ` [PATCH v3 13/14] selftests/nfsd: check that listener_set asks rpcbind once Jeff Layton
2026-08-28 16:37 ` [PATCH v3 14/14] selftests/nfsd: check that listener removal " Jeff Layton
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=20260828-nfsd-nl-hang-v3-7-55026685c75d@kernel.org \
--to=jlayton@kernel.org \
--cc=Dai.Ngo@oracle.com \
--cc=anna@kernel.org \
--cc=cel@kernel.org \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=horms@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=linux-nfs@vger.kernel.org \
--cc=neil@brown.name \
--cc=netdev@vger.kernel.org \
--cc=okorniev@redhat.com \
--cc=pabeni@redhat.com \
--cc=shuah@kernel.org \
--cc=sst@poczta.fm \
--cc=tom@talpey.com \
--cc=trondmy@gmail.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®