Message ID | 20220601173449.155273-1-smayhew@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | sunrpc: set cl_max_connect when cloning an rpc_clnt | expand |
Hi Scott, On Wed, Jun 1, 2022 at 1:34 PM Scott Mayhew <smayhew@redhat.com> wrote: > > If the initial attempt at trunking detection using the krb5i auth flavor > fails with -EACCES, -NFS4ERR_CLID_INUSE, or -NFS4ERR_WRONGSEC, then the > NFS client tries again using auth_sys, cloning the rpc_clnt in the > process. If this second attempt at trunking detection succeeds, then > the resulting nfs_client->cl_rpcclient winds up having cl_max_connect=0 > and subsequent attempts to add additional transport connections to the > rpc_clnt will fail with a message similar to the following being logged: > > [502044.312640] SUNRPC: reached max allowed number (0) did not add > transport to server: 192.168.122.3 Good catch! I was wondering if you could give me a "Fixes:" tag so it can be backported to stable? Thanks, Anna > > Signed-off-by: Scott Mayhew <smayhew@redhat.com> > --- > net/sunrpc/clnt.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c > index e2c6eca0271b..b6781ada3aa8 100644 > --- a/net/sunrpc/clnt.c > +++ b/net/sunrpc/clnt.c > @@ -651,6 +651,7 @@ static struct rpc_clnt *__rpc_clone_client(struct rpc_create_args *args, > new->cl_discrtry = clnt->cl_discrtry; > new->cl_chatty = clnt->cl_chatty; > new->cl_principal = clnt->cl_principal; > + new->cl_max_connect = clnt->cl_max_connect; > return new; > > out_err: > -- > 2.35.3 >
On Mon, 06 Jun 2022, Anna Schumaker wrote: > Hi Scott, > > On Wed, Jun 1, 2022 at 1:34 PM Scott Mayhew <smayhew@redhat.com> wrote: > > > > If the initial attempt at trunking detection using the krb5i auth flavor > > fails with -EACCES, -NFS4ERR_CLID_INUSE, or -NFS4ERR_WRONGSEC, then the > > NFS client tries again using auth_sys, cloning the rpc_clnt in the > > process. If this second attempt at trunking detection succeeds, then > > the resulting nfs_client->cl_rpcclient winds up having cl_max_connect=0 > > and subsequent attempts to add additional transport connections to the > > rpc_clnt will fail with a message similar to the following being logged: > > > > [502044.312640] SUNRPC: reached max allowed number (0) did not add > > transport to server: 192.168.122.3 > > Good catch! I was wondering if you could give me a "Fixes:" tag so it > can be backported to stable? Fixes: dc48e0abee24 ("SUNRPC enforce creation of no more than max_connect xprts") > > Thanks, > Anna > > > > > Signed-off-by: Scott Mayhew <smayhew@redhat.com> > > --- > > net/sunrpc/clnt.c | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c > > index e2c6eca0271b..b6781ada3aa8 100644 > > --- a/net/sunrpc/clnt.c > > +++ b/net/sunrpc/clnt.c > > @@ -651,6 +651,7 @@ static struct rpc_clnt *__rpc_clone_client(struct rpc_create_args *args, > > new->cl_discrtry = clnt->cl_discrtry; > > new->cl_chatty = clnt->cl_chatty; > > new->cl_principal = clnt->cl_principal; > > + new->cl_max_connect = clnt->cl_max_connect; > > return new; > > > > out_err: > > -- > > 2.35.3 > > >
On Tue, Jun 7, 2022 at 8:53 AM Scott Mayhew <smayhew@redhat.com> wrote: > > On Mon, 06 Jun 2022, Anna Schumaker wrote: > > > Hi Scott, > > > > On Wed, Jun 1, 2022 at 1:34 PM Scott Mayhew <smayhew@redhat.com> wrote: > > > > > > If the initial attempt at trunking detection using the krb5i auth flavor > > > fails with -EACCES, -NFS4ERR_CLID_INUSE, or -NFS4ERR_WRONGSEC, then the > > > NFS client tries again using auth_sys, cloning the rpc_clnt in the > > > process. If this second attempt at trunking detection succeeds, then > > > the resulting nfs_client->cl_rpcclient winds up having cl_max_connect=0 > > > and subsequent attempts to add additional transport connections to the > > > rpc_clnt will fail with a message similar to the following being logged: > > > > > > [502044.312640] SUNRPC: reached max allowed number (0) did not add > > > transport to server: 192.168.122.3 > > > > Good catch! I was wondering if you could give me a "Fixes:" tag so it > > can be backported to stable? > > Fixes: dc48e0abee24 ("SUNRPC enforce creation of no more than max_connect xprts") Thanks! Applied for a -rc pull request > > > > > Thanks, > > Anna > > > > > > > > Signed-off-by: Scott Mayhew <smayhew@redhat.com> > > > --- > > > net/sunrpc/clnt.c | 1 + > > > 1 file changed, 1 insertion(+) > > > > > > diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c > > > index e2c6eca0271b..b6781ada3aa8 100644 > > > --- a/net/sunrpc/clnt.c > > > +++ b/net/sunrpc/clnt.c > > > @@ -651,6 +651,7 @@ static struct rpc_clnt *__rpc_clone_client(struct rpc_create_args *args, > > > new->cl_discrtry = clnt->cl_discrtry; > > > new->cl_chatty = clnt->cl_chatty; > > > new->cl_principal = clnt->cl_principal; > > > + new->cl_max_connect = clnt->cl_max_connect; > > > return new; > > > > > > out_err: > > > -- > > > 2.35.3 > > > > > >
diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c index e2c6eca0271b..b6781ada3aa8 100644 --- a/net/sunrpc/clnt.c +++ b/net/sunrpc/clnt.c @@ -651,6 +651,7 @@ static struct rpc_clnt *__rpc_clone_client(struct rpc_create_args *args, new->cl_discrtry = clnt->cl_discrtry; new->cl_chatty = clnt->cl_chatty; new->cl_principal = clnt->cl_principal; + new->cl_max_connect = clnt->cl_max_connect; return new; out_err:
If the initial attempt at trunking detection using the krb5i auth flavor fails with -EACCES, -NFS4ERR_CLID_INUSE, or -NFS4ERR_WRONGSEC, then the NFS client tries again using auth_sys, cloning the rpc_clnt in the process. If this second attempt at trunking detection succeeds, then the resulting nfs_client->cl_rpcclient winds up having cl_max_connect=0 and subsequent attempts to add additional transport connections to the rpc_clnt will fail with a message similar to the following being logged: [502044.312640] SUNRPC: reached max allowed number (0) did not add transport to server: 192.168.122.3 Signed-off-by: Scott Mayhew <smayhew@redhat.com> --- net/sunrpc/clnt.c | 1 + 1 file changed, 1 insertion(+)