Suggested-by: Pali Rohár <pali@xxxxxxxxxx> Co-authored-by: Pali Rohár <pali@xxxxxxxxxx> Signed-off-by: Alejandro Colomar <alx@xxxxxxxxxx> --- man/man3/readdir.3 | 22 +++++++++++++++++++++- man/man3type/stat.3type | 16 +++++++++++++++- 2 files changed, 36 insertions(+), 2 deletions(-) diff --git a/man/man3/readdir.3 b/man/man3/readdir.3 index b9150160b..ad9c76595 100644 --- a/man/man3/readdir.3 +++ b/man/man3/readdir.3 @@ -58,7 +58,27 @@ .SH DESCRIPTION structure are as follows: .TP .I .d_ino -This is the inode number of the file. +This is the inode number of the file, +which belongs to the filesystem +.I .st_dev +(see +.BR stat (3type)) +of the directory on which +.BR readdir () +was called. +If the directory entry is the mount point, +then +.I .d_ino +differs from +.IR .st_ino : +.I .d_ino +is the inode number of the underlying mount point, +while +.I .st_ino +is the inode number of the mounted file system. +According to POSIX, +this Linux behavior is considered to be a bug, +but is nevertheless conforming. .TP .I .d_off The value returned in diff --git a/man/man3type/stat.3type b/man/man3type/stat.3type index ee801bcec..835626775 100644 --- a/man/man3type/stat.3type +++ b/man/man3type/stat.3type @@ -66,7 +66,21 @@ .SH DESCRIPTION macros may be useful to decompose the device ID in this field.) .TP .I .st_ino -This field contains the file's inode number. +This field contains the file's inode number, +which belongs to the +.IR .st_dev . +If +.BR stat (2) +was called on the mount point, +then +.I .d_ino +differs from +.IR .st_ino : +.I .d_ino +is the inode number of the underlying mount point, +while +.I .st_ino +is the inode number of the mounted file system. .TP .I .st_mode This field contains the file type and mode. Range-diff against v0: -: --------- > 1: c27a2d7f8 man/man3/readdir.3, man/man3type/stat.3type: Improve documentation about .d_ino and .st_ino -- 2.49.0