diff mbox series

nfsd4: kill warnings on testing stateids with mismatched clientids

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

Commit Message

J. Bruce Fields March 19, 2020, 2:18 p.m. UTC
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>
---
 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.

Comments

Benjamin Coddington March 19, 2020, 2:30 p.m. UTC | #1
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
Chuck Lever III March 19, 2020, 2:59 p.m. UTC | #2
> 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 mbox series

Patch

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)