aboutsummaryrefslogtreecommitdiffstats
path: root/net/switchdev/switchdev.c
diff options
context:
space:
mode:
authorChristoph Hellwig <[email protected]>2015-04-30 09:49:24 +0000
committerJ. Bruce Fields <[email protected]>2015-05-04 16:02:41 +0000
commitcba5f62b1830c1919b47544789bc993e6e617dc6 (patch)
tree6f85f8982fe083ea576b7938799e56fe4d675bec /net/switchdev/switchdev.c
parentnfsd: split transport vs operation errors for callbacks (diff)
downloadkernel-cba5f62b1830c1919b47544789bc993e6e617dc6.tar.gz
kernel-cba5f62b1830c1919b47544789bc993e6e617dc6.zip
nfsd: fix callback restarts
Checking the rpc_client pointer is not a reliable way to detect backchannel changes: cl_cb_client is changed only after shutting down the rpc client, so the condition cl_cb_client = tk_client will always be true. Check the RPC_TASK_KILLED flag instead, and rewrite the code to avoid the buggy cl_callbacks list and fix the lifetime rules due to double calls of the ->prepare callback operations method for this retry case. Signed-off-by: Christoph Hellwig <[email protected]> Signed-off-by: J. Bruce Fields <[email protected]>
Diffstat (limited to 'net/switchdev/switchdev.c')
0 files changed, 0 insertions, 0 deletions