OSDN Git Service

NFSv4.1: fix handling of backchannel binding in BIND_CONN_TO_SESSION
authorOlga Kornievskaia <olga.kornievskaia@gmail.com>
Fri, 24 Apr 2020 21:45:50 +0000 (17:45 -0400)
committerTrond Myklebust <trond.myklebust@hammerspace.com>
Tue, 28 Apr 2020 19:58:38 +0000 (15:58 -0400)
commitdff58530c4ca8ce7ee5a74db431c6e35362cf682
tree09ea83ae4657df6aba44edc009b86a0e86d38517
parent7c4310ff56422ea43418305d22bbc5fe19150ec4
NFSv4.1: fix handling of backchannel binding in BIND_CONN_TO_SESSION

Currently, if the client sends BIND_CONN_TO_SESSION with
NFS4_CDFC4_FORE_OR_BOTH but only gets NFS4_CDFS4_FORE back it ignores
that it wasn't able to enable a backchannel.

To make sure, the client sends BIND_CONN_TO_SESSION as the first
operation on the connections (ie., no other session compounds haven't
been sent before), and if the client's request to bind the backchannel
is not satisfied, then reset the connection and retry.

Cc: stable@vger.kernel.org
Signed-off-by: Olga Kornievskaia <kolga@netapp.com>
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
fs/nfs/nfs4proc.c
include/linux/nfs_xdr.h
include/linux/sunrpc/clnt.h