Message ID | 20200319141849.GB1546@fieldses.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | nfsd4: kill warnings on testing stateids with mismatched clientids | expand |
On 19 Mar 2020, at 10:18, J. Bruce Fields wrote: > From: "J. Bruce Fields" <bfields@redhat.com> > > It's normal for a client to test a stateid from a previous instance, > e.g. after a network partition. > > Signed-off-by: J. Bruce Fields <bfields@redhat.com> Thanks! Reviewed-by: Benjamin Coddington <bcodding@redhat.com> Ben > --- > fs/nfsd/nfs4state.c | 9 +-------- > 1 file changed, 1 insertion(+), 8 deletions(-) > > I'm not a fan of printk's even on buggy client behavior. I guess it > could be a dprintk. I'm not sure it adds much over information you > could get at some other layer, e.g. from a network trace. > > diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c > index c1f347bbf8f4..927cfb9d2204 100644 > --- a/fs/nfsd/nfs4state.c > +++ b/fs/nfsd/nfs4state.c > @@ -5522,15 +5522,8 @@ static __be32 nfsd4_validate_stateid(struct > nfs4_client *cl, stateid_t *stateid) > if (ZERO_STATEID(stateid) || ONE_STATEID(stateid) || > CLOSE_STATEID(stateid)) > return status; > - /* Client debugging aid. */ > - if (!same_clid(&stateid->si_opaque.so_clid, &cl->cl_clientid)) { > - char addr_str[INET6_ADDRSTRLEN]; > - rpc_ntop((struct sockaddr *)&cl->cl_addr, addr_str, > - sizeof(addr_str)); > - pr_warn_ratelimited("NFSD: client %s testing state ID " > - "with incorrect client ID\n", addr_str); > + if (!same_clid(&stateid->si_opaque.so_clid, &cl->cl_clientid)) > return status; > - } > spin_lock(&cl->cl_lock); > s = find_stateid_locked(cl, stateid); > if (!s) > -- > 2.25.1
> On Mar 19, 2020, at 10:30 AM, Benjamin Coddington <bcodding@redhat.com> wrote: > > On 19 Mar 2020, at 10:18, J. Bruce Fields wrote: > >> From: "J. Bruce Fields" <bfields@redhat.com> >> >> It's normal for a client to test a stateid from a previous instance, >> e.g. after a network partition. >> >> Signed-off-by: J. Bruce Fields <bfields@redhat.com> > > Thanks! > > Reviewed-by: Benjamin Coddington <bcodding@redhat.com> Applied to nfsd-5.7, thanks all! > Ben > >> --- >> fs/nfsd/nfs4state.c | 9 +-------- >> 1 file changed, 1 insertion(+), 8 deletions(-) >> >> I'm not a fan of printk's even on buggy client behavior. I guess it >> could be a dprintk. I'm not sure it adds much over information you >> could get at some other layer, e.g. from a network trace. >> >> diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c >> index c1f347bbf8f4..927cfb9d2204 100644 >> --- a/fs/nfsd/nfs4state.c >> +++ b/fs/nfsd/nfs4state.c >> @@ -5522,15 +5522,8 @@ static __be32 nfsd4_validate_stateid(struct nfs4_client *cl, stateid_t *stateid) >> if (ZERO_STATEID(stateid) || ONE_STATEID(stateid) || >> CLOSE_STATEID(stateid)) >> return status; >> - /* Client debugging aid. */ >> - if (!same_clid(&stateid->si_opaque.so_clid, &cl->cl_clientid)) { >> - char addr_str[INET6_ADDRSTRLEN]; >> - rpc_ntop((struct sockaddr *)&cl->cl_addr, addr_str, >> - sizeof(addr_str)); >> - pr_warn_ratelimited("NFSD: client %s testing state ID " >> - "with incorrect client ID\n", addr_str); >> + if (!same_clid(&stateid->si_opaque.so_clid, &cl->cl_clientid)) >> return status; >> - } >> spin_lock(&cl->cl_lock); >> s = find_stateid_locked(cl, stateid); >> if (!s) >> -- >> 2.25.1 > -- Chuck Lever
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c index c1f347bbf8f4..927cfb9d2204 100644 --- a/fs/nfsd/nfs4state.c +++ b/fs/nfsd/nfs4state.c @@ -5522,15 +5522,8 @@ static __be32 nfsd4_validate_stateid(struct nfs4_client *cl, stateid_t *stateid) if (ZERO_STATEID(stateid) || ONE_STATEID(stateid) || CLOSE_STATEID(stateid)) return status; - /* Client debugging aid. */ - if (!same_clid(&stateid->si_opaque.so_clid, &cl->cl_clientid)) { - char addr_str[INET6_ADDRSTRLEN]; - rpc_ntop((struct sockaddr *)&cl->cl_addr, addr_str, - sizeof(addr_str)); - pr_warn_ratelimited("NFSD: client %s testing state ID " - "with incorrect client ID\n", addr_str); + if (!same_clid(&stateid->si_opaque.so_clid, &cl->cl_clientid)) return status; - } spin_lock(&cl->cl_lock); s = find_stateid_locked(cl, stateid); if (!s)