Re: [PATCH] Don't convert NFS4ERR_RESOURCE to EREMOTEIO

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



We have webserver clients on an AIX 5300-08 server and run into brief periods where the server returns NFS4ERR_RESOURCE on almost every operation. The webservers don't handle EREMOTEIO very well, and it would be preferable for us to retry.

It appeared that the retry, and no seqid increment was already set up, but never used because of the conversion.

Ben

J. Bruce Fields wrote:
On Wed, Mar 04, 2009 at 01:42:30PM -0500, Benjamin Coddington wrote:
Fixes a test in nfs4_proc_setclientid_confirm() which allows the client to retry an operation when the server returns NFS4ERR_RESOURCE, instead of returning EREMOTEIO to the user.

I remember being confused as to whether NFS4ERR_RESOURCE is transitory
(hence worth being retried) or permanent (in which case retrying the
identical compound won't help).  The latter might happen if, for
example, the particular sequence of compounds sent by the client was
just too long or complicated for the server to handle.

But rfc3530 doesn't explicitly limit NFS4ERR_RESOURCE to that case, and
it appears that other clients:

	http://www.nfsv4.org/nfsv4-wg-archive-feb-03-feb-05/0747.html

retry.  That discussion isn't conclusive, though.  Hm, and there's
further discussion from Mike Eisler here:

	http://www.nfsv4-editor.org/cgi-bin/roundup/nfsv4/file7/comp-res.txt

which suggests it was intended as a permanent error.

What was the specific case where you hit this?

--b.

---
fs/nfs/nfs4xdr.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/fs/nfs/nfs4xdr.c b/fs/nfs/nfs4xdr.c
index d1e4c8f..61dda13 100644
--- a/fs/nfs/nfs4xdr.c
+++ b/fs/nfs/nfs4xdr.c
@@ -4522,7 +4522,6 @@ static struct {
        { NFS4ERR_SERVERFAULT,  -ESERVERFAULT   },
        { NFS4ERR_BADTYPE,      -EBADTYPE       },
        { NFS4ERR_LOCKED,       -EAGAIN         },
-       { NFS4ERR_RESOURCE,     -EREMOTEIO      },
        { NFS4ERR_SYMLINK,      -ELOOP          },
        { NFS4ERR_OP_ILLEGAL,   -EOPNOTSUPP     },
        { NFS4ERR_DEADLOCK,     -EDEADLK        },

--
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

--
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

[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux