From: Kent Overstreet <kent.overstreet@xxxxxxxxx> Document the new statx.stx_subvol field. This would be clearer if we had a proper API for walking subvolumes that we could refer to, but that's still coming. Link: https://lore.kernel.org/linux-fsdevel/20240308022914.196982-1-kent.overstreet@xxxxxxxxx/ Signed-off-by: Kent Overstreet <kent.overstreet@xxxxxxxxx> [jpg: mention supported FSes and formatting improvements] Signed-off-by: John Garry <john.g.garry@xxxxxxxxxx> --- I am just sending a new version as I want to post more statx updates which are newer than stx_subvol. diff --git a/man/man2/statx.2 b/man/man2/statx.2 index 0dcf7e20b..5b17d9afe 100644 --- a/man/man2/statx.2 +++ b/man/man2/statx.2 @@ -68,6 +68,8 @@ struct statx { /* Direct I/O alignment restrictions */ __u32 stx_dio_mem_align; __u32 stx_dio_offset_align; +\& + __u64 stx_subvol; /* Subvolume identifier */ }; .EE .in @@ -255,6 +257,8 @@ STATX_ALL The same as STATX_BASIC_STATS | STATX_BTIME. STATX_MNT_ID Want stx_mnt_id (since Linux 5.8) STATX_DIOALIGN Want stx_dio_mem_align and stx_dio_offset_align (since Linux 6.1; support varies by filesystem) +STATX_SUBVOL Want stx_subvol + (since Linux 6.10; support varies by filesystem) .TE .in .P @@ -439,6 +443,14 @@ or 0 if direct I/O is not supported on this file. This will only be nonzero if .I stx_dio_mem_align is nonzero, and vice versa. +.TP +.I stx_subvol +Subvolume number of the current file. +.IP +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. .P For further information on the above fields, see .BR inode (7). -- 2.31.1