All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.