2010-04-03 13:27:31

by Tom Tucker

[permalink] [raw]
Subject: [PATCH] svcrdma: RDMA support not yet compatible with RPC6

RPC6 requires that it be possible to create endpoints that listen
exclusively for IPv4 or IPv6 connection requests. This is not currently
supported by the RDMA API.

Signed-off-by: Tom Tucker<[email protected]>
Tested-by: Steve Wise<[email protected]>
---

net/sunrpc/xprtrdma/svc_rdma_transport.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/net/sunrpc/xprtrdma/svc_rdma_transport.c b/net/sunrpc/xprtrdma/svc_rdma_transport.c
index 3fa5751..4e6bbf9 100644
--- a/net/sunrpc/xprtrdma/svc_rdma_transport.c
+++ b/net/sunrpc/xprtrdma/svc_rdma_transport.c
@@ -678,7 +678,10 @@ static struct svc_xprt *svc_rdma_create(struct svc_serv *serv,
int ret;

dprintk("svcrdma: Creating RDMA socket\n");
-
+ if (sa->sa_family != AF_INET) {
+ dprintk("svcrdma: Address family %d is not supported.\n", sa->sa_family);
+ return ERR_PTR(-EAFNOSUPPORT);
+ }
cma_xprt = rdma_create_xprt(serv, 1);
if (!cma_xprt)
return ERR_PTR(-ENOMEM);



2010-04-05 16:13:57

by J. Bruce Fields

[permalink] [raw]
Subject: Re: [PATCH] svcrdma: RDMA support not yet compatible with RPC6

On Mon, Apr 05, 2010 at 10:50:16AM -0500, Tom Tucker wrote:
> J. Bruce Fields wrote:
>> On Mon, Apr 05, 2010 at 10:55:12AM -0400, Chuck Lever wrote:
>>
>>> On 04/03/2010 09:27 AM, Tom Tucker wrote:
>>>
>>>> RPC6 requires that it be possible to create endpoints that listen
>>>> exclusively for IPv4 or IPv6 connection requests. This is not currently
>>>> supported by the RDMA API.
>>>>
>>>> Signed-off-by: Tom Tucker<[email protected]>
>>>> Tested-by: Steve Wise<[email protected]>
>>>>
>>> Reviewed-by: Chuck Lever <[email protected]>
>>>
>>
>> Thanks to all. I take it the problem began with 37498292a "NFSD: Create
>> PF_INET6 listener in write_ports"?
>>
>>
>
> Yes.

Thanks. I'll pass along

git://linux-nfs.org/~bfields/linux.git for-2.6.34

soon.

--b.

2010-04-05 15:51:22

by Chuck Lever

[permalink] [raw]
Subject: Re: [PATCH] svcrdma: RDMA support not yet compatible with RPC6

On 04/05/2010 11:48 AM, J. Bruce Fields wrote:
> On Mon, Apr 05, 2010 at 10:55:12AM -0400, Chuck Lever wrote:
>> On 04/03/2010 09:27 AM, Tom Tucker wrote:
>>> RPC6 requires that it be possible to create endpoints that listen
>>> exclusively for IPv4 or IPv6 connection requests. This is not currently
>>> supported by the RDMA API.
>>>
>>> Signed-off-by: Tom Tucker<[email protected]>
>>> Tested-by: Steve Wise<[email protected]>
>>
>> Reviewed-by: Chuck Lever<[email protected]>
>
> Thanks to all. I take it the problem began with 37498292a "NFSD: Create
> PF_INET6 listener in write_ports"?

I don't know exactly, but that would make sense.

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

2010-04-05 16:18:00

by J. Bruce Fields

[permalink] [raw]
Subject: Re: [PATCH] svcrdma: RDMA support not yet compatible with RPC6

On Mon, Apr 05, 2010 at 12:16:18PM -0400, J. Bruce Fields wrote:
> On Mon, Apr 05, 2010 at 10:50:16AM -0500, Tom Tucker wrote:
> > J. Bruce Fields wrote:
> >> On Mon, Apr 05, 2010 at 10:55:12AM -0400, Chuck Lever wrote:
> >>
> >>> On 04/03/2010 09:27 AM, Tom Tucker wrote:
> >>>
> >>>> RPC6 requires that it be possible to create endpoints that listen
> >>>> exclusively for IPv4 or IPv6 connection requests. This is not currently
> >>>> supported by the RDMA API.
> >>>>
> >>>> Signed-off-by: Tom Tucker<[email protected]>
> >>>> Tested-by: Steve Wise<[email protected]>
> >>>>
> >>> Reviewed-by: Chuck Lever <[email protected]>
> >>>
> >>
> >> Thanks to all. I take it the problem began with 37498292a "NFSD: Create
> >> PF_INET6 listener in write_ports"?
> >>
> >>
> >
> > Yes.
>
> Thanks. I'll pass along
>
> git://linux-nfs.org/~bfields/linux.git for-2.6.34
>
> soon.

And: sorry we didn't catch this when it happened. I have some of the
equipment I'd need to do basic regression tests, but haven't set it up.

I hope I get to it at some point.... For now I depend on others to
catch even basic rdma regressions--let me know if there's some way I
could make your testing easier.

--b.

2010-04-05 15:50:17

by Tom Tucker

[permalink] [raw]
Subject: Re: [PATCH] svcrdma: RDMA support not yet compatible with RPC6

J. Bruce Fields wrote:
> On Mon, Apr 05, 2010 at 10:55:12AM -0400, Chuck Lever wrote:
>
>> On 04/03/2010 09:27 AM, Tom Tucker wrote:
>>
>>> RPC6 requires that it be possible to create endpoints that listen
>>> exclusively for IPv4 or IPv6 connection requests. This is not currently
>>> supported by the RDMA API.
>>>
>>> Signed-off-by: Tom Tucker<[email protected]>
>>> Tested-by: Steve Wise<[email protected]>
>>>
>> Reviewed-by: Chuck Lever <[email protected]>
>>
>
> Thanks to all. I take it the problem began with 37498292a "NFSD: Create
> PF_INET6 listener in write_ports"?
>
>

Yes.

Tom

> --b.
>
>
>>> ---
>>>
>>> net/sunrpc/xprtrdma/svc_rdma_transport.c | 5 ++++-
>>> 1 files changed, 4 insertions(+), 1 deletions(-)
>>>
>>> diff --git a/net/sunrpc/xprtrdma/svc_rdma_transport.c
>>> b/net/sunrpc/xprtrdma/svc_rdma_transport.c
>>> index 3fa5751..4e6bbf9 100644
>>> --- a/net/sunrpc/xprtrdma/svc_rdma_transport.c
>>> +++ b/net/sunrpc/xprtrdma/svc_rdma_transport.c
>>> @@ -678,7 +678,10 @@ static struct svc_xprt *svc_rdma_create(struct
>>> svc_serv *serv,
>>> int ret;
>>>
>>> dprintk("svcrdma: Creating RDMA socket\n");
>>> -
>>> + if (sa->sa_family != AF_INET) {
>>> + dprintk("svcrdma: Address family %d is not supported.\n", sa->sa_family);
>>> + return ERR_PTR(-EAFNOSUPPORT);
>>> + }
>>> cma_xprt = rdma_create_xprt(serv, 1);
>>> if (!cma_xprt)
>>> return ERR_PTR(-ENOMEM);
>>>
>>>
>> --
>> chuck[dot]lever[at]oracle[dot]com
>>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>


2010-04-05 15:46:30

by J. Bruce Fields

[permalink] [raw]
Subject: Re: [PATCH] svcrdma: RDMA support not yet compatible with RPC6

On Mon, Apr 05, 2010 at 10:55:12AM -0400, Chuck Lever wrote:
> On 04/03/2010 09:27 AM, Tom Tucker wrote:
>> RPC6 requires that it be possible to create endpoints that listen
>> exclusively for IPv4 or IPv6 connection requests. This is not currently
>> supported by the RDMA API.
>>
>> Signed-off-by: Tom Tucker<[email protected]>
>> Tested-by: Steve Wise<[email protected]>
>
> Reviewed-by: Chuck Lever <[email protected]>

Thanks to all. I take it the problem began with 37498292a "NFSD: Create
PF_INET6 listener in write_ports"?

--b.

>
>> ---
>>
>> net/sunrpc/xprtrdma/svc_rdma_transport.c | 5 ++++-
>> 1 files changed, 4 insertions(+), 1 deletions(-)
>>
>> diff --git a/net/sunrpc/xprtrdma/svc_rdma_transport.c
>> b/net/sunrpc/xprtrdma/svc_rdma_transport.c
>> index 3fa5751..4e6bbf9 100644
>> --- a/net/sunrpc/xprtrdma/svc_rdma_transport.c
>> +++ b/net/sunrpc/xprtrdma/svc_rdma_transport.c
>> @@ -678,7 +678,10 @@ static struct svc_xprt *svc_rdma_create(struct
>> svc_serv *serv,
>> int ret;
>>
>> dprintk("svcrdma: Creating RDMA socket\n");
>> -
>> + if (sa->sa_family != AF_INET) {
>> + dprintk("svcrdma: Address family %d is not supported.\n", sa->sa_family);
>> + return ERR_PTR(-EAFNOSUPPORT);
>> + }
>> cma_xprt = rdma_create_xprt(serv, 1);
>> if (!cma_xprt)
>> return ERR_PTR(-ENOMEM);
>>
>
>
> --
> chuck[dot]lever[at]oracle[dot]com

2010-04-05 14:55:30

by Chuck Lever

[permalink] [raw]
Subject: Re: [PATCH] svcrdma: RDMA support not yet compatible with RPC6

On 04/03/2010 09:27 AM, Tom Tucker wrote:
> RPC6 requires that it be possible to create endpoints that listen
> exclusively for IPv4 or IPv6 connection requests. This is not currently
> supported by the RDMA API.
>
> Signed-off-by: Tom Tucker<[email protected]>
> Tested-by: Steve Wise<[email protected]>

Reviewed-by: Chuck Lever <[email protected]>

> ---
>
> net/sunrpc/xprtrdma/svc_rdma_transport.c | 5 ++++-
> 1 files changed, 4 insertions(+), 1 deletions(-)
>
> diff --git a/net/sunrpc/xprtrdma/svc_rdma_transport.c
> b/net/sunrpc/xprtrdma/svc_rdma_transport.c
> index 3fa5751..4e6bbf9 100644
> --- a/net/sunrpc/xprtrdma/svc_rdma_transport.c
> +++ b/net/sunrpc/xprtrdma/svc_rdma_transport.c
> @@ -678,7 +678,10 @@ static struct svc_xprt *svc_rdma_create(struct
> svc_serv *serv,
> int ret;
>
> dprintk("svcrdma: Creating RDMA socket\n");
> -
> + if (sa->sa_family != AF_INET) {
> + dprintk("svcrdma: Address family %d is not supported.\n", sa->sa_family);
> + return ERR_PTR(-EAFNOSUPPORT);
> + }
> cma_xprt = rdma_create_xprt(serv, 1);
> if (!cma_xprt)
> return ERR_PTR(-ENOMEM);
>


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

2010-04-05 16:19:40

by Tom Tucker

[permalink] [raw]
Subject: Re: [PATCH] svcrdma: RDMA support not yet compatible with RPC6

J. Bruce Fields wrote:
> On Mon, Apr 05, 2010 at 12:16:18PM -0400, J. Bruce Fields wrote:
>
>> On Mon, Apr 05, 2010 at 10:50:16AM -0500, Tom Tucker wrote:
>>
>>> J. Bruce Fields wrote:
>>>
>>>> On Mon, Apr 05, 2010 at 10:55:12AM -0400, Chuck Lever wrote:
>>>>
>>>>
>>>>> On 04/03/2010 09:27 AM, Tom Tucker wrote:
>>>>>
>>>>>
>>>>>> RPC6 requires that it be possible to create endpoints that listen
>>>>>> exclusively for IPv4 or IPv6 connection requests. This is not currently
>>>>>> supported by the RDMA API.
>>>>>>
>>>>>> Signed-off-by: Tom Tucker<[email protected]>
>>>>>> Tested-by: Steve Wise<[email protected]>
>>>>>>
>>>>>>
>>>>> Reviewed-by: Chuck Lever <[email protected]>
>>>>>
>>>>>
>>>> Thanks to all. I take it the problem began with 37498292a "NFSD: Create
>>>> PF_INET6 listener in write_ports"?
>>>>
>>>>
>>>>
>>> Yes.
>>>
>> Thanks. I'll pass along
>>
>> git://linux-nfs.org/~bfields/linux.git for-2.6.34
>>
>> soon.
>>
>
> And: sorry we didn't catch this when it happened. I have some of the
> equipment I'd need to do basic regression tests, but haven't set it up.
>
> I hope I get to it at some point.... For now I depend on others to
> catch even basic rdma regressions--let me know if there's some way I
> could make your testing easier.
>
>

We were focused on older kernels..and probably should have caught it
quicker. No worries. Thanks,

Tom

> --b.
>