Message ID | 20201109211029.540993-2-trond.myklebust@hammerspace.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add RDMA support to the pNFS file+flexfiles data channels | expand |
> On Nov 9, 2020, at 4:10 PM, trondmy@gmail.com wrote: > > From: Trond Myklebust <trond.myklebust@hammerspace.com> > > According to RFC5666, the correct netid for an IPv6 addressed RDMA > transport is "rdma6", which we've supported as a mount option since > Linux-4.7. The problem is when we try to load the module "xprtrdma6", > that will fail, since there is no modulealias of that name. Trying to wrap my head around this. Who is forming the legacy names "xprtrdma6" and "svcrdma6" ? The module name these days is "rpcrdma". Seems like you should fix the code that is trying to load these by the wrong name rather than adding more legacy names. > Fixes: 181342c5ebe8 ("xprtrdma: Add rdma6 option to support NFS/RDMA IPv6") > Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com> > --- > net/sunrpc/xprtrdma/module.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/net/sunrpc/xprtrdma/module.c b/net/sunrpc/xprtrdma/module.c > index 620327c01302..fb55983628b4 100644 > --- a/net/sunrpc/xprtrdma/module.c > +++ b/net/sunrpc/xprtrdma/module.c > @@ -23,7 +23,9 @@ MODULE_AUTHOR("Open Grid Computing and Network Appliance, Inc."); > MODULE_DESCRIPTION("RPC/RDMA Transport"); > MODULE_LICENSE("Dual BSD/GPL"); > MODULE_ALIAS("svcrdma"); > +MODULE_ALIAS("svcrdma6"); > MODULE_ALIAS("xprtrdma"); > +MODULE_ALIAS("xprtrdma6"); > > static void __exit rpc_rdma_cleanup(void) > { > -- > 2.28.0 > -- Chuck Lever
On Mon, 2020-11-09 at 16:50 -0500, Chuck Lever wrote: > > > > On Nov 9, 2020, at 4:10 PM, trondmy@gmail.com wrote: > > > > From: Trond Myklebust <trond.myklebust@hammerspace.com> > > > > According to RFC5666, the correct netid for an IPv6 addressed RDMA > > transport is "rdma6", which we've supported as a mount option since > > Linux-4.7. The problem is when we try to load the module > > "xprtrdma6", > > that will fail, since there is no modulealias of that name. > > Trying to wrap my head around this. Who is forming the legacy names > "xprtrdma6" and "svcrdma6" ? I don't care about "svcrdma6", because nothing uses that name, AFAICS, because __write_ports_addxprt() appears to use the "transport name", whatever that is. > The module name these days is "rpcrdma". Seems like you should fix > the code that is trying to load these by the wrong name rather than > adding more legacy names. No, I'm not going to do that. The intention was always that xprt_load_transport() should take the netid as its argument. Furthermore, it makes no sense for either the NFS or generic RPC layers to have to figure out how by themselves how to translate netids into transport module names. > > > Fixes: 181342c5ebe8 ("xprtrdma: Add rdma6 option to support > > NFS/RDMA IPv6") > > Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com> > > --- > > net/sunrpc/xprtrdma/module.c | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/net/sunrpc/xprtrdma/module.c > > b/net/sunrpc/xprtrdma/module.c > > index 620327c01302..fb55983628b4 100644 > > --- a/net/sunrpc/xprtrdma/module.c > > +++ b/net/sunrpc/xprtrdma/module.c > > @@ -23,7 +23,9 @@ MODULE_AUTHOR("Open Grid Computing and Network > > Appliance, Inc."); > > MODULE_DESCRIPTION("RPC/RDMA Transport"); > > MODULE_LICENSE("Dual BSD/GPL"); > > MODULE_ALIAS("svcrdma"); > > +MODULE_ALIAS("svcrdma6"); > > MODULE_ALIAS("xprtrdma"); > > +MODULE_ALIAS("xprtrdma6"); > > > > static void __exit rpc_rdma_cleanup(void) > > { > > -- > > 2.28.0 > > > > -- > Chuck Lever > > >
diff --git a/net/sunrpc/xprtrdma/module.c b/net/sunrpc/xprtrdma/module.c index 620327c01302..fb55983628b4 100644 --- a/net/sunrpc/xprtrdma/module.c +++ b/net/sunrpc/xprtrdma/module.c @@ -23,7 +23,9 @@ MODULE_AUTHOR("Open Grid Computing and Network Appliance, Inc."); MODULE_DESCRIPTION("RPC/RDMA Transport"); MODULE_LICENSE("Dual BSD/GPL"); MODULE_ALIAS("svcrdma"); +MODULE_ALIAS("svcrdma6"); MODULE_ALIAS("xprtrdma"); +MODULE_ALIAS("xprtrdma6"); static void __exit rpc_rdma_cleanup(void) {