From: Alejandro Colomar <alx@kernel.org>
To: linux-man@vger.kernel.org
Cc: "Alejandro Colomar" <alx@kernel.org>,
"Pali Rohár" <pali@kernel.org>, "Jan Kara" <jack@suse.cz>,
"G. Branden Robinson" <branden@debian.org>,
linux-fsdevel@vger.kernel.org
Subject: [PATCH v3] man/man3/readdir.3, man/man3type/stat.3type: Improve documentation about .d_ino and .st_ino
Date: Fri, 31 Oct 2025 11:44:14 +0100 [thread overview]
Message-ID: <bfa7e72ea17ed369a1cf7589675c35728bb53ae4.1761907223.git.alx@kernel.org> (raw)
In-Reply-To: <h7mdd3ecjwbxjlrj2wdmoq4zw4ugwqclzonli5vslh6hob543w@hbay377rxnjd>
Suggested-by: Pali Rohár <pali@kernel.org>
Co-authored-by: Pali Rohár <pali@kernel.org>
Co-authored-by: Jan Kara <jack@suse.cz>
Cc: "G. Branden Robinson" <branden@debian.org>
Cc: <linux-fsdevel@vger.kernel.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
---
Hi Jan,
I've put your suggestions into the patch. I've also removed the
sentence about POSIX, as Pali discussed with Branden.
At the bottom of the email is the range-diff against the previous
version.
Have a lovely day!
Alex
man/man3/readdir.3 | 19 ++++++++++++++++++-
man/man3type/stat.3type | 20 +++++++++++++++++++-
2 files changed, 37 insertions(+), 2 deletions(-)
diff --git a/man/man3/readdir.3 b/man/man3/readdir.3
index e1c7d2a6a..220643795 100644
--- a/man/man3/readdir.3
+++ b/man/man3/readdir.3
@@ -58,7 +58,24 @@ .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
+in the filesystem containing
+the directory on which
+.BR readdir ()
+was called.
+If the directory entry is the mount point,
+then
+.I .d_ino
+differs from
+.I .st_ino
+returned by
+.BR stat (2)
+on this file:
+.I .d_ino
+is the inode number of the mount point,
+while
+.I .st_ino
+is the inode number of the root directory of the mounted filesystem.
.TP
.I .d_off
The value returned in
diff --git a/man/man3type/stat.3type b/man/man3type/stat.3type
index 76ee3765d..ea9acc5ec 100644
--- a/man/man3type/stat.3type
+++ b/man/man3type/stat.3type
@@ -66,7 +66,25 @@ .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
+in the filesystem on
+.IR .st_dev .
+If
+.BR stat (2)
+was called on the mount point,
+then
+.I .st_ino
+differs from
+.I .d_ino
+returned by
+.BR readdir (3)
+for the corresponding directory entry in the parent directory.
+In this case,
+.I .st_ino
+is the inode number of the root directory of the mounted filesystem,
+while
+.I .d_ino
+is the inode number of the mount point in the parent filesystem.
.TP
.I .st_mode
This field contains the file type and mode.
Range-diff against v2:
1: d3eeebe81 ! 1: bfa7e72ea man/man3/readdir.3, man/man3type/stat.3type: Improve documentation about .d_ino and .st_ino
@@ Commit message
Suggested-by: Pali Rohár <pali@kernel.org>
Co-authored-by: Pali Rohár <pali@kernel.org>
+ Co-authored-by: Jan Kara <jack@suse.cz>
Cc: "G. Branden Robinson" <branden@debian.org>
Cc: <linux-fsdevel@vger.kernel.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
@@ man/man3/readdir.3: .SH DESCRIPTION
.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
++This is the inode number of the file
++in the filesystem containing
++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 .st_ino
++returned by
++.BR stat (2)
++on this file:
+.I .d_ino
-+is the inode number of the underlying mount point,
++is the inode number of the 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.
++is the inode number of the root directory of the mounted filesystem.
.TP
.I .d_off
The value returned in
@@ man/man3type/stat.3type: .SH DESCRIPTION
.TP
.I .st_ino
-This field contains the file's inode number.
-+This field contains the file's inode number,
-+which belongs to the
++This field contains the file's inode number
++in the filesystem on
+.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.
++differs from
++.I .d_ino
++returned by
++.BR readdir (3)
++for the corresponding directory entry in the parent directory.
++In this case,
++.I .st_ino
++is the inode number of the root directory of the mounted filesystem,
++while
++.I .d_ino
++is the inode number of the mount point in the parent filesystem.
.TP
.I .st_mode
This field contains the file type and mode.
base-commit: f305f7647d5cf62e7e764fb7a25c4926160c594f
--
2.51.0
next prev parent reply other threads:[~2025-10-31 10:44 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-25 10:33 Improving inode number documentation Pali Rohár
2025-05-25 23:30 ` Alejandro Colomar
2025-05-28 18:25 ` Pali Rohár
2025-05-28 19:03 ` Alejandro Colomar
2025-05-28 19:41 ` Pali Rohár
2025-05-28 19:59 ` Alejandro Colomar
2025-05-28 21:31 ` [RFC v1] man/man3/readdir.3, man/man3type/stat.3type: Improve documentation about .d_ino and .st_ino Alejandro Colomar
2025-05-28 22:54 ` G. Branden Robinson
2025-10-28 23:15 ` [PATCH v2] " Alejandro Colomar
2025-10-28 23:53 ` Pali Rohár
2025-10-29 7:00 ` G. Branden Robinson
2025-10-29 19:34 ` Pali Rohár
2025-11-21 21:10 ` Pali Rohár
2025-11-21 23:39 ` G. Branden Robinson
2025-11-22 0:53 ` Pali Rohár
2025-10-30 11:58 ` Jan Kara
2025-10-31 10:44 ` Alejandro Colomar [this message]
2025-10-31 10:56 ` [PATCH v3] " Jan Kara
2025-10-31 11:31 ` Alejandro Colomar
2025-10-31 17:10 ` Pali Rohár
2025-10-31 15:25 ` Darrick J. Wong
2025-11-02 21:17 ` Alejandro Colomar
2025-11-03 11:28 ` Jan Kara
2025-11-09 12:07 ` Alejandro Colomar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=bfa7e72ea17ed369a1cf7589675c35728bb53ae4.1761907223.git.alx@kernel.org \
--to=alx@kernel.org \
--cc=branden@debian.org \
--cc=jack@suse.cz \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-man@vger.kernel.org \
--cc=pali@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox