* [PATCH] allow strictatime to be set as a global default @ 2015-12-18 14:42 Raymond Jennings 2015-12-18 18:50 ` Mandeep Sandhu 0 siblings, 1 reply; 6+ messages in thread From: Raymond Jennings @ 2015-12-18 14:42 UTC (permalink / raw) To: kernelnewbies I'm aware of a little tiff regarding strictatime in the past, and I think I came up with a patch that might help everyone get what they want. I'm already using it myself. I've had some review on #kernelnewbies for technical issues, how does this look? --- diff --git a/fs/Kconfig b/fs/Kconfig index 4b917eb..6ce72d8 100644 --- a/fs/Kconfig +++ b/fs/Kconfig @@ -4,17 +4,6 @@ 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 48e7c15..0570729 100644 --- a/fs/namespace.c +++ b/fs/namespace.c @@ -2680,15 +2680,9 @@ long do_mount(const char *dev_name, const char __user *dir_name, if (retval) goto dput_out; -#ifdef CONFIG_DEFAULT_STRICTATIME - /* Default to strictatime unless overridden */ - if (flags & MS_RELATIME) - mnt_flags |= MNT_RELATIME; -#else - /* Default to relatime unless overridden */ + /* Default to relatime unless overriden */ if (!(flags & MS_NOATIME)) mnt_flags |= MNT_RELATIME; -#endif /* Separate the per-mountpoint flags */ if (flags & MS_NOSUID) ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH] allow strictatime to be set as a global default 2015-12-18 14:42 [PATCH] allow strictatime to be set as a global default Raymond Jennings @ 2015-12-18 18:50 ` Mandeep Sandhu 2015-12-18 22:12 ` Raymond Jennings 0 siblings, 1 reply; 6+ messages in thread From: Mandeep Sandhu @ 2015-12-18 18:50 UTC (permalink / raw) To: kernelnewbies You've removed the strictatime option altogether. So how does that satisfy people who _do_ want it? Is there some other option that will enable it? Just curious. -mandeep On Fri, Dec 18, 2015 at 6:42 AM, Raymond Jennings <shentino@gmail.com> wrote: > I'm aware of a little tiff regarding strictatime in the past, and I > think I came up with a patch that might help everyone get what they > want. I'm already using it myself. > > I've had some review on #kernelnewbies for technical issues, how does > this look? > > --- > > diff --git a/fs/Kconfig b/fs/Kconfig > index 4b917eb..6ce72d8 100644 > --- a/fs/Kconfig > +++ b/fs/Kconfig > @@ -4,17 +4,6 @@ > > 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 48e7c15..0570729 100644 > --- a/fs/namespace.c > +++ b/fs/namespace.c > @@ -2680,15 +2680,9 @@ long do_mount(const char *dev_name, const char > __user *dir_name, > if (retval) > goto dput_out; > > -#ifdef CONFIG_DEFAULT_STRICTATIME > - /* Default to strictatime unless overridden */ > - if (flags & MS_RELATIME) > - mnt_flags |= MNT_RELATIME; > -#else > - /* Default to relatime unless overridden */ > + /* Default to relatime unless overriden */ > if (!(flags & MS_NOATIME)) > mnt_flags |= MNT_RELATIME; > -#endif > > /* Separate the per-mountpoint flags */ > if (flags & MS_NOSUID) > > > > > _______________________________________________ > Kernelnewbies mailing list > Kernelnewbies at kernelnewbies.org > http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH] allow strictatime to be set as a global default 2015-12-18 18:50 ` Mandeep Sandhu @ 2015-12-18 22:12 ` Raymond Jennings 2015-12-18 22:21 ` Mandeep Sandhu 0 siblings, 1 reply; 6+ messages in thread From: Raymond Jennings @ 2015-12-18 22:12 UTC (permalink / raw) To: kernelnewbies On Fri, Dec 18, 2015 at 10:50 AM, Mandeep Sandhu <mandeepsandhu.chd@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) ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH] allow strictatime to be set as a global default 2015-12-18 22:12 ` Raymond Jennings @ 2015-12-18 22:21 ` Mandeep Sandhu 2015-12-19 21:41 ` Raymond Jennings 0 siblings, 1 reply; 6+ messages in thread From: Mandeep Sandhu @ 2015-12-18 22:21 UTC (permalink / raw) To: kernelnewbies 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@gmail.com> wrote: > On Fri, Dec 18, 2015 at 10:50 AM, Mandeep Sandhu > <mandeepsandhu.chd@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) > > > ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH] allow strictatime to be set as a global default 2015-12-18 22:21 ` Mandeep Sandhu @ 2015-12-19 21:41 ` Raymond Jennings 2015-12-20 1:25 ` Mandeep Sandhu 0 siblings, 1 reply; 6+ messages in thread From: Raymond Jennings @ 2015-12-19 21:41 UTC (permalink / raw) To: kernelnewbies 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@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@gmail.com> > wrote: > > On Fri, Dec 18, 2015 at 10:50 AM, Mandeep Sandhu > > <mandeepsandhu.chd@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 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH] allow strictatime to be set as a global default 2015-12-19 21:41 ` Raymond Jennings @ 2015-12-20 1:25 ` Mandeep Sandhu 0 siblings, 0 replies; 6+ messages in thread From: Mandeep Sandhu @ 2015-12-20 1:25 UTC (permalink / raw) To: kernelnewbies Looks good to me. To test the real waters....you should send it to the lists you mentioned (or whatever the maintainers script tells you). Good luck, -mandeep On Sat, Dec 19, 2015 at 1:41 PM, Raymond Jennings <shentino@gmail.com> wrote: > 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@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@gmail.com> >> wrote: >> > On Fri, Dec 18, 2015 at 10:50 AM, Mandeep Sandhu >> > <mandeepsandhu.chd@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) >> > >> > >> > > > ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2015-12-20 1:25 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2015-12-18 14:42 [PATCH] allow strictatime to be set as a global default Raymond Jennings 2015-12-18 18:50 ` Mandeep Sandhu 2015-12-18 22:12 ` Raymond Jennings 2015-12-18 22:21 ` Mandeep Sandhu 2015-12-19 21:41 ` Raymond Jennings 2015-12-20 1:25 ` Mandeep Sandhu
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.