All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dongsheng Yang <yangds.fnst@cn.fujitsu.com>
To: <dedekind1@gmail.com>
Cc: Dave Chinner <david@fromorbit.com>,
	Richard Weinberger <richard@nod.at>,
	<linux-mtd@lists.infradead.org>, <adrian.hunter@intel.com>,
	<linux-fsdevel@vger.kernel.org>
Subject: Re: [PATCH RESEND] ubifs: Introduce a mount option of force_atime.
Date: Fri, 26 Jun 2015 15:52:24 +0800	[thread overview]
Message-ID: <558D04B8.5050300@cn.fujitsu.com> (raw)
In-Reply-To: <1435304624.9627.47.camel@sauron.fi.intel.com>

On 06/26/2015 03:43 PM, Artem Bityutskiy wrote:
> On Fri, 2015-06-26 at 15:13 +0800, Dongsheng Yang wrote:
>> On 06/26/2015 03:01 PM, Artem Bityutskiy wrote:
>>> On Fri, 2015-06-26 at 09:17 +0800, Dongsheng Yang wrote:
>> ...
>>
>>> This means that if a file-system (e.g., UBIFS or JFFS2) never supported
>>> atime, it is harder to add atime support without breaking the old
>>> behavior.
>>>
>>> What if we push the two "set NOATIME flag" lines of code down to
>>> individual file-systems, instead of having it at the VFS level?
>>
>>      TO be sure I understand it correctly, do you mean pushing the flags
>> parsing work to individual file-systems? Then we can set the default
>> behavior in file-system itself.
>
> No, I mean removing these 2 lines from do_mount()
>
>        /* Default to relatime */
>        mnt_flags |= MNT_RELATIME;
>
> and add them to the
>
> struct file_system_type->mount()
>
> of every individual file-system (e.g., ext4_mount()).

  Well, it's possible, but I don't think others would like it. Because it
create a lot of redundancy. If we want to make file_system_type to be
aware of it, I prefer to introduce a file_system_type::parse_options()
call back. Something like that:

+       if (type->parse_options)
+               type->parse_options(path, flags, mnt_flags);
+       else
+               generic_parse_options(path, flags, mnt_flags);

>
>>      But there is another problem I called as problem 2 in my last mail.
>> That we can not distinguish:
>>      -o - default behavior (*no atime*)
>>      -o atime - atime support
>
> -o atime does not mean anything from the kernel POW, it is only
> user-space tools which may translate it to something meaningful for the
> kernel. No file-systems can distinguish these two anyway. So I would say
> this is not a problem, people have to use 'strictatime' instead.

Yes, it's only used in util-linux now. But do you think it's weird that:
-o atime - no atime (we treat it as the default behavior)
-o noatime - no atime
?

Yang
>
> What do you think about this as the alternative to the
> UBIFS_ATIME_SUPPORT configuration switch, which will introduce
> additional churn?
>
> .
>


WARNING: multiple messages have this Message-ID (diff)
From: Dongsheng Yang <yangds.fnst@cn.fujitsu.com>
To: <dedekind1@gmail.com>
Cc: linux-fsdevel@vger.kernel.org,
	Richard Weinberger <richard@nod.at>,
	Dave Chinner <david@fromorbit.com>,
	adrian.hunter@intel.com, linux-mtd@lists.infradead.org
Subject: Re: [PATCH RESEND] ubifs: Introduce a mount option of force_atime.
Date: Fri, 26 Jun 2015 15:52:24 +0800	[thread overview]
Message-ID: <558D04B8.5050300@cn.fujitsu.com> (raw)
In-Reply-To: <1435304624.9627.47.camel@sauron.fi.intel.com>

On 06/26/2015 03:43 PM, Artem Bityutskiy wrote:
> On Fri, 2015-06-26 at 15:13 +0800, Dongsheng Yang wrote:
>> On 06/26/2015 03:01 PM, Artem Bityutskiy wrote:
>>> On Fri, 2015-06-26 at 09:17 +0800, Dongsheng Yang wrote:
>> ...
>>
>>> This means that if a file-system (e.g., UBIFS or JFFS2) never supported
>>> atime, it is harder to add atime support without breaking the old
>>> behavior.
>>>
>>> What if we push the two "set NOATIME flag" lines of code down to
>>> individual file-systems, instead of having it at the VFS level?
>>
>>      TO be sure I understand it correctly, do you mean pushing the flags
>> parsing work to individual file-systems? Then we can set the default
>> behavior in file-system itself.
>
> No, I mean removing these 2 lines from do_mount()
>
>        /* Default to relatime */
>        mnt_flags |= MNT_RELATIME;
>
> and add them to the
>
> struct file_system_type->mount()
>
> of every individual file-system (e.g., ext4_mount()).

  Well, it's possible, but I don't think others would like it. Because it
create a lot of redundancy. If we want to make file_system_type to be
aware of it, I prefer to introduce a file_system_type::parse_options()
call back. Something like that:

