Bug#867895: Re[2]: Bug#867895: e2fsprogs: man ext4: it seems you document "commit" option for ext4 wrong

2017-07-11 Thread Askar Safin
Documentation/filesystems/ext4.txt contains this:

commit=nrsec(*) Ext4 can be told to sync all its data and metadata
every 'nrsec' seconds. The default value is 5 seconds.
This means that if you lose your power, you will lose
as much as the latest 5 seconds of work (your
filesystem will not be damaged though, thanks to the
journaling)

It seems this is wrong, please, fix it.

Bug#867895: e2fsprogs: man ext4: it seems you document "commit" option for ext4 wrong

2017-07-10 Thread Theodore Ts'o
On Mon, Jul 10, 2017 at 02:36:22PM +0300, Askar Safin wrote:
> 
> Hi. Currently "commit" for ext3 documented so:
> 
> .BI commit= nrsec
> Sync all data and metadata every
> .I nrsec
> seconds.  The default value is 5 seconds.  Zero means default.

This is actually wrong for ext3.  It happens to be true for
data=ordered (which is the default), but if you use data=writeback, it
won't sync all data.

So what this should be reworded to say is "Initiate a jbd2 journal
commit every nrsec seconds".  After a journal commit, file system
metadata operations issued before the commit will be persisted after a
crash.  In order to guarantee that data should be persisted after a
crash, the application must use fsync(2)."

> So, it seems from man that ext4 has same "commit" option and its default 
> value is 5 seconds (even if I don't specify "commit" at command line at all). 
> But it seems that this is wrong ( https://lwn.net/Articles/322823/ ). So, 
> please, fix the man.

Well, the *primary* definition of the commit option is that we will
start a jbd2 commit option every N seconds.  This is the same for ext3
and ext4.

So I would say that the description you referenced in the ext4 portion
of the document is corret, and the part of the document that you
referenced in the ext3 section was incorrect.

The ext4 man page was actually copied from
Documentation/filesystems/ext4.txt, and there are certainly some
changes we could make to improve the man page.

Thanks for pointing this out,

- Ted



Bug#867895: e2fsprogs: man ext4: it seems you document "commit" option for ext4 wrong

2017-07-10 Thread Askar Safin
It seems https://www.kernel.org/doc/Documentation/filesystems/ext4.txt has the 
same issue?!

Bug#867895: e2fsprogs: man ext4: it seems you document "commit" option for ext4 wrong

2017-07-10 Thread Askar Safin
Package: e2fsprogs
Version: 1.43.4-2
Severity: normal
Tags: upstream

Hi. Currently "commit" for ext3 documented so:

.BI commit= nrsec
Sync all data and metadata every
.I nrsec
seconds.  The default value is 5 seconds.  Zero means default.

And in the beginning of ext4:

The options
.B journal_dev, norecovery, noload, data, commit, orlov, oldalloc, 
[no]user_xattr
.B [no]acl, bsddf, minixdf, debug, errors, data_err, grpid, bsdgroups, nogrpid
.B sysvgroups, resgid, resuid, sb, quota, noquota, grpquota, usrquota
.B usrjquota, grpjquota and jqfmt
are backwardly compatible with ext3 or ext2.

So, it seems from man that ext4 has same "commit" option and its default value 
is 5 seconds (even if I don't specify "commit" at command line at all). But it 
seems that this is wrong ( https://lwn.net/Articles/322823/ ). So, please, fix 
the man.

I tried to fill the bug report to util-linux ( 
https://github.com/karelzak/util-linux/issues/479 ), but they removed 
description of ext* from their manual and said that ext* description will be in 
e2fsprogs manual only. But e2fsprogs seems to want bugs filled to downstream 
distros ( 
https://sourceforge.net/p/e2fsprogs/discussion/7053/thread/2caf9bc1/?limit=25 
), so I am posting here.

-- System Information:
Debian Release: 9.0
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.9.0-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US:en (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages e2fsprogs depends on:
ii  e2fslibs1.43.4-2
ii  libblkid1   2.29.2-1
ii  libc6   2.24-11+deb9u1
ii  libcomerr2  1.43.4-2
ii  libss2  1.43.4-2
ii  libuuid12.29.2-1
ii  util-linux  2.29.2-1

e2fsprogs recommends no packages.

Versions of packages e2fsprogs suggests:
pn  e2fsck-static  
pn  fuse2fs
pn  gpart  
ii  parted 3.2-17

-- no debconf information