From patchwork Fri Jun 26 07:01:23 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Artem Bityutskiy X-Patchwork-Id: 6678521 Return-Path: X-Original-To: patchwork-linux-fsdevel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id BE1749F380 for ; Fri, 26 Jun 2015 07:01:32 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id C38C520703 for ; Fri, 26 Jun 2015 07:01:31 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id C54C6206FB for ; Fri, 26 Jun 2015 07:01:30 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751655AbbFZHB3 (ORCPT ); Fri, 26 Jun 2015 03:01:29 -0400 Received: from mga11.intel.com ([192.55.52.93]:58516 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751558AbbFZHB2 (ORCPT ); Fri, 26 Jun 2015 03:01:28 -0400 Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga102.fm.intel.com with ESMTP; 26 Jun 2015 00:01:27 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.13,682,1427785200"; d="scan'208";a="750788663" Received: from linux.intel.com ([10.23.219.25]) by fmsmga002.fm.intel.com with ESMTP; 26 Jun 2015 00:01:26 -0700 Received: from [10.237.68.148] (sauron.fi.intel.com [10.237.68.148]) by linux.intel.com (Postfix) with ESMTP id 627266A4087; Fri, 26 Jun 2015 00:00:46 -0700 (PDT) Message-ID: <1435302083.9627.36.camel@sauron.fi.intel.com> Subject: Re: [PATCH RESEND] ubifs: Introduce a mount option of force_atime. From: Artem Bityutskiy Reply-To: dedekind1@gmail.com To: Dongsheng Yang Cc: Dave Chinner , Richard Weinberger , linux-mtd@lists.infradead.org, adrian.hunter@intel.com, linux-fsdevel@vger.kernel.org Date: Fri, 26 Jun 2015 10:01:23 +0300 In-Reply-To: <558CA82B.7050306@cn.fujitsu.com> References: <1433831809.28854.17.camel@sauron.fi.intel.com> <55769D97.3010602@nod.at> <5577AC03.9060909@cn.fujitsu.com> <1433928078.14092.1.camel@sauron.fi.intel.com> <55780D1C.6080907@cn.fujitsu.com> <1433931934.14092.11.camel@sauron.fi.intel.com> <557812A4.8020409@cn.fujitsu.com> <1433934324.14092.15.camel@sauron.fi.intel.com> <55892D18.3020203@cn.fujitsu.com> <1435056240.7659.69.camel@sauron.fi.intel.com> <20150624003335.GG22807@dastard> <558BD010.6020207@cn.fujitsu.com> <1435226918.9627.14.camel@sauron.fi.intel.com> <558BD3B0.8080209@cn.fujitsu.com> <1435231689.9627.17.camel@sauron.fi.intel.com> <558CA82B.7050306@cn.fujitsu.com> X-Mailer: Evolution 3.10.4 (3.10.4-4.fc20) Mime-Version: 1.0 Sender: linux-fsdevel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-fsdevel@vger.kernel.org X-Spam-Status: No, score=-8.3 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FREEMAIL_FROM,RCVD_IN_DNSWL_HI,RP_MATCHES_RCVD,UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP On Fri, 2015-06-26 at 09:17 +0800, Dongsheng Yang wrote: > On 06/25/2015 07:28 PM, Artem Bityutskiy wrote: > > On Thu, 2015-06-25 at 18:10 +0800, Dongsheng Yang wrote: > >> > -o - default behavior (no atime) > >> > -o relatime - relative atime support > >> > >> We would find both of them are MS_RELATIME set. But we > >> want to do different thing in these cases. So I introduced > >> the force_atime. Then: > > > > Oh, do you know where exactly the default MS_RELATIME gets set? > > Ha, yes, it was set in do_mount() in vfs. I mentioned this in a mail > days ago, but let me try to explain it more clearly here. OK, right, I see it: commit 0a1c01c9477602ee8b44548a9405b2c1d587b5a2 Author: Matthew Garrett Date: Thu Mar 26 17:53:14 2009 +0000 Make relatime default Change the default behaviour of the kernel to use relatime for all filesystems. This can be overridden with the "strictatime" mount option. Signed-off-by: Matthew Garrett Signed-off-by: Linus Torvalds 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? ... snip ... > (d), But when I heard an idea about UBIFS_ATIME_SUPPORT from you. > I get an idea 3. > ======================idea 3 in ubifs========================= > UBIFS_ATIME_SUPPORT is n, same with what ubifs did: > -o - no atime > -o atime - no atime > -o noatime - no atime > -o relatime - no atime > -o strictatime - no atime > -o lazyatime - no atime > > UBIFS_ATIME_SUPPORT is y, same with what generic is doing: > -o - default behavior (relatime currently) > -o atime - atime support > -o noatime - no atime support > -o relatime - relative atime support > -o strictatime - strict atime support > -o lazyatime - lazy atime support Yes, this is an option, I am just trying to explore other possibilities. --- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/fs/namespace.c b/fs/namespace.c index d0659ec..f0e7530 100644 --- a/fs/namespace.c +++ b/fs/namespace.c @@ -1920,6 +1920,9 @@ long do_mount(char *dev_name, char *dir_name, char *type_page, if (data_page) ((char *)data_page)[PAGE_SIZE - 1] = 0; + /* Default to relatime */ + mnt_flags |= MNT_RELATIME; + /* Separate the per-mountpoint flags */ if (flags & MS_NOSUID) mnt_flags |= MNT_NOSUID; @@ -1931,8 +1934,6 @@ long do_mount(char *dev_name, char *dir_name, char *type_page, mnt_flags |= MNT_NOATIME; if (flags & MS_NODIRATIME) mnt_flags |= MNT_NODIRATIME; - if (flags & MS_RELATIME) - mnt_flags |= MNT_RELATIME; if (flags & MS_STRICTATIME) mnt_flags &= ~(MNT_RELATIME | MNT_NOATIME); if (flags & MS_RDONLY)