All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Pádraig Brady" <P@draigBrady.com>
To: alx.manpages@gmail.com, linux-man@vger.kernel.org
Cc: "Pádraig Brady" <P@draigBrady.com>
Subject: [PATCH] fix descriptions for AT_NO_AUTOMOUNT
Date: Mon, 14 Mar 2022 21:03:20 +0000	[thread overview]
Message-ID: <20220314210320.188347-1-P@draigBrady.com> (raw)
In-Reply-To: <9488e311-ab35-96ee-7791-ec65fa6fe948@gmail.com>

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>
---
 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.
+.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 () ,
+.BR lstat () ,
+and
+.BR fstatat ()
+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.34.1


  parent reply	other threads:[~2022-03-14 21:10 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)
2022-03-14 20:00                         ` Alejandro Colomar (man-pages)
2022-03-14 21:03                         ` Pádraig Brady [this message]
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=20220314210320.188347-1-P@draigBrady.com \
    --to=p@draigbrady.com \
    --cc=alx.manpages@gmail.com \
    --cc=linux-man@vger.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.