Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

nfsd41: modify nfsd4.1 backchannel to use new xprt class

This patch enables the use of the nfsv4.1 backchannel.

Signed-off-by: Alexandros Batsakis <batsakis@netapp.com>
[initialize rpc_create_args.bc_xprt too]
Signed-off-by: Benny Halevy <bhalevy@panasas.com>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>

authored by

Alexandros Batsakis and committed by
J. Bruce Fields
3ddc8bf5 0421b5c5

+6 -2
+6 -2
fs/nfsd/nfs4callback.c
··· 48 48 #include <linux/nfsd/state.h> 49 49 #include <linux/sunrpc/sched.h> 50 50 #include <linux/nfs4.h> 51 + #include <linux/sunrpc/xprtsock.h> 51 52 52 53 #define NFSDDBG_FACILITY NFSDDBG_PROC 53 54 ··· 484 483 .to_retries = 0, 485 484 }; 486 485 struct rpc_create_args args = { 487 - .protocol = IPPROTO_TCP, 486 + .protocol = XPRT_TRANSPORT_TCP, 488 487 .address = (struct sockaddr *) &cb->cb_addr, 489 488 .addrsize = cb->cb_addrlen, 490 489 .timeout = &timeparms, ··· 499 498 500 499 if (!clp->cl_principal && (clp->cl_flavor >= RPC_AUTH_GSS_KRB5)) 501 500 return -EINVAL; 502 - 501 + if (cb->cb_minorversion) { 502 + args.bc_xprt = clp->cl_cb_xprt; 503 + args.protocol = XPRT_TRANSPORT_BC_TCP; 504 + } 503 505 /* Create RPC client */ 504 506 client = rpc_create(&args); 505 507 if (IS_ERR(client)) {