[Top] [All Lists]

Re: Documenting MS_LAZYTIME

To: Omar Sandoval <osandov@xxxxxxxxxxx>
Subject: Re: Documenting MS_LAZYTIME
From: "Michael Kerrisk (man-pages)" <mtk.manpages@xxxxxxxxx>
Date: Fri, 27 Feb 2015 09:36:03 +0100
Cc: mtk.manpages@xxxxxxxxx, Theodore Ts'o <tytso@xxxxxxx>, Eric Sandeen <sandeen@xxxxxxxxxx>, linux-man@xxxxxxxxxxxxxxx, Linux API <linux-api@xxxxxxxxxxxxxxx>, XFS Developers <xfs@xxxxxxxxxxx>, Linux-Fsdevel <linux-fsdevel@xxxxxxxxxxxxxxx>, Ext4 Developers List <linux-ext4@xxxxxxxxxxxxxxx>, Linux btrfs Developers List <linux-btrfs@xxxxxxxxxxxxxxx>
Delivered-to: xfs@xxxxxxxxxxx
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=d7SEj/vOJMo//QRUaZFB/9bF0HKADu2RGLaX3SFLRZs=; b=S76k37EcVcaDEQ+gsxRxINRRdf/s1IaJQa6rtoqltTXpWyl/qwowzmHZrysisz95cu sPZzFCeEwPLqaeLua8NWo0Pa+DUMpMq1O5e4v0gWSKCjw0We6IsS/HMBQQ2U2rdg0MEP nlmz87VPq6IE7g4DGLVqhWpqy7HwX/uoEGnyFZeWvyfFHVZsoM6BkPa/zpr6ALJqQXmN kFnbhlgbekTsw73tLP3D4eYIHGnqMi6GAQuoL1xH0juVDlUY44WkX4SnJiPq5cqC4/Ko SRuX+Gra6ThJJTJ4N+g80TSGn7HQ37dmQtgkz6jOKTjD8XnQepEOa/PHqjm+QlVWP+kM oUbA==
In-reply-to: <20150227080800.GA20442@mew>
References: <CAHO5Pa0k7QkV_6BDjwTVxa7LV9tFyN9nGFFcSvOC6HYO08wfrw@xxxxxxxxxxxxxx> <54E7578E.4090809@xxxxxxxxxx> <20150221025636.GB7922@xxxxxxxxx> <54EEDE23.6080009@xxxxxxxxx> <20150226133113.GD11217@xxxxxxxxx> <54EF2161.90607@xxxxxxxxx> <20150227000409.GC17174@xxxxxxxxx> <54F02446.2050008@xxxxxxxxx> <20150227080800.GA20442@mew>
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
Hello Omar,

On 02/27/2015 09:08 AM, Omar Sandoval wrote:
> On Fri, Feb 27, 2015 at 09:01:10AM +0100, Michael Kerrisk (man-pages) wrote:
>> On 02/27/2015 01:04 AM, Theodore Ts'o wrote:
>>> On Thu, Feb 26, 2015 at 02:36:33PM +0100, Michael Kerrisk (man-pages) wrote:
>>>>     The disadvantage of MS_STRICTATIME | MS_LAZYTIME is that
>>>>     in the case of a system crash, the atime and mtime fields
>>>>     on disk might be out of date by at most 24 hours.
>>> I'd change to "The disadvantage of MS_LAZYTIME is that..."  and
>>> perhaps move that so it's clear it applies to any use of MS_LAZYTIME
>>> has this as a downside.
>>> Does that make sense?
>> Thanks, Ted. Got it. So, now we have:
>>        MS_LAZYTIME (since Linux 3.20)
>>               Reduce  on-disk  updates  of  inode  timestamps  (atime,
>>               mtime, ctime) by maintaining these changes only in  memâ
>>               ory.  The on-disk timestamps are updated only when:
>>               (a)  the inode needs to be updated for some change unreâ
>>                    lated to file timestamps;
>>               (b)  the application  employs  fsync(2),  syncfs(2),  or
>>                    sync(2);
>>               (c)  an undeleted inode is evicted from memory; or
>>               (d)  more  than 24 hours have passed since the inode was
>>                    written to disk.
>>               This mount significantly reduces writes needed to update
> "This mount option"?

Thanks, fixed.

>>               the  inode's  timestamps,  especially  mtime  and atime.
>>               However, in the event of a system crash, the  atime  and
>>               mtime  fields  on  disk might be out of date by up to 24
>>               hours.
>>               Examples of workloads where this option could be of sigâ
>>               nificant  benefit include frequent random writes to preâ
>>               allocated files, as well as cases where the  MS_STRICTAâ
>>               TIME  mount  option  is also enabled.  (The advantage of
>>               (MS_STRICTATIME |  MS_LAZYTIME)  is  that  stat(2)  will
>>               return  the  correctly  updated  atime,  but  the  atime
>>               updates will be flushed to disk only when (1) the  inode
>>               needs  to  be  updated for filesystem / data consistency
>>               reasons or (2) the inode is pushed out of memory, or (3)
>>               the filesystem is unmounted.)
> Is it necessary to repeat the reasons for flushing, which are stated
> above?

Good point. I replaced this piece with just a few words referring 
to the list above.



Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/

<Prev in Thread] Current Thread [Next in Thread>