Files
erofs-linux/include/uapi/linux
Rich Felker 73fa7547c7 vfs: add RWF_NOAPPEND flag for pwritev2
The pwrite function, originally defined by POSIX (thus the "p"), is
defined to ignore O_APPEND and write at the offset passed as its
argument. However, historically Linux honored O_APPEND if set and
ignored the offset. This cannot be changed due to stability policy,
but is documented in the man page as a bug.

Now that there's a pwritev2 syscall providing a superset of the pwrite
functionality that has a flags argument, the conforming behavior can
be offered to userspace via a new flag. Since pwritev2 checks flag
validity (in kiocb_set_rw_flags) and reports unknown ones with
EOPNOTSUPP, callers will not get wrong behavior on old kernels that
don't support the new flag; the error is reported and the caller can
decide how to handle it.

Signed-off-by: Rich Felker <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Reviewed-by: Jann Horn <[email protected]>
Signed-off-by: Christian Brauner <[email protected]>
2024-01-22 15:33:37 +01:00
..
…
…
2023-05-14 16:05:28 +01:00
…
…
…
…
…
2023-05-30 15:20:08 +01:00
2024-01-02 12:41:16 +00:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2023-12-19 08:23:03 -08:00
…
…
…
…
…
…
…
…
…
…
…
…
2023-12-07 12:44:19 -08:00
…
…
…
…
…
…
…
2023-09-24 18:17:31 -07:00
…
…
…
…
…
…
…
…
…
…
…
2024-01-22 15:33:37 +01:00
…
…
2023-09-21 19:22:05 +02:00
…
2023-10-24 12:02:02 +02:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2023-12-15 17:01:30 +01:00
…
…
2023-06-09 16:25:16 -07:00
…
…
2023-12-14 11:49:17 +01:00
…
…
…
…
…
…
2023-04-27 19:15:11 -06:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2023-11-28 19:05:16 +00:00
…
…
…
…
…
…
2023-10-28 13:31:05 -05:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2023-12-20 19:26:31 -05:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2023-11-18 14:56:16 +01:00
…
…
…
…
…
2023-10-27 10:35:46 +01:00
…
…
…
…
…
…
…
…
…
…
…
…
2023-06-05 09:36:35 +02:00
…
…
…
…
…
…
…
…
…
2023-12-29 11:58:24 -08:00
…
…
…
2023-03-23 17:25:46 +01:00
…
…
…
…
…
…
…
…
…
…
…