13. Error Values
NFS error numbers are assigned to failed operations within a COMPOUND
or CB_COMPOUND request. A COMPOUND request contains a number of NFS
operations that have their results encoded in sequence in a COMPOUND
reply. The results of successful operations will consist of an
NFS4_OK status followed by the encoded results of the operation. If
an NFS operation fails, an error status will be entered in the reply,
and the COMPOUND request will be terminated.
126.96.36.199. NFS4ERR_DELAY (Error Code 10008)
For any of a number of reasons, the replier could not process this
operation in what was deemed a reasonable time. The client should
wait and then try the request with a new RPC transaction ID.
The following are two examples of what might lead to this situation:
o A server that supports hierarchical storage receives a request to
process a file that had been migrated.
o An operation requires a delegation recall to proceed, and waiting
for this delegation recall makes processing this request in a
timely fashion impossible.
188.8.131.52. NFS4ERR_INVAL (Error Code 22)
The arguments for this operation are not valid for some reason, even
though they do match those specified in the XDR definition for the
184.108.40.206. NFS4ERR_NOTSUPP (Error Code 10004)
The operation is not supported, either because the operation is an
OPTIONAL one and is not supported by this server or because the
operation MUST NOT be implemented in the current minor version.
220.127.116.11. NFS4ERR_SERVERFAULT (Error Code 10006)
An error that does not map to any of the specific legal NFSv4
protocol error values occurred on the server. The client should
translate this into an appropriate error. UNIX clients may choose to
translate this to EIO.
18.104.22.168. NFS4ERR_TOOSMALL (Error Code 10005)
This error is used where an operation returns a variable amount of
data, with a limit specified by the client. Where the data returned
cannot be fitted within the limit specified by the client, this error
13.1.2. Filehandle Errors
These errors deal with the situation in which the current or saved
filehandle, or the filehandle passed to PUTFH intended to become the
current filehandle, is invalid in some way. This includes situations
in which the filehandle is a valid filehandle in general but is not
of the appropriate object type for the current operation.
Where the error description indicates a problem with the current or
saved filehandle, it is to be understood that filehandles are only
checked for the condition if they are implicit arguments of the
operation in question.
22.214.171.124. NFS4ERR_BADHANDLE (Error Code 10001)
This error is generated for an illegal NFS filehandle for the current
server. The current filehandle failed internal consistency checks.
Once accepted as valid (by PUTFH), no subsequent status change can
cause the filehandle to generate this error.
126.96.36.199. NFS4ERR_FHEXPIRED (Error Code 10014)
A current or saved filehandle that is an argument to the current
operation is volatile and has expired at the server.
188.8.131.52. NFS4ERR_ISDIR (Error Code 21)
The current or saved filehandle designates a directory when the
current operation does not allow a directory to be accepted as the
target of this operation.
184.108.40.206. NFS4ERR_MOVED (Error Code 10019)
The file system that contains the current filehandle object is not
present at the server. It may have been relocated or migrated to
another server, or may have never been present. The client may
obtain the new file system location by obtaining the "fs_locations"
attribute for the current filehandle. For further discussion, refer
to Section 8.
220.127.116.11. NFS4ERR_NOFILEHANDLE (Error Code 10020)
The logical current or saved filehandle value is required by the
current operation and is not set. This may be a result of a
malformed COMPOUND operation (i.e., no PUTFH or PUTROOTFH before an
operation that requires that the current filehandle be set).
18.104.22.168. NFS4ERR_NOTDIR (Error Code 20)
The current (or saved) filehandle designates an object that is not a
directory for an operation in which a directory is required.
22.214.171.124. NFS4ERR_STALE (Error Code 70)
The current or saved filehandle value designating an argument to the
current operation is invalid. The file system object referred to by
that filehandle no longer exists, or access to it has been revoked.
126.96.36.199. NFS4ERR_SYMLINK (Error Code 10029)
The current filehandle designates a symbolic link when the current
operation does not allow a symbolic link as the target.
13.1.3. Compound Structure Errors
This section deals with errors that relate to the overall structure
of a COMPOUND request (by which we mean to include both COMPOUND and
CB_COMPOUND), rather than to particular operations.
There are a number of basic constraints on the operations that may
appear in a COMPOUND request.
188.8.131.52. NFS_OK (Error Code 0)
NFS_OK indicates that the operation completed successfully, in that
all of the constituent operations completed without error.
184.108.40.206. NFS4ERR_MINOR_VERS_MISMATCH (Error Code 10021)
The minor version specified is not one that the current listener
supports. This value is returned in the overall status for the
COMPOUND procedure but is not associated with a specific operation,
since the results must specify a result count of zero.
220.127.116.11. NFS4ERR_OP_ILLEGAL (Error Code 10044)
The operation code is not a valid one for the current COMPOUND
procedure. The opcode in the result stream matched with this error
is the ILLEGAL value, although the value that appears in the request
stream may be different. Where an illegal value appears and the
replier pre-parses all operations for a COMPOUND procedure before
doing any operation execution, an RPC-level XDR error may be returned
in this case.
18.104.22.168. NFS4ERR_RESOURCE (Error Code 10018)
For the processing of the COMPOUND procedure, the server may exhaust
available resources and cannot continue processing operations within
the COMPOUND procedure. This error will be returned from the server
in those instances of resource exhaustion related to the processing
of the COMPOUND procedure.
13.1.4. File System Errors
These errors describe situations that occurred in the underlying file
system implementation rather than in the protocol or any NFSv4.x
22.214.171.124. NFS4ERR_BADTYPE (Error Code 10007)
An attempt was made to create an object with an inappropriate type
specified to CREATE. This may be because the type is undefined;
because it is a type not supported by the server; or because it is a
type for which create is not intended, such as a regular file or
named attribute, for which OPEN is used to do the file creation.
126.96.36.199. NFS4ERR_DQUOT (Error Code 69)
The resource (quota) hard limit has been exceeded. The user's
resource limit on the server has been exceeded.
188.8.131.52. NFS4ERR_EXIST (Error Code 17)
A file system object of the specified target name (when creating,
renaming, or linking) already exists.
184.108.40.206. NFS4ERR_FBIG (Error Code 27)
The file system object is too large. The operation would have caused
a file system object to grow beyond the server's limit.
220.127.116.11. NFS4ERR_FILE_OPEN (Error Code 10046)
The operation is not allowed because a file system object involved in
the operation is currently open. Servers may, but are not required
to, disallow linking to, removing, or renaming open file system
18.104.22.168. NFS4ERR_IO (Error Code 5)
This indicates that an I/O error occurred for which the file system
was unable to provide recovery.
13.1.5. State Management Errors
These errors indicate problems with the stateid (or one of the
stateids) passed to a given operation. This includes situations in
which the stateid is invalid, as well as situations in which the
stateid is valid but designates revoked locking state. Depending on
the operation, the stateid, when valid, may designate opens,
byte-range locks, or file delegations.
22.214.171.124. NFS4ERR_ADMIN_REVOKED (Error Code 10047)
A stateid designates locking state of any type that has been revoked
due to administrative interaction, possibly while the lease is valid,
or because a delegation was revoked because of failure to return it,
while the lease was valid.
126.96.36.199. NFS4ERR_BAD_STATEID (Error Code 10025)
A stateid generated by the current server instance was used that
o Does not designate any locking state (either current or
superseded) for a current (state-owner, file) pair.
o Designates locking state that was freed after lease expiration but
without any lease cancellation, as may happen in the handling of
188.8.131.52. NFS4ERR_EXPIRED (Error Code 10011)
A stateid or clientid designates locking state of any type that has
been revoked or released due to cancellation of the client's lease,
either immediately upon lease expiration, or following a later
request for a conflicting lock.
184.108.40.206. NFS4ERR_LEASE_MOVED (Error Code 10031)
A lease being renewed is associated with a file system that has been
migrated to a new server.
220.127.116.11. NFS4ERR_OLD_STATEID (Error Code 10024)
A stateid is provided with a seqid value that is not the most
18.104.22.168. NFS4ERR_STALE_STATEID (Error Code 10023)
A stateid generated by an earlier server instance was used.
13.1.6. Security Errors
These are the various permission-related errors in NFSv4.
22.214.171.124. NFS4ERR_ACCESS (Error Code 13)
This indicates permission denied. The caller does not have the
correct permission to perform the requested operation. Contrast this
with NFS4ERR_PERM (Section 126.96.36.199), which restricts itself to owner
or privileged user permission failures.
188.8.131.52. NFS4ERR_PERM (Error Code 1)
This indicates that the requester is not the owner. The operation
was not allowed because the caller is neither a privileged user
(root) nor the owner of the target of the operation.
184.108.40.206. NFS4ERR_WRONGSEC (Error Code 10016)
This indicates that the security mechanism being used by the client
for the operation does not match the server's security policy. The
client should change the security mechanism being used and re-send
the operation. SECINFO can be used to determine the appropriate
13.1.7. Name Errors
Names in NFSv4 are UTF-8 strings. When the strings are not of length
zero, the error NFS4ERR_INVAL results. When they are not valid
UTF-8, the error NFS4ERR_INVAL also results, but servers may
accommodate file systems with different character formats and not
return this error. Besides this, there are a number of other errors
to indicate specific problems with names.
220.127.116.11. NFS4ERR_BADCHAR (Error Code 10040)
A UTF-8 string contains a character that is not supported by the
server in the context in which it is being used.
18.104.22.168. NFS4ERR_BADNAME (Error Code 10041)
A name string in a request consisted of valid UTF-8 characters
supported by the server, but the name is not supported by the server
as a valid name for current operation. An example might be creating
a file or directory named ".." on a server whose file system uses
that name for links to parent directories.
This error should not be returned due to a normalization issue in a
string. When a file system keeps names in a particular normalization
form, it is the server's responsibility to do the appropriate
normalization, rather than rejecting the name.
22.214.171.124. NFS4ERR_NAMETOOLONG (Error Code 63)
This is returned when the filename in an operation exceeds the
server's implementation limit.
13.1.8. Locking Errors
This section deals with errors related to locking -- both share
reservations and byte-range locking. It does not deal with errors
specific to the process of reclaiming locks. Those are dealt with in
the next section.
126.96.36.199. NFS4ERR_BAD_RANGE (Error Code 10042)
The range for a LOCK, LOCKT, or LOCKU operation is not appropriate to
the allowable range of offsets for the server. For example, this
error results when a server that only supports 32-bit ranges receives
a range that cannot be handled by that server. (See
188.8.131.52. NFS4ERR_BAD_SEQID (Error Code 10026)
The sequence number (seqid) in a locking request is neither the next
expected number nor the last number processed.
184.108.40.206. NFS4ERR_DEADLOCK (Error Code 10045)
The server has been able to determine a file locking deadlock
condition for a blocking lock request.
220.127.116.11. NFS4ERR_DENIED (Error Code 10010)
An attempt to lock a file is denied. Since this may be a temporary
condition, the client is encouraged to re-send the lock request until
the lock is accepted. See Section 9.4 for a discussion of the
13.1.9. Reclaim Errors
These errors relate to the process of reclaiming locks after a server
18.104.22.168. NFS4ERR_GRACE (Error Code 10013)
The server is in its recovery or grace period, which should at least
match the lease period of the server. A locking request other than a
reclaim could not be granted during that period.
22.214.171.124. NFS4ERR_NO_GRACE (Error Code 10033)
The server cannot guarantee that it has not granted state to another
client that may conflict with this client's state. No further
reclaims from this client will succeed.
126.96.36.199. NFS4ERR_RECLAIM_BAD (Error Code 10034)
The server cannot guarantee that it has not granted state to another
client that may conflict with the requested state. However, this
applies only to the state requested in this call; further reclaims
Unlike NFS4ERR_RECLAIM_CONFLICT, this can occur between correctly
functioning clients and servers: the "edge condition" scenarios
described in Section 188.8.131.52 leave only the server knowing whether
the client's locks are still valid, and NFS4ERR_RECLAIM_BAD is the
server's way of informing the client that they are not.
184.108.40.206. NFS4ERR_RECLAIM_CONFLICT (Error Code 10035)
The reclaim attempted by the client conflicts with a lock already
held by another client. Unlike NFS4ERR_RECLAIM_BAD, this can only
occur if one of the clients misbehaved.