Re: [PATCH v1 01/10] man/man2/statmount.2: Document req.mnt_ns_id and STATMOUNT_MNT_NS_ID
From: Alejandro Colomar <alx@kernel.org>
Date: 2026-02-11 13:39:37
Hi Bhavik, On 2026-02-10T02:47:34+0530, Bhavik Sachdev wrote:
quoted hunk ↗ jump to hunk
Document the new mnt_ns_id parameter to struct mnt_id_req and the STATMOUNT_MNT_NS_ID flag. req.mnt_ns_id can be used to query for a mount in a foreign mount namespace. STATMOUNT_MNT_NS_ID can be used to retreive the mnt_ns_id of the mount being queried. The mnt_ns_id parameter description is based on this commit message [1] and STATMOUNT_MNT_NS_ID text is based on [2]. Link [1]: <https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=71aacb4c8c3d19da053363a5fe7538a8af082d56> Link [2]: <https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=09b31295f833031c88419550172703d45c5401e3> Signed-off-by: Bhavik Sachdev <redacted> --- man/man2/statmount.2 | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-)diff --git a/man/man2/statmount.2 b/man/man2/statmount.2 index cdc96da92..f5c4da122 100644 --- a/man/man2/statmount.2 +++ b/man/man2/statmount.2@@ -23,9 +23,10 @@ .SH SYNOPSIS .P .EX .B struct mnt_id_req { -.BR " __u32 size;" " /* sizeof(struct mnt_id_req) */" -.BR " __u64 mnt_id;" " /* The mnt_id being queried */" -.BR " __u64 param;" " /* An ORed combination of the STATMOUNT_ constants */" +.BR " __u32 size;" " /* sizeof(struct mnt_id_req) */" +.BR " __u64 mnt_id;" " /* The mnt_id being queried */" +.BR " __u64 param;" " /* An ORed combination of the STATMOUNT_ constants */" +.BR " __u32 mnt_ns_id;" " /* The id of mnt_ns to query the mnt_id in */" .B }; .P .B struct statmount {@@ -47,6 +48,7 @@ .SH SYNOPSIS .B " __u64 propagate_from;" .B " __u32 mnt_root;" .B " __u32 mnt_point;" +.B " __u64 mnt_ns_id;" .B " char str[];" .B }; .EE@@ -59,6 +61,9 @@ .SH SYNOPSIS .SH DESCRIPTION To access a mount's status, the caller must have CAP_SYS_ADMIN in the user namespace. +In case of accessing a mount in a foreign mount namespace (specified via +.IR req.mnt_ns_id ), +the foreign mount namespace should be child of the current namespace. .P This function returns information about a mount, storing it in the buffer pointed to by@@ -102,6 +107,7 @@ .SS The mnt_id_req structure STATMOUNT_MNT_ROOT /* Want/got mnt_root */ STATMOUNT_MNT_POINT /* Want/got mnt_point */ STATMOUNT_FS_TYPE /* Want/got fs_type */ +STATMOUNT_MNT_NS_ID /* Want/got mnt_ns_id */ .TE .in .P@@ -130,6 +136,13 @@ .SS The mnt_id_req structure as one or more bits may, in the future, be used to specify an extension to the buffer. +.P +.I req.mnt_ns_id +can be obtained from +.B NS_GET_MNTNS_ID
Should this ioctl(2) be documented? I don't find it in any manual page. You don't need to do it in this patch set, though.
quoted hunk ↗ jump to hunk
+.BR ioctl (2) +operation and is used to specify a foreign mount namespace in which to query +.IR req.mnt_id . .SS The returned information The status information for the target mount is returned in the .I statmount@@ -232,6 +245,9 @@ .SS The returned information relative to the current root (ie if you are in a .BR chroot ). It is a null-terminated string. +.TP +.I smbuf.mnt_ns_id
We should document the Linux version in which this was added. It should be something like this .IR smbuf.mnt_ns_id " (since Linux 1.23)" Have a lovely day! Alex
+The unique ID of the mount namespace the mount belongs to. .SH RETURN VALUE On success, zero is returned. On error, \-1 is returned, and -- 2.53.0
-- <https://www.alejandro-colomar.es>
Attachments
- signature.asc [application/pgp-signature] 833 bytes