Bug#867895: Re[2]: Bug#867895: e2fsprogs: man ext4: it seems you document "commit" option for ext4 wrong
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
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
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
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