Re: [PATCH v2] vfs: add RWF_NOAPPEND flag for pwritev2
From: Rich Felker <dalias@libc.org>
Date: 2024-01-18 15:57:29
Also in:
linux-fsdevel, lkml
On Mon, Aug 31, 2020 at 11:05:34AM -0600, Jens Axboe wrote:
On 8/31/20 9:46 AM, Jann Horn wrote:quoted
On Mon, Aug 31, 2020 at 5:32 PM Rich Felker [off-list ref] wrote:quoted
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 <dalias@libc.org>Reviewed-by: Jann Horn <jannh@google.com> Note that if this lands, Michael Kerrisk will probably be happy if you send a corresponding patch for the manpage man2/readv.2. Btw, I'm not really sure whose tree this should go through - VFS is normally Al Viro's turf, but it looks like the most recent modifications to this function have gone through Jens Axboe's tree?Should probably go through Al's tree, I've only carried them when they've been associated with io_uring in some shape or form.
This appears to have slipped through the cracks. Do I need to send an updated rebase of it? Were there any objections to it I missed? Rich