This is the per-I/O equivalent of O_APPEND to support atomic append operations on any open file. If a file is opened with O_APPEND, pwrite() ignores the offset and always appends data to the end of the file. RWF_APPEND enables atomic append and pwrite() with offset on a single file descriptor.
Showing the changes to include/uapi/linux (1 of 2 files). Show all
Unified · Split
| @@ -377,7 +377,11 @@ typedef int __bitwise __kernel_rwf_t; · 376 unmodified lines | |||
| 377 | /* per-IO, return -EAGAIN if operation would block */ | 377 | /* per-IO, return -EAGAIN if operation would block */ |
| 378 | #define RWF_NOWAIT ((__force __kernel_rwf_t)0x00000008) | 378 | #define RWF_NOWAIT ((__force __kernel_rwf_t)0x00000008) |
| 379 | 379 | ||
| 380 | /* per-IO O_APPEND */ | ||
| 381 | #define RWF_APPEND ((__force __kernel_rwf_t)0x00000010) | ||
| 382 | |||
| 380 | /* mask of flags supported by the kernel */ | 383 | /* mask of flags supported by the kernel */ |
| 381 | #define RWF_SUPPORTED (RWF_HIPRI | RWF_DSYNC | RWF_SYNC | RWF_NOWAIT) | 384 | #define RWF_SUPPORTED (RWF_HIPRI | RWF_DSYNC | RWF_SYNC | RWF_NOWAIT |\ |
| 385 | RWF_APPEND) | ||
| 382 | 386 | ||
| 383 | #endif /* _UAPI_LINUX_FS_H */ | 387 | #endif /* _UAPI_LINUX_FS_H */ |