Re: Documenting MS_LAZYTIME

2 messages, 2 authors, 2015-02-20 · open the first message on its own page

Re: Documenting MS_LAZYTIME

From: Andreas Dilger <hidden>
Date: 2015-02-20 12:32:58

On Feb 20, 2015, at 1:50 AM, Michael Kerrisk [off-list ref] 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:

             (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.

             This mount option significantly reduces  writes  to  the
             inode  table  for workloads that perform frequent random
             writes to preallocated files.

*             As at Linux 3.20, this option is supported only on ext4.
I _think_ that the lazytime mount option is generic for all filesystems.
I believe ext4 has an extra optimization for it, but that's it.

Cheers, Andreas

Re: Documenting MS_LAZYTIME

From: Michael Kerrisk (man-pages) <hidden>
Date: 2015-02-20 13:22:07

On 20 February 2015 at 13:32, Andreas Dilger [off-list ref] wrote:
On Feb 20, 2015, at 1:50 AM, Michael Kerrisk [off-list ref] wrote:
quoted
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:

             (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.

             This mount option significantly reduces  writes  to  the
             inode  table  for workloads that perform frequent random
             writes to preallocated files.

*             As at Linux 3.20, this option is supported only on ext4.
I _think_ that the lazytime mount option is generic for all filesystems.
I believe ext4 has an extra optimization for it, but that's it.
Ah yes, looking at the code again, that makes sense. I think you're
right, and I've struck that last sentence. Thanks, Andreas.

Cheers,

Michael


-- 
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help