nfs42: do not fail with EIO if ssc returns NFS4ERR_OFFLOAD_DENIED
authorTigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Tue, 7 Feb 2023 17:46:35 +0000 (18:46 +0100)
committerAnna Schumaker <Anna.Schumaker@Netapp.com>
Wed, 15 Feb 2023 15:42:51 +0000 (10:42 -0500)
commit4730515378a70064581b27ed112fcfc6f2a379ca
tree77fa6f76a96e6861ae5c89986dcd36dd854247e0
parent5bab56fff53ce161ed859d9559a10361d4f79578
nfs42: do not fail with EIO if ssc returns NFS4ERR_OFFLOAD_DENIED

The NFSv4.2 server even if supports intra-SSC might prefer that for
a particular file a classic copy is performed. As returning ENOTSUPP
will clear the SSC capability of the server by the client, server
might return NFS4ERR_OFFLOAD_DENIED (well, spec talks about remote
servers there).

Update nfs42_proc_copy to handle NFS4ERR_OFFLOAD_DENIED as ENOTSUPP,
but without clearing NFS_CAP_COPY bit.

Signed-off-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
fs/nfs/nfs42proc.c