diff options
| author | Jori Koolstra <jkoolstra@xs4all.nl> | 2026-05-31 12:49:46 +0200 |
|---|---|---|
| committer | Christian Brauner <brauner@kernel.org> | 2026-07-02 09:47:21 +0200 |
| commit | 7028d60a643ac945826ae281ae5ec1940ee06fbf (patch) | |
| tree | 3e286f0ea638ccd29ea5f048c7de855b0ff75e9f /include/linux/ctype.h | |
| parent | dc59e4fea9d83f03bad6bddf3fa2e52491777482 (diff) | |
| download | linux-next-7028d60a643ac945826ae281ae5ec1940ee06fbf.tar.gz linux-next-7028d60a643ac945826ae281ae5ec1940ee06fbf.zip | |
vfs: missing inode operation should return a consistent error code
Currently several different error codes are used in the VFS for
situations where the underlying filesystem does not support the
requested inode operation (such as mkdir, tmpfile, create, etc.)
Examples: create returns EACCES, mkdir EPERM, tmpfile EOPNOTSUPP,
fileattr_get ENOIOCTLCMD.
We should provide a sensible unified error code for these situations.
EOPNOTSUPP is already used for this both in the kernel (when lacking
tmpfile support) and in userland (e.g. glibc).[1] Restricting EOPNOTSUPP
to socket operations as POSIX suggests is not the current reality and
this was recently changed in the man page as well.[2]
vfs_fileattr_get|set return ENOIOCTLCMD, but this cannot be changed
since EOPNOTSUPP is already used to by underlying filesystems to indicate
that a flag is not supported. The change to EOPNOTSUPP was reverted by
4dd5b5ac089b ("Revert "fs: make vfs_fileattr_[get|set] return
-EOPNOTSUPP"")
[1]: https://lore.kernel.org/all/20260528-abnimmt-befreien-perspektive-a7930659fb40@brauner/
[2]: https://lore.kernel.org/linux-fsdevel/ahd3SmZZqnzP0-O2@devuan/T/#t
Signed-off-by: Jori Koolstra <jkoolstra@xs4all.nl>
Link: https://patch.msgid.link/20260531104947.6142-1-jkoolstra@xs4all.nl
Signed-off-by: Christian Brauner (Amutable) <brauner@kernel.org>
Diffstat (limited to 'include/linux/ctype.h')
0 files changed, 0 insertions, 0 deletions
