Re: NFS4ERR_RESOURCE returns Remote IO Error

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

 



On Fri, 2009-09-11 at 09:46 +0200, André Roth wrote:
> Hello list,
> 
> We have a problem with the NFS client on Linux on a NetApp filer. Every
> now and then we are getting huge amounts of "Remote IO Errors" on the
> mounted home directories. This is new, we had no problems with the same
> setup some months ago.
> 
> The reason for the Remote IO Errors is that the server is returning an
> NFS4ERR_RESOURCE error, even just for
> a simple "touch foo". The tcpdump of such a touch command I have listed
> below.
> 
> I suspect that maybe the deduplication or backup operation make the
> filer "busy" so it cannot respond to all compound operations.
> 
> I've seen that linux NFS just passes this error to the user as
> EREMOTEIO. OpenSolaris seems to delay and retry. According to the RFC
> I'm not sure what would be the right thing to do. But I think this is
> meant to be a temporary error, and an NFS client should, in the example
> below, take the first two operations as completed, and retry the
> remaining 5 ones, or maybe retry the whole compound message.
> 
> What is your insight on this error ?
> Is there something I can try, like returning EAGAIN and see if the error
> gets handled correctly ?
> The problem ocurred one or twice a week, without any regularity..

This has been discussed extensively on the IETF mailing lists, and the
code therefore reflects our current understanding of RFC3530.

Unlike NFS4ERR_DELAY, the error NFS4ERR_RESOURCE is not listed as a
temporary error, nor is there any admonition in the RFC to retry or
should do anything other than to split up a possible overly-complex
COMPOUND (which is usually not possible for us). To quote:

   In the processing of the COMPOUND procedure, the server may find
   that it does not have the available resources to execute any or all
   of the operations within the COMPOUND sequence.  In this case, the
   error NFS4ERR_RESOURCE will be returned for the particular operation
   within the COMPOUND procedure where the resource exhaustion
   occurred.  This assumes that all previous operations within the
   COMPOUND sequence have been evaluated successfully.  The results for
   all of the evaluated operations must be returned to the client.

IOW: If dedup is causing the filer to start returning NFS4ERR_RESOURCE
errors to the client, then that would appear to be a serious server bug.
I'd suggest you contact your NetApp sales rep, and ask them to help you
escalate this so that it gets due attention.

Cheers,
  Trond
-- 
Trond Myklebust
Linux NFS client maintainer

NetApp
Trond.Myklebust@xxxxxxxxxx
www.netapp.com
--
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