NFS: Ignore transport protocol when detecting server trunking
diff mbox

Message ID 20150103193753.3418.77888.stgit@manet.1015granger.net
State New, archived
Headers show

Commit Message

Chuck Lever Jan. 3, 2015, 7:45 p.m. UTC
Detect server trunking across transport protocols. Otherwise, an
RDMA mount and a TCP mount of the same server will end up with
separate nfs_clients using the same clientid4.

Reported-by: Dai Ngo <dai.ngo@oracle.com>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
---
Re: yesterday's discussion of "[PATCH] NFSv4.1: Fix client id
trunking on Linux". This patch seems to address the behavior I
mentioned.

 fs/nfs/nfs4client.c |    6 ------
 1 file changed, 6 deletions(-)


--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Trond Myklebust Jan. 3, 2015, 9:20 p.m. UTC | #1
On Sat, Jan 3, 2015 at 2:45 PM, Chuck Lever <chuck.lever@oracle.com> wrote:
> Detect server trunking across transport protocols. Otherwise, an
> RDMA mount and a TCP mount of the same server will end up with
> separate nfs_clients using the same clientid4.
>
> Reported-by: Dai Ngo <dai.ngo@oracle.com>
> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
> ---
> Re: yesterday's discussion of "[PATCH] NFSv4.1: Fix client id
> trunking on Linux". This patch seems to address the behavior I
> mentioned.
>
>  fs/nfs/nfs4client.c |    6 ------
>  1 file changed, 6 deletions(-)
>
> diff --git a/fs/nfs/nfs4client.c b/fs/nfs/nfs4client.c
> index c0fe338..c7bc38e 100644
> --- a/fs/nfs/nfs4client.c
> +++ b/fs/nfs/nfs4client.c
> @@ -540,9 +540,6 @@ int nfs40_walk_client_list(struct nfs_client *new,
>                 if (pos->rpc_ops != new->rpc_ops)
>                         continue;
>
> -               if (pos->cl_proto != new->cl_proto)
> -                       continue;
> -
>                 if (pos->cl_minorversion != new->cl_minorversion)
>                         continue;
>
> @@ -675,9 +672,6 @@ int nfs41_walk_client_list(struct nfs_client *new,
>                 if (pos->rpc_ops != new->rpc_ops)
>                         continue;
>
> -               if (pos->cl_proto != new->cl_proto)
> -                       continue;
> -
>                 if (pos->cl_minorversion != new->cl_minorversion)
>                         continue;
>
>

Yep. Sorry, I only noticed this after I'd written my own version. I'll
replace mine with this one.
Chuck Lever Jan. 3, 2015, 9:23 p.m. UTC | #2
On Jan 3, 2015, at 4:20 PM, Trond Myklebust <trond.myklebust@primarydata.com> wrote:

> On Sat, Jan 3, 2015 at 2:45 PM, Chuck Lever <chuck.lever@oracle.com> wrote:
>> Detect server trunking across transport protocols. Otherwise, an
>> RDMA mount and a TCP mount of the same server will end up with
>> separate nfs_clients using the same clientid4.
>> 
>> Reported-by: Dai Ngo <dai.ngo@oracle.com>
>> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
>> ---
>> Re: yesterday's discussion of "[PATCH] NFSv4.1: Fix client id
>> trunking on Linux". This patch seems to address the behavior I
>> mentioned.
>> 
>> fs/nfs/nfs4client.c |    6 ------
>> 1 file changed, 6 deletions(-)
>> 
>> diff --git a/fs/nfs/nfs4client.c b/fs/nfs/nfs4client.c
>> index c0fe338..c7bc38e 100644
>> --- a/fs/nfs/nfs4client.c
>> +++ b/fs/nfs/nfs4client.c
>> @@ -540,9 +540,6 @@ int nfs40_walk_client_list(struct nfs_client *new,
>>                if (pos->rpc_ops != new->rpc_ops)
>>                        continue;
>> 
>> -               if (pos->cl_proto != new->cl_proto)
>> -                       continue;
>> -
>>                if (pos->cl_minorversion != new->cl_minorversion)
>>                        continue;
>> 
>> @@ -675,9 +672,6 @@ int nfs41_walk_client_list(struct nfs_client *new,
>>                if (pos->rpc_ops != new->rpc_ops)
>>                        continue;
>> 
>> -               if (pos->cl_proto != new->cl_proto)
>> -                       continue;
>> -
>>                if (pos->cl_minorversion != new->cl_minorversion)
>>                        continue;
>> 
>> 
> 
> Yep. Sorry, I only noticed this after I'd written my own version. I'll
> replace mine with this one.

Thanks, much appreciated!

--
Chuck Lever
chuck[dot]lever[at]oracle[dot]com



--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch
diff mbox

diff --git a/fs/nfs/nfs4client.c b/fs/nfs/nfs4client.c
index c0fe338..c7bc38e 100644
--- a/fs/nfs/nfs4client.c
+++ b/fs/nfs/nfs4client.c
@@ -540,9 +540,6 @@  int nfs40_walk_client_list(struct nfs_client *new,
 		if (pos->rpc_ops != new->rpc_ops)
 			continue;
 
-		if (pos->cl_proto != new->cl_proto)
-			continue;
-
 		if (pos->cl_minorversion != new->cl_minorversion)
 			continue;
 
@@ -675,9 +672,6 @@  int nfs41_walk_client_list(struct nfs_client *new,
 		if (pos->rpc_ops != new->rpc_ops)
 			continue;
 
-		if (pos->cl_proto != new->cl_proto)
-			continue;
-
 		if (pos->cl_minorversion != new->cl_minorversion)
 			continue;