EACCES An attempt was made to write or erase a write-protected
tape. (This error is not detected during open(2).)
EBUSY The device is already in use or the driver was unable to
allocate a buffer.
EFAULT The command parameters point to memory not belonging to
the calling process.
EINVAL An ioctl(2) had an invalid argument, or a requested block
size was invalid.
EIO The requested operation could not be completed.
ENOMEM The byte count in read(2) is smaller than the next
physical block on the tape. (Before 2.2.18 and 2.4.0 the
extra bytes have been silently ignored.)
ENOSPC A write operation could not be completed because the tape
reached end-of-medium.
ENOSYS Unknown ioctl(2).
ENXIO During opening, the tape device does not exist.
EOVERFLOW
An attempt was made to read or write a variable-length
block that is larger than the driver's internal buffer.
EROFS Open is attempted with O_WRONLY or O_RDWR when the tape in
the drive is write-protected.