svn commit: r344134 - stable/12/lib/libc/sys

Alan Somers asomers at FreeBSD.org
Thu Feb 14 20:24:34 UTC 2019


Author: asomers
Date: Thu Feb 14 20:24:33 2019
New Revision: 344134
URL: https://svnweb.freebsd.org/changeset/base/344134

Log:
  MFC r341598:
  
  stat(2): clarify which syscalls modify file timestamps
  
  The list of syscalls that modify st_atim, st_mtim, and st_ctim was quite out
  of date and probably not accurate to begin with.  Update it, and make it
  clear that the list is open-ended.
  
  Reviewed by:	kib
  Differential Revision:	https://reviews.freebsd.org/D18410

Modified:
  stable/12/lib/libc/sys/stat.2
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/lib/libc/sys/stat.2
==============================================================================
--- stable/12/lib/libc/sys/stat.2	Thu Feb 14 19:07:08 2019	(r344133)
+++ stable/12/lib/libc/sys/stat.2	Thu Feb 14 20:24:33 2019	(r344134)
@@ -28,7 +28,7 @@
 .\"     @(#)stat.2	8.4 (Berkeley) 5/1/95
 .\" $FreeBSD$
 .\"
-.Dd December 1, 2017
+.Dd December 5, 2018
 .Dt STAT 2
 .Os
 .Sh NAME
@@ -156,45 +156,53 @@ are:
 .Bl -tag -width ".Va st_birthtim"
 .It Va st_atim
 Time when file data was last accessed.
-Changed by the
-.Xr mknod 2 ,
-.Xr utimes 2 ,
+Changed implicitly by syscalls such as
 .Xr read 2
 and
-.Xr readv 2
-system calls.
+.Xr readv 2 ,
+and explicitly by
+.Xr utimes 2 .
 .It Va st_mtim
 Time when file data was last modified.
-Changed by the
+Changed implicitly by syscalls such as
+.Xr truncate 2 ,
+.Xr write 2 ,
+and
+.Xr writev 2 ,
+and explicitly by
+.Xr utimes 2 .
+Also, any syscall which modifies directory content changes the
+.Va st_mtim
+for the affected directory.
+For instance,
+.Xr creat 2 ,
 .Xr mkdir 2 ,
-.Xr mkfifo 2 ,
-.Xr mknod 2 ,
-.Xr utimes 2 ,
-.Xr write 2
+.Xr rename 2 ,
+.Xr link 2 ,
 and
-.Xr writev 2
-system calls.
+.Xr unlink 2 .
 .It Va st_ctim
 Time when file status was last changed (inode data modification).
-Changed by the
+Changed implicitly by any syscall that affects file metadata, including
+.Va st_mtim ,
+such as
 .Xr chflags 2 ,
 .Xr chmod 2 ,
 .Xr chown 2 ,
+.Xr truncate 2 ,
+.Xr utimes 2 ,
+and
+.Xr write 2 .
+Also, any syscall which modifies directory content changes the
+.Va st_ctim
+for the affected directory.
+For instance,
 .Xr creat 2 ,
-.Xr link 2 ,
 .Xr mkdir 2 ,
-.Xr mkfifo 2 ,
-.Xr mknod 2 ,
 .Xr rename 2 ,
-.Xr rmdir 2 ,
-.Xr symlink 2 ,
-.Xr truncate 2 ,
-.Xr unlink 2 ,
-.Xr utimes 2 ,
-.Xr write 2
+.Xr link 2 ,
 and
-.Xr writev 2
-system calls.
+.Xr unlink 2 .
 .It Va st_birthtim
 Time when the inode was created.
 .El


More information about the svn-src-all mailing list