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

nfsd: skip CB_NULL probes for 4.1 or later

With sessions in v4.1 or later we don't need to manually probe the backchannel
connection, so we can declare it up instantly after setting up the RPC client.

Note that we really should split nfsd4_run_cb_work in the long run, this is
just the least intrusive fix for now.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>

authored by

Christoph Hellwig and committed by
J. Bruce Fields
4bd9e9b7 cba5f62b

+9
+9
fs/nfsd/nfs4callback.c
··· 1066 1066 cb->cb_ops->release(cb); 1067 1067 return; 1068 1068 } 1069 + 1070 + /* 1071 + * Don't send probe messages for 4.1 or later. 1072 + */ 1073 + if (!cb->cb_ops && clp->cl_minorversion) { 1074 + clp->cl_cb_state = NFSD4_CB_UP; 1075 + return; 1076 + } 1077 + 1069 1078 cb->cb_msg.rpc_cred = clp->cl_cb_cred; 1070 1079 rpc_call_async(clnt, &cb->cb_msg, RPC_TASK_SOFT | RPC_TASK_SOFTCONN, 1071 1080 cb->cb_ops ? &nfsd4_cb_ops : &nfsd4_cb_probe_ops, cb);