Commit 16590a22 authored by Chuck Lever's avatar Chuck Lever Committed by Trond Myklebust

SUNRPC: Silence WARN_ON when NFSv4.1 over RDMA is in use

Using NFSv4.1 on RDMA should be safe, so broaden the new checks in
rpc_create().

WARN_ON_ONCE is used, matching most other WARN call sites in clnt.c.

Fixes: 39a9beab ("rpc: share one xps between all backchannels")
Fixes: d50039ea ("nfsd4/rpc: move backchannel create logic...")
Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
Reviewed-by: default avatarJ. Bruce Fields <bfields@fieldses.org>
Signed-off-by: default avatarTrond Myklebust <trond.myklebust@primarydata.com>
parent 41963c10
...@@ -453,7 +453,7 @@ static struct rpc_clnt *rpc_create_xprt(struct rpc_create_args *args, ...@@ -453,7 +453,7 @@ static struct rpc_clnt *rpc_create_xprt(struct rpc_create_args *args,
struct rpc_xprt_switch *xps; struct rpc_xprt_switch *xps;
if (args->bc_xprt && args->bc_xprt->xpt_bc_xps) { if (args->bc_xprt && args->bc_xprt->xpt_bc_xps) {
WARN_ON(args->protocol != XPRT_TRANSPORT_BC_TCP); WARN_ON_ONCE(!(args->protocol & XPRT_TRANSPORT_BC));
xps = args->bc_xprt->xpt_bc_xps; xps = args->bc_xprt->xpt_bc_xps;
xprt_switch_get(xps); xprt_switch_get(xps);
} else { } else {
...@@ -520,7 +520,7 @@ struct rpc_clnt *rpc_create(struct rpc_create_args *args) ...@@ -520,7 +520,7 @@ struct rpc_clnt *rpc_create(struct rpc_create_args *args)
char servername[48]; char servername[48];
if (args->bc_xprt) { if (args->bc_xprt) {
WARN_ON(args->protocol != XPRT_TRANSPORT_BC_TCP); WARN_ON_ONCE(!(args->protocol & XPRT_TRANSPORT_BC));
xprt = args->bc_xprt->xpt_bc_xprt; xprt = args->bc_xprt->xpt_bc_xprt;
if (xprt) { if (xprt) {
xprt_get(xprt); xprt_get(xprt);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment