Return codes
Table 1 lists the externalized return codes that are defined by the NFS version 2 protocol.
| Return Value | Return Code | Description |
|---|---|---|
| NFS_OK | 0 | Requests completed successfully and the results are valid. |
| NFSERR_PERM | 1 | Not owner. The operation
was not allowed because:
|
| NFSERR_NOENT | 2 | No such file or directory. The file or directory specified does not exist. |
| NFSERR_IO | 5 | A hard error occurred when the operation was in progress. For example, this could be a disk error. |
| NFSERR_NXIO | 6 | No such device or address. |
| NFSERR_ACCESS | 13 | Permission denied. The caller does not have the correct permission to perform the requested operation. |
| NFSERR_EXIST | 17 | File exists. The file specified already exists. |
| NFSERR_NODEV | 19 | No such device. |
| NFSERR_NOTDIR | 20 | Not a directory. The caller specified a non-directory in a directory operation. |
| NFSERR_ISDIR | 21 | Is a directory. The caller specified a directory in a non-directory operation. |
| NFSERR_EINVAL | 22 | An argument was passed to the z/OS NFS server that was not valid. |
| NFSERR_FBIG | 27 | File too large. The operation caused a file to grow beyond the server’s limit. |
| NFSERR_NOSPC | 28 | No space left on device. The operation caused the server’s file system to reach its limit. |
| NFSERR_ROFS | 30 | Read-only file system. Write tried on a read-only file system. |
| NFSERR_NAMETOOLONG | 63 | File name too long. The file name in an operation was too long. |
| NFSERR_NOTEMPTY | 66 | Directory not empty. Tried to remove a directory that was not empty. |
| NFSERR_DQUOT | 69 | Disk quota exceeded. The client’s disk quota on the server has been exceeded. |
| NFSERR_STALE | 70 | The file handle given in the arguments was not valid. That is, the file referred to by that file handle no longer exists, or access to it has been revoked. |
Table 2 lists the externalized return codes that
are defined by the NFS version 3 protocol.
| Return Value | Return Code | Description |
|---|---|---|
| NFS_OK | 0 | Requests completed successfully and the results are valid. |
| NFS3ERR_PERM | 1 | Not owner. The caller does not have correct ownership to perform the requested operation. |
| NFS3ERR_NOENT | 2 | No such file or directory. The file or directory specified does not exist. |
| NFS3ERR_IO | 5 | A hard error occurred when the operation was in progress. For example, this could be a disk error. |
| NFS3ERR_NXIO | 6 | No such device or address. |
| NFS3ERR_ACCESS | 13 | Permission denied. The caller does not have the correct permission to perform the requested operation. |
| NFS3ERR_EXIST | 17 | File exists. The file specified already exists. |
| NFS3ERR_XDEV | 18 | Attempt to do an operation across the file system. |
| NFS3ERR_NODEV | 19 | No such device. |
| NFS3ERR_NOTDIR | 20 | Not a directory. The caller specified a non-directory in a directory operation. |
| NFS3ERR_ISDIR | 21 | Is a directory. The caller specified a directory in a non-directory operation. |
| NFS3ERR_INVAL | 22 | An argument was passed to the z/OS NFS server that was not valid. |
| NFS3ERR_FBIG | 27 | File too large. The operation caused a file to grow beyond the server’s limit. |
| NFS3ERR_NOSPC | 28 | No space left on device. The operation caused the server’s file system to reach its limit. |
| NFS3ERR_ROFS | 30 | Read-only file system. Write tried on a read-only file system. |
| NFS3ERR_MLINK | 31 | Too many links. |
| NFS3ERR_NAMETOOLONG | 63 | File name too long. The file name in an operation was too long. |
| NFS3ERR_NOTEMPTY | 66 | Directory not empty. Tried to remove a directory that was not empty. |
| NFS3ERR_DQUOT | 69 | Disk quota exceeded. The client’s disk quota on the server has been exceeded. |
| NFS3ERR_STALE | 70 | The file handle given in the arguments was not valid. That is, the file referred to by that file handle no longer exists, or access to it has been revoked. |
| NFS3ERR_BADHANDLE | 10001 | File handle is not valid. |
| NFS3ERR_NOT_SYNC | 10002 | Synchronization mismatch on SETATTR. |
| NFS3ERR_BAD_COOKIE | 10003 | READDIR and READDIRPLUS cookie is stale. |
| NFS3ERR_NOTSUPP | 10004 | Operation is not supported. |
| NFS3ERR_TOOSMALL | 10005 | Buffer or request is too small. |
| NFS3ERR_SERVERFAULT | 10006 | Server abandons the request. |
| NFS3ERR_BADTYPE | 10007 | Type of an object is not supported. |
| NFS3ERR_JUKEBOX | 10008 | Request was initiated, but not completed. |
Table 3 lists the externalized return codes that
are defined by the NFS version 4 protocol.
| Return Value | Return Code | Description |
|---|---|---|
| NFS4_OK | 0 | Requests completed successfully and the results are valid. |
| NFS4ERR_PERM | 1 | Not owner. The caller does not have correct ownership to perform the requested operation. |
| NFS4ERR_NOENT | 2 | No such file or directory. The file or directory specified does not exist. |
| NFS4ERR_IO | 5 | A hard error occurred when the operation was in progress. For example, this could be a disk error. |
| NFS4ERR_NXIO | 6 | No such device or address. |
| NFS4ERR_ACCESS | 13 | Permission denied. The caller does not have the correct permission to perform the requested operation. |
| NFS4ERR_EXIST | 17 | File exists. The file specified already exists. |
| NFS4ERR_XDEV | 18 | Attempt to do an operation across the file system. |
| 19 | Not used/reserved. | |
| NFS4ERR_NOTDIR | 20 | Not a directory. The caller specified a non-directory in a directory operation. |
| NFS4ERR_ISDIR | 21 | Is a directory. The caller specified a directory in a non-directory operation. |
| NFS4ERR_INVAL | 22 | An argument was passed to the NFS server that was not valid. |
| NFS4ERR_FBIG | 27 | File too large. The operation caused a file to grow beyond the server’s limit. |
| NFS4ERR_NOSPC | 28 | No space left on device. The operation caused the server’s file system to reach its limit. |
| NFS4ERR_ROFS | 30 | Read-only file system. Write tried on a read-only file system. |
| NFS4ERR_MLINK | 31 | Too many hard links. |
| NFS4ERR_NAMETOOLONG | 63 | File name too long. The file name in an operation was too long. |
| NFS4ERR_NOTEMPTY | 66 | Directory not empty. Tried to remove a directory that was not empty. |
| NFS4ERR_DQUOT | 69 | Disk quota exceeded. The client’s disk quota on the server has been exceeded. |
| NFS4ERR_STALE | 70 | The file handle given in the arguments was not valid. That is, the file referred to by that file handle no longer exists, or access to it has been revoked. |
| NFS4ERR_BADHANDLE | 10001 | File handle is not valid. |
| NFS4ERR_BAD_COOKIE | 10003 | READDIR and READDIRPLUS cookie is stale. |
| NFS4ERR_NOTSUPP | 10004 | Operation is not supported. |
| NFS4ERR_TOOSMALL | 10005 | Buffer or request is too small. |
| NFS4ERR_SERVERFAULT | 10006 | Server abandons the request. |
| NFS4ERR_BADTYPE | 10007 | Type of an object is not supported. |
| NFS4ERR_DELAY | 10008 | Request was initiated, but not completed. File was busy; retry. |
| NFS4ERR_SAME | 10009 | Request was initiated, but attributes are the same. |
| NFS4ERR_DENIED | 10010 | Lock was unavailable. |
| NFS4ERR_EXPIRED | 10011 | Lock release expired. |
| NFS4ERR_LOCKED | 10012 | I/O failure due to lock. |
| NFS4ERR_GRACE | 10013 | In grace period. |
| NFS4ERR_FHEXPIRED | 10014 | File handle expired. |
| NFS4ERR_SHARE_DENIED | 10015 | Share reserve denied. |
| NFS4ERR_WRONGSEC | 10016 | Wrong security level. |
| NFS4ERR_CLID_INUSE | 10017 | Client id in use. |
| NFS4ERR_RESOURCE | 10018 | Resource exhaustion. |
| NFS4ERR_MOVED | 10019 | Filesystem relocated. |
| NFS4ERR_NOFILEHANDLE | 10020 | Current file handle is not set. |
| NFS4ERR_MINOR_VERS_MISMATCH | 10021 | Minor version not supported. |
| NFS4ERR_STALE_CLIENTID | 10022 | Server has rebooted. |
| NFS4ERR_STALE_STATEID | 10023 | Server has rebooted. |
| NFS4ERR_OLD_STATEID | 10024 | State is not in synch. |
| NFS4ERR_BAD_STATEID | 10025 | Incorrect state id. |
| NFS4ERR_BAD_SEQID | 10026 | Request is out of sequence. |
| NFS4ERR_NOT_SAME | 10027 | Verify - attributes not the same. |
| NFS4ERR_LOCK_RANGE | 10028 | Lock range not supported. |
| NFS4ERR_SYMLINK | 10029 | Should be file/directory. |
| NFS4ERR_RESTOREFH | 10030 | No saved file handle. |
| NFS4ERR_LEASE_MOVED | 10031 | Some file system moved. |
| NFS4ERR_ATTRNOTSUPP | 10032 | Recommended attribute not supported. |
| NFS4ERR_NO_GRACE | 10033 | Reclaim attempt was not within the grace period. |
| NFS4ERR_RECLAIM_BAD | 10034 | Reclaim error occurred at server. |
| NFS4ERR_RECLAIM_CONFLICT | 10035 | Conflict occurred on reclaim. |
| NFS4ERR_BADXDR | 10036 | XDR decode failed. |
| NFS4ERR_LOCKS_HELD | 10037 | File locks held at CLOSE. |
| NFS4ERR_OPENMODE | 10038 | Conflict in OPEN and I/O. |
| NFS4ERR_BAD_OWNER | 10039 | Owner translation was not correct. |
| NFS4ERR_BADCHAR | 10040 | utf-8 character was not supported. |
| NFS4ERR_BADNAME | 10041 | Name is not supported. |
| NFS4ERR_BAD_RANGE | 10042 | Lock range was not supported. |
| NFS4ERR_LOCK_NOTSUPP | 10043 | No atomic upgrade or downgrade. |
| NFS4ERR_OP_ILLEGAL | 10044 | Operation was undefined. |
| NFS4ERR_DEADLOCK | 10045 | Deadlock occurred in file locking. |
| NFS4ERR_FILE_OPEN | 10046 | An open file blocked the operation. |
| NFS4ERR_ADMIN_REVOKED | 10047 | The lock owner's state was revoked. |
| NFS4ERR_CB_PATH_DOWN | 10048 | The callback path was down. |
Table 4 lists the z/OS UNIX return codes and their
equivalent NFS Version 2 server return codes.
| OMVS Codes | Dec | Hex | NFS V2 Codes (NFSERR_) | Dec | Hex | Description |
|---|---|---|---|---|---|---|
| EACCES | 111 | 006F | ACCES | 13 | 000D | Permission denied |
| EAGAIN | 112 | 0070 | IO | 5 | 0005 | Resource is temporarily unavailable |
| EBUSY | 114 | 0072 | IO | 5 | 0005 | Resource is busy |
| EDEADLK | 116 | 0074 | IO | 5 | 0005 | A resource deadlock is avoided |
| EEXIST | 117 | 0075 | EXIST | 17 | 0011 | The file exists |
| EFAULT | 118 | 0076 | IO | 5 | 0005 | The address is incorrect |
| EFBIG | 119 | 0077 | FBIG | 27 | 001B | The file is too large |
| EINVAL | 121 | 0079 | IO | 5 | 0005 | The parameter is incorrect |
| EIO | 122 | 007A | IO | 5 | 0005 | An I/O error occurred |
| EISDIR | 123 | 007B | ISDIR | 21 | 0015 | The file specified is a directory |
| EMFILE | 124 | 007C | IO | 5 | 0005 | Too many files are open for this directory |
| EMLINK | 125 | 007D | IO | 5 | 0005 | Too many links occurred |
| ENAMETOOLONG | 126 | 007E | NAMETOOLONG | 63 | 003F | The file name is too long |
| ENFILE | 127 | 007F | IO | 5 | 0005 | Too many files are open |
| ENODEV | 128 | 0080 | NODEV | 19 | 0013 | No such device exists |
| ENOENT | 129 | 0081 | NOENT | 2 | 0002 | No such file, directory or IPC member exists |
| ENOMEM | 132 | 0084 | IO | 5 | 0005 | Not enough space is available |
| ENOSPC | 133 | 0085 | NOSPC | 28 | 001C | No space is left on device |
| ENOTDIR | 135 | 0087 | NOTDIR | 20 | 0014 | Not a directory |
| ENOTEMPTY | 136 | 0088 | NOTEMPTY | 66 | 0042 | Directory is not empty |
| ENXIO | 138 | 008A | NXIO | 6 | 0006 | No such device or address exists |
| EPERM | 139 | 008B | IO | 5 | 0005 | The operation is not permitted |
| EROFS | 141 | 008D | ROFS | 30 | 001E | The specified file system is read only |
| EXDEV | 144 | 0090 | XDEV | 18 | 0012 | A link to a file on another file system was attempted |
| E2BIG | 145 | 0091 | IO | 5 | 0005 | The parameter list is too long |
| ELOOP | 146 | 0092 | IO | 5 | 0005 | A loop is encountered in symbolic links |
| EILSEQ | 147 | 0093 | IO | 5 | 0005 | The byte sequence is illegal |
| EMVSERR | 157 | 009D | IO | 5 | 0005 | MVS environmental or internal error |
| EMVSPARM | 158 | 009E | IO | 5 | 0005 | Bad parameters were passed to the service |
| EMVSPFSFILE | 159 | 009F | IO | 5 | 0005 | z/OS UNIX encountered a permanent file error |
| EMVSPFSPERM | 162 | 00A2 | IO | 5 | 0005 | z/OS UNIX encountered a system error |
| EMVSSAFEXTRERR | 163 | 00A3 | IO | 5 | 0005 | SAF/RACF extract error |
| EMVSSAF2ERR | 164 | 00A4 | IO | 5 | 0005 | SAF/RACF error |
| EDQUOT | 1133 | 046D | DQUOT | 69 | 0045 | Disk quota exceeded |
| ESTALE | 1134 | 046E | STALE | 70 | 0046 | Stale NFS file handle |
| EREMOTE | 1135 | 046F | IO | 5 | 0005 | Too many levels of remote in path |
Table 5 lists the z/OS UNIX return codes and their
equivalent NFS Version 3 server return codes.
| OMVS Codes | Dec | Hex | NFS V3 Codes (NFS3ERR_) | Dec | Hex | Description |
|---|---|---|---|---|---|---|
| EACCES | 111 | 006F | ACCES | 13 | 000D | Permission denied |
| EAGAIN | 112 | 0070 | JUKEBOX | 10008 | 2718 | Resource is temporarily unavailable |
| EBUSY | 114 | 0072 | JUKEBOX | 10008 | 2718 | Resource is busy |
| EDEADLK | 116 | 0074 | DEADLOCK | 10045 | 273D | A resource deadlock is avoided |
| EEXIST | 117 | 0075 | EXIST | 17 | 0011 | The file exists |
| EFAULT | 118 | 0076 | SERVERFAULT | 10006 | 2716 | The address is incorrect |
| EFBIG | 119 | 0077 | FBIG | 27 | 001B | The file is too large |
| EINVAL | 121 | 0079 | INVAL | 22 | 0016 | The parameter is incorrect |
| EIO | 122 | 007A | IO | 5 | 0005 | An I/O error occurred |
| EISDIR | 123 | 007B | ISDIR | 21 | 0015 | The file specified is a directory |
| EMFILE | 124 | 007C | JUKEBOX | 10008 | 2718 | Too many files are open for this directory |
| EMLINK | 125 | 007D | MLINK | 31 | 001F | Too many links occurred |
| ENAMETOOLONG | 126 | 007E | NAMETOOLONG | 63 | 003F | The file name is too long |
| ENFILE | 127 | 007F | DQUOT | 69 | 0045 | Too many files are open |
| ENODEV | 128 | 0080 | NODEV | 19 | 0013 | No such device exists |
| ENOENT | 129 | 0081 | NOENT | 2 | 0002 | No such file, directory or IPC member exists |
| ENOMEM | 132 | 0084 | JUKEBOX | 10008 | 2718 | Not enough space is available |
| ENOSPC | 133 | 0085 | NOSPC | 28 | 001C | No space is left on device |
| ENOTDIR | 135 | 0087 | NOTDIR | 20 | 0014 | Not a directory |
| ENOTEMPTY | 136 | 0088 | NOTEMPTY | 66 | 0042 | Directory is not empty |
| ENXIO | 138 | 008A | NXIO | 6 | 0006 | No such device or address exists |
| EPERM | 139 | 008B | PERM | 1 | 0001 | The operation is not permitted |
| EROFS | 141 | 008D | ROFS | 30 | 001E | The specified file system is read only |
| EXDEV | 144 | 0090 | XDEV | 18 | 0012 | A link to a file on another file system was attempted |
| E2BIG | 145 | 0091 | SERVERFAULT | 10006 | 2716 | The parameter list is too long |
| ELOOP | 146 | 0092 | IO | 5 | 0005 | A loop is encountered in symbolic links |
| EMVSERR | 157 | 009D | SERVERFAULT | 10006 | 2716 | MVS environmental or internal error |
| EMVSPARM | 158 | 009E | SERVERFAULT | 10006 | 2716 | Bad parameters were passed to the service |
| EMVSPFSFILE | 159 | 009F | IO | 5 | 0005 | z/OS UNIX encountered a permanent file error |
| EMVSPFSPERM | 162 | 00A2 | IO | 5 | 0005 | z/OS UNIX encountered a system error |
| EMVSSAFEXTRERR | 163 | 00A3 | IO | 5 | 0005 | SAF/RACF extract error |
| EMVSSAF2ERR | 164 | 00A4 | IO | 5 | 0005 | SAF/RACF error |
| EDQUOT | 1133 | 046D | DQUOT | 69 | 0045 | Disk quota exceeded |
| ESTALE | 1134 | 046E | STALE | 70 | 0046 | Stale NFS file handle |
| EREMOTE | 1135 | 046F | REMOTE | 71 | 0077 | Too many levels of remote in path |
Table 6 lists the z/OS UNIX return codes and their
equivalent NFS Version 4 server return codes.
| OMVS Codes | Dec | Hex | NFS V4 Codes (NFS4ERR_) | Dec | Hex | Description |
|---|---|---|---|---|---|---|
| EACCES | 111 | 006F | ACCES | 13 | 000D | Permission denied |
| EAGAIN | 112 | 0070 | DELAY | 10008 | 2718 | Resource is temporarily unavailable |
| EBUSY | 114 | 0072 | DELAY | 10008 | 2718 | Resource is busy |
| EDEADLK | 116 | 0074 | DEADLOCK | 10045 | 273D | A resource deadlock is avoided |
| EEXIST | 117 | 0075 | EXIST | 17 | 0011 | The file exists |
| EFAULT | 118 | 0076 | SERVERFAULT | 10006 | 2716 | The address is incorrect |
| EFBIG | 119 | 0077 | FBIG | 27 | 001B | The file is too large |
| EINVAL | 121 | 0079 | INVAL | 22 | 0016 | The parameter is incorrect |
| EIO | 122 | 007A | IO | 5 | 0005 | An I/O error occurred |
| EISDIR | 123 | 007B | ISDIR | 21 | 0015 | The file specified is a directory |
| EMFILE | 124 | 007C | DQUOT | 69 | 0045 | Too many files are open for this directory |
| EMLINK | 125 | 007D | MLINK | 31 | 001F | Too many links occurred |
| ENAMETOOLONG | 126 | 007E | NAMETOOLONG | 63 | 003F | The file name is too long |
| ENFILE | 127 | 007F | DQUOT | 69 | 0045 | Too many files are open |
| ENODEV | 128 | 0080 | NXIO | 6 | 0006 | No such device exists |
| ENOENT | 129 | 0081 | NOENT | 2 | 0002 | No such file, directory or IPC member exists |
| ENOMEM | 132 | 0084 | DELAY | 10008 | 2718 | Not enough space is available |
| ENOSPC | 133 | 0085 | NOSPC | 28 | 001C | No space is left on device |
| ENOTDIR | 135 | 0087 | NOTDIR | 20 | 0014 | Not a directory |
| ENOTEMPTY | 136 | 0088 | NOTEMPTY | 66 | 0042 | Directory is not empty |
| ENXIO | 138 | 008A | NXIO | 6 | 0006 | No such device or address exists |
| EPERM | 139 | 008B | PERM | 1 | 0001 | The operation is not permitted |
| EROFS | 141 | 008D | ROFS | 30 | 001E | The specified file system is read only |
| EXDEV | 144 | 0090 | XDEV | 18 | 0012 | A link to a file on another file system was attempted |
| E2BIG | 145 | 0091 | SERVERFAULT | 10006 | 2716 | The parameter list is too long |
| ELOOP | 146 | 0092 | IO | 5 | 0005 | A loop is encountered in symbolic links |
| EMVSERR | 157 | 009D | SERVERFAULT | 10006 | 2716 | MVS environmental or internal error |
| EMVSPARM | 158 | 009E | SERVERFAULT | 10006 | 2716 | Bad parameters were passed to the service |
| EMVSPFSFILE | 159 | 009F | IO | 5 | 0005 | z/OS UNIX encountered a permanent file error |
| EMVSPFSPERM | 162 | 00A2 | IO | 5 | 0005 | z/OS UNIX encountered a system error |
| EMVSSAFEXTRERR | 163 | 00A3 | IO | 5 | 0005 | SAF/RACF extract error |
| EMVSSAF2ERR | 164 | 00A4 | IO | 5 | 0005 | SAF/RACF error |
| EMVSNORTL | 167 | 00A7 | IO | 5 | 0005 | Access to z/OS UNIX version of C RTL denied |
| EDQUOT | 1133 | 046D | DQUOT | 69 | 0045 | Disk quota exceeded |
| ESTALE | 1134 | 046E | STALE | 70 | 0046 | Stale NFS file handle |