summaryrefslogtreecommitdiffstats
path: root/mount
diff options
context:
space:
mode:
authorMatthew Garrett2009-03-27 01:47:22 +0100
committerKarel Zak2009-03-27 13:13:22 +0100
commited64b8d0fc945ce49041f313c453b6b21d68b832 (patch)
tree7c219b18964fabe7b108746acca497a42fb16559 /mount
parentblkid: fix exit codes in blkid(8) (diff)
downloadkernel-qcow2-util-linux-ed64b8d0fc945ce49041f313c453b6b21d68b832.tar.gz
kernel-qcow2-util-linux-ed64b8d0fc945ce49041f313c453b6b21d68b832.tar.xz
kernel-qcow2-util-linux-ed64b8d0fc945ce49041f313c453b6b21d68b832.zip
mount: Add strictatime support
2.6.30 adds (patch d0adde574b8487ef30f69e2d08bba769e4be513f) support for a strictatime mount parameter, used to request strict atime update semantics. The following patch adds support for it to mount. Signed-off-by: Matthew Garrett <mjg@redhat.com>
Diffstat (limited to 'mount')
-rw-r--r--mount/mount.87
-rw-r--r--mount/mount.c4
-rw-r--r--mount/mount_constants.h3
3 files changed, 14 insertions, 0 deletions
diff --git a/mount/mount.8 b/mount/mount.8
index e3eb81041..8da676898 100644
--- a/mount/mount.8
+++ b/mount/mount.8
@@ -807,6 +807,13 @@ Do not use
feature (e.g, for systems where the feature is enabled by default, for
more details see mount options in /proc/mounts).
.TP
+.B strictatime
+Update inode access times whenever a file is accessed. Disables noatime and
+.B relatime.
+.TP
+.B nostrictatime
+Use the kernel's default behaviour for inode access time updates.
+.TP
.B suid
Allow set-user-identifier or set-group-identifier bits to take
effect.
diff --git a/mount/mount.c b/mount/mount.c
index 94fa94fbb..f48f9d408 100644
--- a/mount/mount.c
+++ b/mount/mount.c
@@ -188,6 +188,10 @@ static const struct opt_map opt_map[] = {
{ "norelatime", 0, 1, MS_RELATIME }, /* Update access time without regard
to mtime/ctime */
#endif
+#ifdef MS_STRICTATIME
+ { "strictatime", 0, 0, MS_STRICTATIME }, /* Strict atime semantics */
+ { "nostrictatime", 0, 1, MS_STRICTATIME }, /* kernel default atime */
+#endif
{ "nofail", 0, 0, MS_COMMENT}, /* Do not fail if ENOENT on dev */
{ NULL, 0, 0, 0 }
};
diff --git a/mount/mount_constants.h b/mount/mount_constants.h
index 41311c05b..81686f1df 100644
--- a/mount/mount_constants.h
+++ b/mount/mount_constants.h
@@ -59,6 +59,9 @@
#ifndef MS_I_VERSION
#define MS_I_VERSION (1<<23) /* update inode I_version field */
#endif
+#ifndef MS_STRICTATIME
+#define MS_STRICTATIME (1<<24) /* strict atime semantics */
+#endif
/*
* Magic mount flag number. Had to be or-ed to the flag values.
*/