No data available

It looks like this error condition is supposed to be used if a read(2) system call is used on a file descriptor in non-blocking mode and no data is ready to be read. However, according to the read(2) man page for the GNU C library, EAGAIN is used in this situation instead.

ENODATA is used in the linux kernel in a few places, however. For example:

  • the NTFS and the JFS drivers use it as an error condition in a few places.
  • The "Intel CPU Microcode Update driver for Linux" uses this error code.
  • The ftape driver returns this on an ECC read failure.