+       if (type->parse_options)
+               type->parse_options(path, flags, mnt_flags);
+       else
+               generic_parse_options(path, flags, mnt_flags);

>
>>      But there is another problem I called as problem 2 in my last mail.
>> That we can not distinguish:
>>      -o - default behavior (*no atime*)
>>      -o atime - atime support
>
> -o atime does not mean anything from the kernel POW, it is only
> user-space tools which may translate it to something meaningful for the
> kernel. No file-systems can distinguish these two anyway. So I would say
> this is not a problem, people have to use 'strictatime' instead.

Yes, it's only used in util-linux now. But do you think it's weird that:
-o atime - no atime (we treat it as the default behavior)
-o noatime - no atime
?

Yang
>
> What do you think about this as the alternative to the
> UBIFS_ATIME_SUPPORT configuration switch, which will introduce
> additional churn?
>
> .
>

  reply	other threads:[~2015-06-26  7:57 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-08 10:07 [PATCH RESEND] ubifs: Introduce a mount option of force_atime Dongsheng Yang
2015-06-08 10:07 ` Dongsheng Yang
2015-06-08 22:35 ` Richard Weinberger
2015-06-08 22:55 ` Richard Weinberger
2015-06-09  2:57   ` Dongsheng Yang
2015-06-09  2:57     ` Dongsheng Yang
2015-06-09  3:24   ` Dongsheng Yang
2015-06-09  3:24     ` Dongsheng Yang
2015-06-09  5:00     ` Dongsheng Yang
2015-06-09  5:00       ` Dongsheng Yang
2015-06-09  5:09       ` Dongsheng Yang
2015-06-09  5:09         ` Dongsheng Yang
2015-06-09  6:36 ` Artem Bityutskiy
2015-06-09  6:36   ` Artem Bityutskiy
2015-06-09  8:02   ` Richard Weinberger
2015-06-09  8:02     ` Richard Weinberger
2015-06-10  3:16     ` Dongsheng Yang
2015-06-10  3:16       ` Dongsheng Yang
2015-06-10  9:21       ` Artem Bityutskiy
2015-06-10  9:21         ` Artem Bityutskiy
2015-06-10 10:10         ` Dongsheng Yang
2015-06-10 10:10           ` Dongsheng Yang
2015-06-10 10:25           ` Artem Bityutskiy
2015-06-10 10:25             ` Artem Bityutskiy
2015-06-10 10:34             ` Dongsheng Yang
2015-06-10 10:34               ` Dongsheng Yang
2015-06-10 11:05               ` Artem Bityutskiy
2015-06-10 11:05                 ` Artem Bityutskiy
2015-06-23  9:55                 ` Dongsheng Yang
2015-06-23  9:55                   ` Dongsheng Yang
2015-06-23 10:44                   ` Artem Bityutskiy
2015-06-23 10:44                     ` Artem Bityutskiy
2015-06-23 23:49                     ` Dongsheng Yang
2015-06-23 23:49                       ` Dongsheng Yang
2015-06-24  0:33                     ` Dave Chinner
2015-06-24  0:33                       ` Dave Chinner
2015-06-24 16:04                       ` Artem Bityutskiy
2015-06-24 16:04                         ` Artem Bityutskiy
2015-06-25  9:55                       ` Dongsheng Yang
2015-06-25  9:55                         ` Dongsheng Yang
2015-06-25 10:08                         ` Artem Bityutskiy
2015-06-25 10:08                           ` Artem Bityutskiy
2015-06-25 10:10                           ` Dongsheng Yang
2015-06-25 10:10                             ` Dongsheng Yang
2015-06-25 11:28                             ` Artem Bityutskiy
2015-06-25 11:28                               ` Artem Bityutskiy
2015-06-26  1:17                               ` Dongsheng Yang
2015-06-26  1:17                                 ` Dongsheng Yang
2015-06-26  7:01                                 ` Artem Bityutskiy
2015-06-26  7:01                                   ` Artem Bityutskiy
2015-06-26  7:13                                   ` Dongsheng Yang
2015-06-26  7:13                                     ` Dongsheng Yang
2015-06-26  7:43                                     ` Artem Bityutskiy
2015-06-26  7:43                                       ` Artem Bityutskiy
2015-06-26  7:52                                       ` Dongsheng Yang [this message]
2015-06-26  7:52                                         ` Dongsheng Yang
2015-06-26  8:19                                         ` Artem Bityutskiy
2015-06-26  8:19                                           ` Artem Bityutskiy
2015-06-26  8:22                                           ` Dongsheng Yang
2015-06-26  8:22                                             ` Dongsheng Yang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=558D04B8.5050300@cn.fujitsu.com \
    --to=yangds.fnst@cn.fujitsu.com \
    --cc=adrian.hunter@intel.com \
    --cc=david@fromorbit.com \
    --cc=dedekind1@gmail.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=richard@nod.at \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.