What does errno 70 (ESTALE) mean?

 

Could be also:

ConstantTypeOS
ERROR_SHARING_PAUSEDWin32 errorWindows
ECOMMerrnoLinux
ECOMMerrnoSolaris
DEREF_UNKNOWN_LOGON_SESSIONBugCheck CodeWindows

ESTALE

ESTALE is Darwin’s NFS-specific errno. It concerns an opaque file handle that used to identify an object on the server but can no longer be used. This is different from a fresh pathname lookup that simply cannot find a name: the client already has a handle, and the server says that handle is no longer valid for the object or file system it once represented.

NFSv4 requires a server to return NFS4ERR_STALE when a persistent file handle refers to a deleted object. A handle can also become stale when the containing file system is no longer available, for example after an unmount, removal of backing media, or a namespace change on the server. The Darwin code identifies this class of NFS state problem; it does not, by itself, say that a local directory, ACL, or DNS name is wrong.

Useful evidence

  • Record the NFS server, exported path, mount point, NFS version, and the exact operation that failed. A log that only says “stale file handle” loses the information needed to distinguish a deleted object from an export or file-system change.
  • Check whether the object was replaced, the export was reconfigured, the file system was remounted, migrated, restored, or removed while clients still held handles.
  • Compare the server-side object and export with the client’s mount configuration. Recreating the local mount-point directory does not make an obsolete server-issued handle valid.
  • Coordinate recovery with applications that keep working directories or open objects below the mount. Remounting may restore later lookups but cannot make an already invalid handle refer to a newly created object with the same pathname.

Do not collapse these cases

  • ENOENT normally follows a pathname lookup that finds no entry.
  • ESTALE concerns the validity of a previously obtained NFS file handle.
  • A transport failure such as timeout or connection refusal occurs before a server can return an NFS status for the handle.

References