|
@@ -7795,6 +7795,15 @@ static void nfs4_layoutget_done(struct rpc_task *task, void *calldata)
|
|
|
switch (task->tk_status) {
|
|
|
case 0:
|
|
|
goto out;
|
|
|
+
|
|
|
+ /*
|
|
|
+ * NFS4ERR_LAYOUTUNAVAILABLE means we are not supposed to use pnfs
|
|
|
+ * on the file. set tk_status to -ENODATA to tell upper layer to
|
|
|
+ * retry go inband.
|
|
|
+ */
|
|
|
+ case -NFS4ERR_LAYOUTUNAVAILABLE:
|
|
|
+ task->tk_status = -ENODATA;
|
|
|
+ goto out;
|
|
|
/*
|
|
|
* NFS4ERR_BADLAYOUT means the MDS cannot return a layout of
|
|
|
* length lgp->args.minlength != 0 (see RFC5661 section 18.43.3).
|