mirror of https://github.com/mkerrisk/man-pages
stat.2: Correct AT_NO_AUTOMOUNT text and general revisions
Expand on the relationship between fstatat() and the other three functions, and improve the description of AT_NO_AUTOMOUNT. Specifically, both stat() and lstat() act the same way with respect to automounts, and that behavior matches fstatat() with the AT_NO_AUTOMOUNT flag. The text in the NOTES is removed and places with the text for AT_NO_AUTOMOUNT to improve cohesion. New text for a difference to be introduced in 4.14. Cc: Ian Kent <ikent@redhat.com> Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
parent
d1304ede08
commit
57bc46c231
37
man2/stat.2
37
man2/stat.2
|
@ -260,9 +260,12 @@ For further information on the above fields, see
|
|||
.SS fstatat()
|
||||
The
|
||||
.BR fstatat ()
|
||||
system call operates in exactly the same way as
|
||||
system call is a more general interface for accessing file information
|
||||
which can still provide exactly the behavior of each of
|
||||
.BR stat (),
|
||||
except for the differences described here.
|
||||
.BR lstat (),
|
||||
and
|
||||
.BR fstat ().
|
||||
.PP
|
||||
If the pathname given in
|
||||
.I pathname
|
||||
|
@ -272,6 +275,8 @@ referred to by the file descriptor
|
|||
(rather than relative to the current working directory of
|
||||
the calling process, as is done by
|
||||
.BR stat ()
|
||||
and
|
||||
.BR lstat ()
|
||||
for a relative pathname).
|
||||
.PP
|
||||
If
|
||||
|
@ -284,7 +289,9 @@ then
|
|||
.I pathname
|
||||
is interpreted relative to the current working
|
||||
directory of the calling process (like
|
||||
.BR stat ()).
|
||||
.BR stat ()
|
||||
and
|
||||
.BR lstat ()).
|
||||
.PP
|
||||
If
|
||||
.I pathname
|
||||
|
@ -307,7 +314,11 @@ is an empty string, operate on the file referred to by
|
|||
flag).
|
||||
In this case,
|
||||
.I dirfd
|
||||
can refer to any type of file, not just a directory.
|
||||
can refer to any type of file, not just a directory, and
|
||||
the behavior of
|
||||
.BR fstatat ()
|
||||
is similar to that of
|
||||
.BR fstat ().
|
||||
If
|
||||
.I dirfd
|
||||
is
|
||||
|
@ -324,6 +335,8 @@ 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).
|
||||
Since Linux 4.14, also don't instantiate a non-existent name in an
|
||||
on-demand directory such as used for automounter indirect maps.
|
||||
This flag can be used in tools that scan directories
|
||||
to prevent mass-automounting of a directory of automount points.
|
||||
The
|
||||
|
@ -333,6 +346,13 @@ This flag is Linux-specific; define
|
|||
.B _GNU_SOURCE
|
||||
.\" Before glibc 2.16, defining _ATFILE_SOURCE sufficed
|
||||
to obtain its definition.
|
||||
Both
|
||||
.BR stat ()
|
||||
and
|
||||
.BR lstat ()
|
||||
act as though
|
||||
.B AT_NO_AUTOMOUNT
|
||||
was set.
|
||||
.TP
|
||||
.B AT_SYMLINK_NOFOLLOW
|
||||
If
|
||||
|
@ -474,15 +494,6 @@ fields may be less portable.
|
|||
The interpretation differs between systems,
|
||||
and possibly on a single system when NFS mounts are involved.)
|
||||
.SH NOTES
|
||||
On Linux,
|
||||
.BR lstat ()
|
||||
will generally not trigger automounter action, whereas
|
||||
.BR stat ()
|
||||
will (but see the description of the
|
||||
.BR fstatat ()
|
||||
.B AT_NO_AUTOMOUNT
|
||||
fag, above).
|
||||
.\"
|
||||
.SS Timestamp fields
|
||||
Older kernels and older standards did not support nanosecond timestamp
|
||||
fields.
|
||||
|
|
Loading…
Reference in New Issue