On Thu, 31 Mar 2022 10:42:12 -0700 Axel Rasmussen axelrasmussen@google.com wrote:
Any strong opinions on which error code is used? I think overall I would still pick EOPNOTSUPP, but happy to change it if anyone feels strongly.
- I think ENOSYS is specific to syscall nr not defined
- I think ENOTTY is specific to ioctls
- The kernel (sort of mistakenly) defines ENOTSUPP instead of ENOTSUP,
but it's marked deprecated and it's recommended to use EOPNOTSUPP instead (despite POSIX saying these should be distinct and for different uses).
`man ftruncate' sayeth
EINVAL The argument length is negative or larger than the maximum file size.
which reasonably accurately describes what we're doing here?
+ if ((ia_valid & ATTR_SIZE) && inode->i_size) + return -EOPNOTSUPP;