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)