From: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Add the text to the statx man page. Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: John Garry <john.g.garry@xxxxxxxxxx> --- man/man2/statx.2 | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/man/man2/statx.2 b/man/man2/statx.2 index 3d47319c6..36ecc8360 100644 --- a/man/man2/statx.2 +++ b/man/man2/statx.2 @@ -70,6 +70,11 @@ struct statx { __u32 stx_dio_offset_align; \& __u64 stx_subvol; /* Subvolume identifier */ +\& + /* Direct I/O atomic write limits */ + __u32 stx_atomic_write_unit_min; + __u32 stx_atomic_write_unit_max; + __u32 stx_atomic_write_segments_max; }; .EE .in @@ -259,6 +264,9 @@ STATX_DIOALIGN Want stx_dio_mem_align and stx_dio_offset_align STATX_MNT_ID_UNIQUE Want unique stx_mnt_id (since Linux 6.8) STATX_SUBVOL Want stx_subvol (since Linux 6.10; support varies by filesystem) +STATX_WRITE_ATOMIC Want stx_atomic_write_unit_min, stx_atomic_write_unit_max, + and stx_atomic_write_segments_max. + (since Linux 6.11; support varies by filesystem) .TE .in .P @@ -463,6 +471,24 @@ Subvolumes are fancy directories, i.e. they form a tree structure that may be walked recursively. Support varies by filesystem; it is supported by bcachefs and btrfs since Linux 6.10. +.I stx_atomic_write_unit_min +The minimum size (in bytes) supported for direct I/O +.RB ( O_DIRECT ) +on the file to be written with torn-write protection. This value is guaranteed +to be a power-of-2. +.TP +.I stx_atomic_write_unit_max +The maximum size (in bytes) supported for direct I/O +.RB ( O_DIRECT ) +on the file to be written with torn-write protection. This value is guaranteed +to be a power-of-2. +.TP +.I stx_atomic_write_segments_max +The maximum number of elements in an array of vectors for a write with +torn-write protection enabled. See +.BR RWF_ATOMIC +flag for +.BR pwritev2 (2). .P For further information on the above fields, see .BR inode (7). @@ -516,6 +542,9 @@ It cannot be written to, and all reads from it will be verified against a cryptographic hash that covers the entire file (e.g., via a Merkle tree). .TP +.BR STATX_ATTR_WRITE_ATOMIC " (since Linux 6.11)" +The file supports torn-write protection. +.TP .BR STATX_ATTR_DAX " (since Linux 5.8)" The file is in the DAX (cpu direct access) state. DAX state attempts to -- 2.31.1