[PATCH] allow strictatime to be set as a global default

Raymond Jennings shentino at gmail.com
Sat Dec 19 16:41:09 EST 2015


How does this version look?

(the other delta for the other file was untouched)

Any chance it is ready to post to the big list (presumably fs with a cc to
lkml)?

diff --git a/fs/Kconfig b/fs/Kconfig
index 6ce72d8..122a993 100644
--- a/fs/Kconfig
+++ b/fs/Kconfig
@@ -4,6 +4,20 @@

 menu "File systems"

+config DEFAULT_STRICTATIME
+ bool "Use strictatime by default"
+ default n
+ help
+  Use strictatime as a default mount option.
+
+  Relatime became the default in 2007 to reduce I/O load on block devices.
+
+  Enabling this option will restore historic behavior and provide perfectly
+  accurate atimes, but the increase in write load may reduce performance
+  and shorten the life of the block device.
+
+  If unsure, say N.
+
 # Use unaligned word dcache accesses
 config DCACHE_WORD_ACCESS
        bool

On Fri, Dec 18, 2015 at 2:21 PM, Mandeep Sandhu <mandeepsandhu.chd at gmail.com
> wrote:

> Ah yes...now it makes sense! :)
>
> The current 'word of caution' (about increased I/O load on block
> devices), seems mild IMHO. Maybe we should we have a stricter
> warning...something like enabling this option might be harmful to the
> life of your block device (due to excessive writes) and will also lead
> to reduced performance?
>
> HTH,
> -mandeep
>
>
> On Fri, Dec 18, 2015 at 2:12 PM, Raymond Jennings <shentino at gmail.com>
> wrote:
> > On Fri, Dec 18, 2015 at 10:50 AM, Mandeep Sandhu
> > <mandeepsandhu.chd at gmail.com> wrote:
> >>
> >> You've removed the strictatime option altogether. So how does that
> >> satisfy people who _do_ want it?
> >
> >
> > ...actually it looks like I was an idiot and got my diff backwards when I
> > pulled it out of git :P
> >
> > Here's the correct version.
> >
> > diff --git a/fs/Kconfig b/fs/Kconfig
> > index 6ce72d8..4b917eb 100644
> > --- a/fs/Kconfig
> > +++ b/fs/Kconfig
> > @@ -4,6 +4,17 @@
> >
> > menu "File systems"
> >
> > +config DEFAULT_STRICTATIME
> > +       bool "Use strictatime by default"
> > +       default n
> > +       help
> > +         Use strictatime as a default mount option.
> > +
> > +         Strictatime preserves ancient historic behavior of keeping the
> > atime field always up to date.
> > +         However, it was changed in 2007 to relatime to reduce I/O load
> on
> > block devices.
> > +
> > +         If unsure, say N.
> > +
> > # Use unaligned word dcache accesses
> > config DCACHE_WORD_ACCESS
> >        bool
> > diff --git a/fs/namespace.c b/fs/namespace.c
> > index 0570729..48e7c15 100644
> > --- a/fs/namespace.c
> > +++ b/fs/namespace.c
> > @@ -2680,9 +2680,15 @@ long do_mount(const char *dev_name, const char
> __user
> > *dir_name,
> >         if (retval)
> >                 goto dput_out;
> >
> > -       /* Default to relatime unless overriden */
> > +#ifdef CONFIG_DEFAULT_STRICTATIME
> > +       /* Default to strictatime unless overridden */
> > +       if (flags & MS_RELATIME)
> > +               mnt_flags |= MNT_RELATIME;
> > +#else
> > +       /* Default to relatime unless overridden */
> >         if (!(flags & MS_NOATIME))
> >                 mnt_flags |= MNT_RELATIME;
> > +#endif
> >
> >
> >         /* Separate the per-mountpoint flags */
> >         if (flags & MS_NOSUID)
> >
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20151219/06289244/attachment.html 


More information about the Kernelnewbies mailing list