If client sent async COPY and server replied with ERR_OFFLOAD_NO_REQS, client should retry with a synchronous copy. Signed-off-by: Olga Kornievskaia <kolga@xxxxxxxxxx> --- fs/nfs/nfs42proc.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/fs/nfs/nfs42proc.c b/fs/nfs/nfs42proc.c index b29f2c9..c9d8d7a 100644 --- a/fs/nfs/nfs42proc.c +++ b/fs/nfs/nfs42proc.c @@ -273,10 +273,17 @@ static ssize_t _nfs42_proc_copy(struct file *src, if (status) return status; +retry: args->sync = sync; status = nfs4_call_sync(server->client, server, &msg, &args->seq_args, &res->seq_res, 0); switch (status) { + case -NFS4ERR_OFFLOAD_NO_REQS: + if (!sync) { + sync = true; + goto retry; + } + break; case -ENOTSUPP: server->caps &= ~NFS_CAP_COPY; break; -- 1.8.3.1 -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html