[Ocfs2-tools-devel] [PATCH 1/1] ocfs2-tools: add mount option for relatime support v2

Joel Becker Joel.Becker at oracle.com
Wed Mar 4 07:51:57 PST 2009


On Wed, Mar 04, 2009 at 05:21:44PM +0800, Tiger Yang wrote:
> This patch add mount option relatime in ocfs2.
> relatime only update atime if the previous atime is
> older than mtime or ctime. We have already support this
> feature in mainline kernel at 2.6.20.
> 
> Signed-off-by: Tiger Yang <tiger.yang at oracle.com>
Signed-off-by: Joel Becker <joel.becker at oracle.com>

> ---
>  mount.ocfs2/mount.ocfs2.8.in  |    8 ++++++++
>  mount.ocfs2/mount_constants.h |    3 +++
>  mount.ocfs2/opts.c            |    8 ++------
>  3 files changed, 13 insertions(+), 6 deletions(-)
> 
> diff --git a/mount.ocfs2/mount.ocfs2.8.in b/mount.ocfs2/mount.ocfs2.8.in
> index 0f666dd..3190ba5 100644
> --- a/mount.ocfs2/mount.ocfs2.8.in
> +++ b/mount.ocfs2/mount.ocfs2.8.in
> @@ -25,6 +25,14 @@ The file system will not update atime unless this number of seconds has passed
>  since the last update. Set to zero to always update atime. It defaults to 60 secs.
>  
>  .TP
> +\fBrelatime\fR
> +The file system only update atime if the previous atime is older than mtime or ctime.
> +
> +.TP
> +\fBnoatime\fR
> +The file system will not update access time.
> +
> +.TP
>  \fBcommit=nrsec\fR
>  Sync all data and metadata every nrsec seconds. The default value is 5 seconds.
>  Zero means default.
> diff --git a/mount.ocfs2/mount_constants.h b/mount.ocfs2/mount_constants.h
> index 61e8969..ed475db 100644
> --- a/mount.ocfs2/mount_constants.h
> +++ b/mount.ocfs2/mount_constants.h
> @@ -57,6 +57,9 @@ if we have a stack or plain mount - mount atop of it, forming a stack. */
>  #ifndef MS_VERBOSE
>  #define MS_VERBOSE	0x8000	/* 32768 */
>  #endif
> +#ifndef MS_RELATIME
> +#define MS_RELATIME	(1<<21)	/* Update atime relative to mtime/ctime. */
> +#endif
>  /*
>   * Magic mount flag number. Had to be or-ed to the flag values.
>   */
> diff --git a/mount.ocfs2/opts.c b/mount.ocfs2/opts.c
> index f90ef54..5ecd36b 100644
> --- a/mount.ocfs2/opts.c
> +++ b/mount.ocfs2/opts.c
> @@ -75,19 +75,15 @@ static const struct opt_map opt_map[] = {
>    { "quiet",	0, 0, MS_SILENT    },	/* be quiet  */
>    { "loud",	0, 1, MS_SILENT    },	/* print out messages. */
>  #endif
> -#ifdef MS_MANDLOCK
>    { "mand",	0, 0, MS_MANDLOCK },	/* Allow mandatory locks on this FS */
>    { "nomand",	0, 1, MS_MANDLOCK },	/* Forbid mandatory locks on this FS */
> -#endif
>    { "loop",	1, 0, MS_LOOP	},	/* use a loop device */
> -#ifdef MS_NOATIME
>    { "atime",	0, 1, MS_NOATIME },	/* Update access time */
>    { "noatime",	0, 0, MS_NOATIME },	/* Do not update access time */
> -#endif
> -#ifdef MS_NODIRATIME
> +  { "relatime",	0, 0, MS_RELATIME },	/* only update atime if previous */
> +					/* atime is older than mtime/ctime */
>    { "diratime",	0, 1, MS_NODIRATIME },	/* Update dir access times */
>    { "nodiratime", 0, 0, MS_NODIRATIME },/* Do not update dir access times */
> -#endif
>    { "kudzu",	0, 0, MS_COMMENT },	/* Silently remove this option (backwards compat use only) */
>    { "managed",	0, 0, MS_COMMENT },	/* Silently remove this option */
>    { NULL,	0, 0, 0	}
> -- 
> 1.5.4.1
> 

-- 

"Can any of you seriously say the Bill of Rights could get through
 Congress today?  It wouldn't even get out of committee."
	- F. Lee Bailey

Joel Becker
Principal Software Developer
Oracle
E-mail: joel.becker at oracle.com
Phone: (650) 506-8127



More information about the Ocfs2-tools-devel mailing list