From: "Alejandro Colomar (man-pages)" <alx.manpages@gmail.com>
To: "Pádraig Brady" <P@draigBrady.com>,
"linux-man@vger.kernel.org" <linux-man@vger.kernel.org>
Cc: Gnulib bugs <bug-gnulib@gnu.org>, Coreutils <coreutils@gnu.org>,
Andreas Schwab <schwab@linux-m68k.org>,
"Michael Kerrisk (man-pages)" <mtk.manpages@gmail.com>,
Ian Kent <raven@themaw.net>, David Howells <dhowells@redhat.com>,
Al Viro <viro@zeniv.linux.org.uk>,
Colin Walters <walters@redhat.com>,
Ondrej Holy <oholy@redhat.com>,
Andrew Morton <akpm@linux-foundation.org>,
Neil Brown <neilb@suse.com>, Paul Eggert <eggert@cs.ucla.edu>
Subject: Re: [PATCH] fix descriptions for AT_NO_AUTOMOUNT
Date: Mon, 14 Mar 2022 20:56:50 +0100 [thread overview]
Message-ID: <9488e311-ab35-96ee-7791-ec65fa6fe948@gmail.com> (raw)
In-Reply-To: <4a4ad936-bb1c-328c-dd43-95f4abbb905c@draigBrady.com>
On 3/14/22 19:02, Pádraig Brady wrote:
> On 14/03/2022 13:24, Alejandro Colomar (man-pages) wrote:
>> On 3/10/22 14:46, Pádraig Brady wrote:
>>> Subject: [PATCH] fix descriptions for AT_NO_AUTOMOUNT
>>>
>>> Don't mention AT_NO_AUTOMOUNT for fstatat.2
>>> as it's implied since v4.11-rc7-14-gdeccf497d804
>>
>> Even though it's implied, since code may pass it,
>> and especially code written based on the old manual page,
>> it would be good to keep the paragraph in fstatat.2,
>> even if the text is replaced by something like
>> "Before Linux x.xx, this flag was ignored.
>> After Linux y.yy, this flag is implied."
>>
>> Does it make sense to you?
>
> Yes good point.
> I went through the git history and the summary is fstatat()
> honored the flag since 2.6.38,
> ignored the flag since 3.1,
> implied the flag since 4.11,
>
> I'll add that info to fstatat(2), and the details to the commit message.
>
>>> Don't mention commit v4.13-9318-g42f461482178 as it was reverted
>>
>> Please also mention v4.15-rc1-50-g5d38f049cee1 as the commit in which it
>> was reverted.
>> Since it was present in some kernel releases, we might want to mention
>> it in the manual page?
>
> Well since the flag for fstatat() doesn't change anything since 3.1
> it's probably best not to mention this old, short lived, and very
> specific info.
Okay.
>
>>> Mention that stat(), lstat(), and fstatat()
>>> imply AT_NO_AUTOMOUNT, on the statx.2 man page
>>
>> Please sign the patch with "Signed-off-by: ..."
>> <https://www.kernel.org/doc/man-pages/patches.html>
>
> Done in the attached.
Please send the patch inline (or both inline and attached),
if you don't mind.
However, if it's a big hassle for you,
I can apply it from an attachment.
>
> thanks!
> Pádraig
---
>
> Subject: [PATCH] fix descriptions for AT_NO_AUTOMOUNT
>
> fstatat(..., AT_NO_AUTOMOUNT) has had the following history in Linux:
> v2.6.37-7314-g6f45b65672c8
> add AT_NO_AUTOMOUNT and fstatat honors it
> v3.1-rc7-68-gb6c8069d3577
> ignore AT_NO_AUTOMOUNT since default operation now less eagerly mounts
> v4.10-11255-ga528d35e8bfc
> adds statx which reinstated 2.6.38 behavior for fstatat (not released)
> v4.11-rc7-14-gdeccf497d804
> adjust fstatat so that AT_NO_AUTOMOUNT always specified (to statx)
>
> * man2/stat.2:
> Adjust AT_NO_AUTOMOUNT description for fstatat.2 as per the above,
> to indicate AT_NO_AUTOMOUNT should be avoided with fstatat() since
> it's ignored since 3.1 and implied since 4.11.
>
> Don't mention commit v4.13-9318-g42f461482178 as it was reverted,
> and moot anyway since we can't adjust AT_NO_AUTOMOUNT since 3.1.
>
> * man2/statx.2:
> Mention that stat(), lstat(), and fstatat() imply AT_NO_AUTOMOUNT.
>
> Signed-off-by: Pádraig Brady <P@draigBrady.com>
Makes sense to me.
But see a few minor comments below.
Thanks,
Alex
> ---
> man2/stat.2 | 31 +++----------------------------
> man2/statx.2 | 18 +++++++++++++++---
> 2 files changed, 18 insertions(+), 31 deletions(-)
>
> diff --git a/man2/stat.2 b/man2/stat.2
> index 016c1f47d..9000b2ca6 100644
> --- a/man2/stat.2
> +++ b/man2/stat.2
> @@ -319,34 +319,9 @@ to obtain its definition.
> .TP
> .BR AT_NO_AUTOMOUNT " (since Linux 2.6.38)"
> Don't automount the terminal ("basename") component of
> -.I pathname
> -if it is a directory that is an automount point.
> -This allows the caller to gather attributes of an automount point
> -(rather than the location it would mount).
> -Since Linux 4.14,
> -.\" commit 42f46148217865a545e129612075f3d828a2c4e4
> -also don't instantiate a nonexistent name in an
> -on-demand directory such as used for automounter indirect maps.
> -This
> -flag has no effect if the mount point has already been mounted over.
> -.IP
> -Both
> -.BR stat ()
> -and
> -.BR lstat ()
> -act as though
> -.B AT_NO_AUTOMOUNT
> -was set.
> -.IP
> -The
> -.B AT_NO_AUTOMOUNT
> -can be used in tools that scan directories
> -to prevent mass-automounting of a directory of automount points.
> -.IP
> -This flag is Linux-specific; define
> -.B _GNU_SOURCE
> -.\" Before glibc 2.16, defining _ATFILE_SOURCE sufficed
> -to obtain its definition.
> +.I pathname.
> +Since Linux 3.1 this flag is ignored.
> +Since Linux 4.11 this flag is implied.
> .TP
> .B AT_SYMLINK_NOFOLLOW
> If
> diff --git a/man2/statx.2 b/man2/statx.2
> index 04b3e5075..d4e638756 100644
> --- a/man2/statx.2
> +++ b/man2/statx.2
> @@ -195,11 +195,23 @@ Don't automount the terminal ("basename") component of
> if it is a directory that is an automount point.
> This allows the caller to gather attributes of an automount point
> (rather than the location it would mount).
> -This flag can be used in tools that scan directories
> -to prevent mass-automounting of a directory of automount points.
> +This
> +flag has no effect if the mount point has already been mounted over.
Weird break point there.
I see that it was like that in existing code, but please fix it :)
> +.IP
> The
> .B AT_NO_AUTOMOUNT
> -flag has no effect if the mount point has already been mounted over.
> +flag can be used in tools that scan directories
> +to prevent mass-automounting of a directory of automount points.
> +.IP
> +All of
> +.BR stat () ,
s/() ,/(2),/
> +.BR lstat () ,
s/() ,/(2),/
> +and
> +.BR fstatat ()
s/()/(2)/
> +act as though
> +.B AT_NO_AUTOMOUNT
> +was set.
> +.IP
> This flag is Linux-specific; define
> .B _GNU_SOURCE
> .\" Before glibc 2.16, defining _ATFILE_SOURCE sufficed
> --
> 2.31.1
>
--
Alejandro Colomar
Linux man-pages comaintainer; https://www.kernel.org/doc/man-pages/
http://www.alejandro-colomar.es/
next prev parent reply other threads:[~2022-03-14 19:58 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <ed3ac15c-9e92-73b7-b7f9-8281488e8778@draigBrady.com>
[not found] ` <3a4c9f63-0203-a810-6113-5c77a16e3690@cs.ucla.edu>
[not found] ` <95140173-2913-e377-5824-8a569ac78b5b@draigBrady.com>
[not found] ` <5c608ef7-f279-6afc-37f5-6a50442a3143@cs.ucla.edu>
[not found] ` <bdd68a31-ef3a-f022-bc72-c051690cee59@draigBrady.com>
[not found] ` <6645f678-4293-4692-8472-eee0bacee63f@cs.ucla.edu>
[not found] ` <670898ee-3b1c-97cd-290c-b6d91bfdaa07@draigBrady.com>
[not found] ` <5612cf59-a6da-6974-6a97-e406a4f4d557@cs.ucla.edu>
[not found] ` <87bkyemetm.fsf@igel.home>
2022-03-10 13:46 ` [PATCH] fix descriptions for AT_NO_AUTOMOUNT Pádraig Brady
2022-03-10 19:29 ` Paul Eggert
2022-03-14 13:24 ` Alejandro Colomar (man-pages)
2022-03-14 18:02 ` Pádraig Brady
2022-03-14 19:56 ` Alejandro Colomar (man-pages) [this message]
2022-03-14 20:00 ` Alejandro Colomar (man-pages)
2022-03-14 21:03 ` Pádraig Brady
2022-03-14 21:26 ` [PATCH] stat.2, statx.2: Fix " Pádraig Brady
2022-03-14 22:16 ` [PATCH] fix " Alejandro Colomar (man-pages)
2022-03-14 23:07 ` [PATCH] stat.2, statx.2: Fix " Pádraig Brady
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=9488e311-ab35-96ee-7791-ec65fa6fe948@gmail.com \
--to=alx.manpages@gmail.com \
--cc=P@draigBrady.com \
--cc=akpm@linux-foundation.org \
--cc=bug-gnulib@gnu.org \
--cc=coreutils@gnu.org \
--cc=dhowells@redhat.com \
--cc=eggert@cs.ucla.edu \
--cc=linux-man@vger.kernel.org \
--cc=mtk.manpages@gmail.com \
--cc=neilb@suse.com \
--cc=oholy@redhat.com \
--cc=raven@themaw.net \
--cc=schwab@linux-m68k.org \
--cc=viro@zeniv.linux.org.uk \
--cc=walters@redhat.com \
/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