From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Michael Kerrisk (man-pages)" Subject: Re: Documenting MS_LAZYTIME Date: Sat, 21 Feb 2015 08:57:05 +0100 Message-ID: <54E83A51.6000807@gmail.com> References: <54E7578E.4090809@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <54E7578E.4090809@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: xfs-bounces@oss.sgi.com Sender: xfs-bounces@oss.sgi.com To: Eric Sandeen , Theodore Ts'o Cc: linux-man@vger.kernel.org, Linux API , XFS Developers , mtk.manpages@gmail.com, Linux-Fsdevel , Ext4 Developers List , Linux btrfs Developers List List-Id: linux-api@vger.kernel.org T24gMDIvMjAvMjAxNSAwNDo0OSBQTSwgRXJpYyBTYW5kZWVuIHdyb3RlOgo+IE9uIDIvMjAvMTUg Mjo1MCBBTSwgTWljaGFlbCBLZXJyaXNrIHdyb3RlOgo+PiBIZWxsbyBUZWQsCj4+Cj4+IEJhc2Vk IG9uIHlvdXIgY29tbWl0IG1lc3NhZ2UgMGFlNDVmNjNkNGUsIEkgSSB3cm90ZSB0aGUgZG9jdW1l bnRhdGlvbgo+PiBiZWxvdyBmb3IgTVNfTEFaWVRJTUUsIHRvIGdvIGludG8gdGhlIG1vdW50KDIp IG1hbiBwYWdlLiBDb3VsZCB5b3UKPj4gcGxlYXNlIGNoZWNrIGl0IG92ZXIgYW5kIGxldCBtZSBr bm93IGlmIGl0J3MgYWNjdXJhdGUuIEluIHBhcnRpY3VsYXIsCj4+IEkgYWRkZWQgcGllY2VzIG1h cmtlZCB3aXRoICIqIiBiZWxvdyB0aGF0IHdlcmUgbm90IHBhcnQgb2YgdGhlIGNvbW1pdAo+PiBt ZXNzYWdlIGFuZCBJJ2QgbGlrZSBjb25maXJtYXRpb24gdGhhdCB0aGV5J3JlIGFjY3VyYXRlLgo+ Pgo+PiBUaGFua3MsCj4+Cj4+IE1pY2hhZWwKPj4KPj4gW1sKPj4gICAgICAgIE1TX0xBWllUSU1F IChzaW5jZSBMaW51eCAzLjIwKQo+PiAgICAgICAgICAgICAgIE9ubHkgIHVwZGF0ZSAgZmlsZXRp bWVzIChhdGltZSwgbXRpbWUsIGN0aW1lKSBvbiB0aGUgaW4tCj4+ICAgICAgICAgICAgICAgbWVt b3J5IHZlcnNpb24gb2YgdGhlIGZpbGUgIGlub2RlLiAgIFRoZSAgb24tZGlzayAgdGltZeKAkAo+ PiAgICAgICAgICAgICAgIHN0YW1wcyBhcmUgdXBkYXRlZCBvbmx5IHdoZW46Cj4gCj4gImZpbGV0 aW1lcyIgYW5kICJmaWxlIGlub2RlIiBzZWVtcyBhIGJpdCBhd2t3YXJkLiAgSG93IGFib3V0Ogo+ IAo+PiAgICAgICAgTVNfTEFaWVRJTUUgKHNpbmNlIExpbnV4IDMuMjApCj4+IAkJUmVkdWNlIG9u LWRpc2sgdXBkYXRlcyBvZiBpbm9kZSB0aW1lc3RhbXBzIChhdGltZSwgbXRpbWUsIGN0aW1lKQo+ PiAJCWJ5IG1haW50YWluaW5nIHRoZXNlIGNoYW5nZXMgb25seSBpbiBtZW1vcnksIHVubGVzczoK PiAKPiAobWF5YmUgSSdtIGJpa2Utc2hlZGRpbmcgdG9vIG11Y2gsIGlmIHNvLCBzb3JyeSkuCgpO YWggaXQnJ3MgdGhlIGdvb2Qgc29ydCBvZiBiaWtlc2hlZGRpbmcgOy0pLiAiZmlsZXRpbWVzIiB3 YXMgYSB3b3Jkby0tSSAKbWVhbnQgInRpbWVzdGFtcHMiLiBJJ3ZlIHRha2VuIHlvdXIgd29yZGlu ZyBtb3N0bHkuCgo+IAo+PiAgICAgICAgICAgICAgIChhKSAgdGhlIGlub2RlIG5lZWRzIHRvIGJl IHVwZGF0ZWQgZm9yIHNvbWUgY2hhbmdlIHVucmXigJAKPj4gICAgICAgICAgICAgICAgICAgIGxh dGVkIHRvIGZpbGUgdGltZXN0YW1wczsKPj4KPj4gICAgICAgICAgICAgICAoYikgIHRoZSBhcHBs aWNhdGlvbiAgZW1wbG95cyAgZnN5bmMoMiksICBzeW5jZnMoMiksICBvcgo+PiAgICAgICAgICAg ICAgICAgICAgc3luYygyKTsKPj4KPj4gICAgICAgICAgICAgICAoYykgIGFuIHVuZGVsZXRlZCBp bm9kZSBpcyBldmljdGVkIGZyb20gbWVtb3J5OyBvcgo+Pgo+PiAqICAgICAgICAgICAgIChkKSAg bW9yZSB0aGFuIDI0IGhvdXJzIGhhdmUgcGFzc2VkIHNpbmNlIHRoZSBpLW5vZGUgd2FzCj4+ICog ICAgICAgICAgICAgICAgICB3cml0dGVuIHRvIGRpc2suCj4gCj4gUGxlYXNlIGRvbid0IHVzZSAi aS1ub2RlIiAtIHNpbXBseSAiaW5vZGUiIGlzIG11Y2ggbW9yZSBjb21tb24gaW4gdGhlIG1hbnBh Z2VzCj4gQUZBSUNULgoKWXVwLCB0aGF0IHdhcyBhIHR5cG8uIEZpeGVkLgoKPj4gICAgICAgICAg ICAgICBUaGlzIG1vdW50IG9wdGlvbiBzaWduaWZpY2FudGx5IHJlZHVjZXMgIHdyaXRlcyAgdG8g IHRoZQo+PiAgICAgICAgICAgICAgIGlub2RlICB0YWJsZSAgZm9yIHdvcmtsb2FkcyB0aGF0IHBl cmZvcm0gZnJlcXVlbnQgcmFuZG9tCj4+ICAgICAgICAgICAgICAgd3JpdGVzIHRvIHByZWFsbG9j YXRlZCBmaWxlcy4KPiAKPiBUaGlzIHNlZW1zIGxpa2UgYW4gb3Zlcmx5IHNwZWNpZmljIGRlc2Ny aXB0aW9uIG9mIGEgc2luZ2xlIHdvcmtsb2FkIG91dAo+IG9mIG1hbnkgd2hpY2ggbWF5IGJlbmVm aXQsIGJ1dCB3aGF0IGRvIG90aGVycyB0aGluaz8gIAoKRmFpciBlbm91Z2guIEkgcmV3b3JkZWQg dGhhdCB0byBub3RlIGl0IGFzIGFuIGV4YW1wbGUuCgo+ICJpbm9kZSB0YWJsZSIgaXMgYWxzbyBm YWlybHkgZXh0Ti1zcGVjaWZpYy4KCkknbGwgYXdhaXQgZnVydGhlciBpbnB1dCBvbiB0aGF0IHBv aW50LgoKTm93IHdlIGhhdmU6CgogICAgICAgTVNfTEFaWVRJTUUgKHNpbmNlIExpbnV4IDMuMjAp CiAgICAgICAgICAgICAgUmVkdWNlICBvbi1kaXNrICB1cGRhdGVzICBvZiAgaW5vZGUgIHRpbWVz dGFtcHMgIChhdGltZSwKICAgICAgICAgICAgICBtdGltZSwgY3RpbWUpIGJ5IG1haW50YWluaW5n IHRoZXNlIGNoYW5nZXMgb25seSBpbiAgbWVt4oCQCiAgICAgICAgICAgICAgb3J5LiAgVGhlIG9u LWRpc2sgdGltZXN0YW1wcyBhcmUgdXBkYXRlZCBvbmx5IHdoZW46CgogICAgICAgICAgICAgIChh KSAgdGhlIGlub2RlIG5lZWRzIHRvIGJlIHVwZGF0ZWQgZm9yIHNvbWUgY2hhbmdlIHVucmXigJAK ICAgICAgICAgICAgICAgICAgIGxhdGVkIHRvIGZpbGUgdGltZXN0YW1wczsKCiAgICAgICAgICAg ICAgKGIpICB0aGUgYXBwbGljYXRpb24gIGVtcGxveXMgIGZzeW5jKDIpLCAgc3luY2ZzKDIpLCAg b3IKICAgICAgICAgICAgICAgICAgIHN5bmMoMik7CgogICAgICAgICAgICAgIChjKSAgYW4gdW5k ZWxldGVkIGlub2RlIGlzIGV2aWN0ZWQgZnJvbSBtZW1vcnk7IG9yCgogICAgICAgICAgICAgIChk KSAgbW9yZSAgdGhhbiAyNCBob3VycyBoYXZlIHBhc3NlZCBzaW5jZSB0aGUgaW5vZGUgd2FzCiAg ICAgICAgICAgICAgICAgICB3cml0dGVuIHRvIGRpc2suCgogICAgICAgICAgICAgIFRoaXMgbW91 bnQgb3B0aW9uIHNpZ25pZmljYW50bHkgcmVkdWNlcyAgd3JpdGVzICB0byAgdGhlCiAgICAgICAg ICAgICAgaW5vZGUgIHRhYmxlICBmb3IgIHNvbWUgd29ya2xvYWRzIChlLmcuLCB3aGVuIHBlcmZv cm1pbmcKICAgICAgICAgICAgICBmcmVxdWVudCByYW5kb20gd3JpdGVzIHRvIHByZWFsbG9jYXRl ZCBmaWxlcykuCgpDaGVlcnMsCgpNaWNoYWVsCgotLSAKTWljaGFlbCBLZXJyaXNrCkxpbnV4IG1h bi1wYWdlcyBtYWludGFpbmVyOyBodHRwOi8vd3d3Lmtlcm5lbC5vcmcvZG9jL21hbi1wYWdlcy8K TGludXgvVU5JWCBTeXN0ZW0gUHJvZ3JhbW1pbmcgVHJhaW5pbmc6IGh0dHA6Ly9tYW43Lm9yZy90 cmFpbmluZy8KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CnhmcyBtYWlsaW5nIGxpc3QKeGZzQG9zcy5zZ2kuY29tCmh0dHA6Ly9vc3Muc2dpLmNvbS9tYWls bWFuL2xpc3RpbmZvL3hmcwo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wg0-f45.google.com ([74.125.82.45]:40871 "EHLO mail-wg0-f45.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755820AbbBUH5I (ORCPT ); Sat, 21 Feb 2015 02:57:08 -0500 Message-ID: <54E83A51.6000807@gmail.com> Date: Sat, 21 Feb 2015 08:57:05 +0100 From: "Michael Kerrisk (man-pages)" MIME-Version: 1.0 To: Eric Sandeen , "Theodore Ts'o" CC: mtk.manpages@gmail.com, Ext4 Developers List , Linux btrfs Developers List , XFS Developers , linux-man@vger.kernel.org, Linux-Fsdevel , Linux API Subject: Re: Documenting MS_LAZYTIME References: <54E7578E.4090809@redhat.com> In-Reply-To: <54E7578E.4090809@redhat.com> Content-Type: text/plain; charset=utf-8 Sender: linux-btrfs-owner@vger.kernel.org List-ID: On 02/20/2015 04:49 PM, Eric Sandeen wrote: > On 2/20/15 2:50 AM, Michael Kerrisk wrote: >> Hello Ted, >> >> Based on your commit message 0ae45f63d4e, I I wrote the documentation >> below for MS_LAZYTIME, to go into the mount(2) man page. Could you >> please check it over and let me know if it's accurate. In particular, >> I added pieces marked with "*" below that were not part of the commit >> message and I'd like confirmation that they're accurate. >> >> Thanks, >> >> Michael >> >> [[ >> MS_LAZYTIME (since Linux 3.20) >> Only update filetimes (atime, mtime, ctime) on the in- >> memory version of the file inode. The on-disk time‐ >> stamps are updated only when: > > "filetimes" and "file inode" seems a bit awkward. How about: > >> MS_LAZYTIME (since Linux 3.20) >> Reduce on-disk updates of inode timestamps (atime, mtime, ctime) >> by maintaining these changes only in memory, unless: > > (maybe I'm bike-shedding too much, if so, sorry). Nah it''s the good sort of bikeshedding ;-). "filetimes" was a wordo--I meant "timestamps". I've taken your wording mostly. > >> (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 i-node was >> * written to disk. > > Please don't use "i-node" - simply "inode" is much more common in the manpages > AFAICT. Yup, that was a typo. Fixed. >> This mount option significantly reduces writes to the >> inode table for workloads that perform frequent random >> writes to preallocated files. > > This seems like an overly specific description of a single workload out > of many which may benefit, but what do others think? Fair enough. I reworded that to note it as an example. > "inode table" is also fairly extN-specific. I'll await further input on that point. 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 option significantly reduces writes to the inode table for some workloads (e.g., when performing frequent random writes to preallocated files). Cheers, Michael -- Michael Kerrisk Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/ Linux/UNIX System Programming Training: http://man7.org/training/