It's a reasonable option. Worth noting though that today when it says "larger than the maximum file size", it refers to the global MAX_NON_LFS (2^31), not necessarily growing in general. So, we're extending the meaning a bit. But, I'm happy to send a v2 with EINVAL instead. On Thu, Apr 7, 2022 at 1:50 PM Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote: > > On Thu, 31 Mar 2022 10:42:12 -0700 Axel Rasmussen <axelrasmussen@xxxxxxxxxx> 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; > >