Package: e2fsprogs Version: 1.47.1-1 Severity: minor Tags: patch Dear Maintainer,
* What led up to the situation? Checking for defects with [test-]groff -mandoc -t -K utf8 -ww -b -z <man page> [test-groff is a script in the repository for "groff"] * What was the outcome of this action? troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611 troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':590: macro 'TP' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611: macro 'IP' troff: backtrace: file '<stdin>':750 troff:<stdin>:750: warning: expected ')', got character 'n' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611 troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':590: macro 'TP' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611: macro 'IP' troff: backtrace: file '<stdin>':752 troff:<stdin>:752: warning: expected ')', got character 'n' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611 troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':590: macro 'TP' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611: macro 'IP' troff: backtrace: file '<stdin>':754 troff:<stdin>:754: warning: expected ')', got character 'n' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611 troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':590: macro 'TP' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611: macro 'IP' troff: backtrace: file '<stdin>':756 troff:<stdin>:756: warning: expected ')', got character 'n' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611 troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':590: macro 'TP' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611: macro 'IP' troff: backtrace: file '<stdin>':758 troff:<stdin>:758: warning: expected ')', got character 'n' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611 troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':590: macro 'TP' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611: macro 'IP' troff: backtrace: file '<stdin>':760 troff:<stdin>:760: warning: expected ')', got character 'n' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611 troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':590: macro 'TP' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611: macro 'IP' troff: backtrace: file '<stdin>':762 troff:<stdin>:762: warning: expected ')', got character 'n' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611 troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':590: macro 'TP' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611: macro 'IP' troff: backtrace: file '<stdin>':764 troff:<stdin>:764: warning: expected ')', got character 'n' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611 troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':590: macro 'TP' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611: macro 'IP' troff: backtrace: file '<stdin>':766 troff:<stdin>:766: warning: expected ')', got character 'n' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611 troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':590: macro 'TP' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611: macro 'IP' troff: backtrace: file '<stdin>':768 troff:<stdin>:768: warning: expected ')', got character 'n' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611 troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':590: macro 'TP' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611: macro 'IP' troff: backtrace: file '<stdin>':770 troff:<stdin>:770: warning: expected ')', got character 'n' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611 troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':590: macro 'TP' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611: macro 'IP' troff: backtrace: file '<stdin>':772 troff:<stdin>:772: warning: expected ')', got character 'n' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611 troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':590: macro 'TP' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611: macro 'IP' troff: backtrace: file '<stdin>':774 troff:<stdin>:774: warning: expected ')', got character 'n' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611 troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':590: macro 'TP' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611: macro 'IP' troff: backtrace: file '<stdin>':776 troff:<stdin>:776: warning: expected ')', got character 'n' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611 troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':590: macro 'TP' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611: macro 'IP' troff: backtrace: file '<stdin>':778 troff:<stdin>:778: warning: expected ')', got character 'n' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611 troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':590: macro 'TP' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611: macro 'IP' troff: backtrace: file '<stdin>':780 troff:<stdin>:780: warning: expected ')', got character 'n' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611 troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':590: macro 'TP' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611: macro 'IP' troff: backtrace: file '<stdin>':782 troff:<stdin>:782: warning: expected ')', got character 'n' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611 troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':590: macro 'TP' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611: macro 'IP' troff: backtrace: file '<stdin>':784 troff:<stdin>:784: warning: expected ')', got character 'n' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611 troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':590: macro 'TP' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611: macro 'IP' troff: backtrace: file '<stdin>':786 troff:<stdin>:786: warning: expected ')', got character 'n' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611 troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':590: macro 'TP' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611: macro 'IP' troff: backtrace: file '<stdin>':788 troff:<stdin>:788: warning: expected ')', got character 'n' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611 troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':590: macro 'TP' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611: macro 'IP' troff: backtrace: file '<stdin>':790 troff:<stdin>:790: warning: expected ')', got character 'n' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611 troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':590: macro 'TP' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611: macro 'IP' troff: backtrace: file '<stdin>':792 troff:<stdin>:792: warning: expected ')', got character 'n' * What outcome did you expect instead? No output (warnings). -.- Remarks and a patch are in the attachments. -- System Information: Debian Release: trixie/sid APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 6.7.12-amd64 (SMP w/2 CPU threads; PREEMPT) Locale: LANG=is_IS.iso88591, LC_CTYPE=is_IS.iso88591 (charmap=ISO-8859-1), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: sysvinit (via /sbin/init) Versions of packages e2fsprogs depends on: ii libblkid1 2.40.1-8 ii libc6 2.38-12 ii libcom-err2 1.47.1-1 ii libext2fs2t64 1.47.1-1 ii libss2 1.47.1-1 ii libuuid1 2.40.1-8 ii logsave 1.47.1-1 Versions of packages e2fsprogs recommends: pn e2fsprogs-l10n <none> Versions of packages e2fsprogs suggests: pn e2fsck-static <none> pn fuse2fs <none> pn gpart <none> ii parted 3.6-4 -- no debconf information
Any program (person), that produces man pages, should check its content for defects by using groff -mandoc -t -ww -b -z [ -K utf8 | k ] <man page> The same goes for man pages that are used as an input. For a style guide use mandoc -T lint -.- So any generator should check its products with the above mentioned 'groff' and additionally with 'nroff ...'. This is just a simple quality control measure. The generator may have to be corrected to get a better man page, the source file may, and any additional file may. -.- The difference between the formatted outputs can be seen with: nroff -mandoc <file1> > <out1> nroff -mandoc <file2> > <out2> diff -u <out1> <out2> and for groff, using "printf '%s\n%s\n' '.kern 0' '.ss 12 0' | groff -mandoc -Z - " instead of "nroff -mandoc" Add the option "-t", if the file contains a table. Read the output of "diff -u" with "less -R" or similar. -.-. If "man" (man-db) is used to check the manual for warnings, the following must be set: The option "-warnings=w" The environmental variable: export MAN_KEEP_STDERR=yes (or any non-empty value) or (produce only warnings): export MANROFFOPT="-ww -z" export MAN_KEEP_STDERR=yes (or any non-empty value) -.-. Output from "mandoc -T lint ext4.5": (possibly shortened list) mandoc: ext4.5:397:88: STYLE: input text line longer than 80 bytes: (check=normal and ch... mandoc: ext4.5:398:88: STYLE: input text line longer than 80 bytes: don't have to be sup... mandoc: ext4.5:520:31: STYLE: unterminated quoted argument mandoc: ext4.5:614:83: STYLE: input text line longer than 80 bytes: defaults to 15000\ \... mandoc: ext4.5:671:81: STYLE: input text line longer than 80 bytes: file system metadata... -.-. Lines containing '\c': 671:file system metadata blocks within internal data structures. This allows multi-\c -.- Mark a full stop (.) and the exclamation mark (!) with "\&", if it does not mean an end of a sentence. This is a preventive action, the paragraph could be reshaped, e.g., after changes. When typing, one does not always notice when the line wraps after the period. There are too many examples of input lines in manual pages, that end with an abbreviation point. This marking is robust, and independent of the position on the line. It corresponds to "\ " in TeX, and to "@:" in Texinfo. 102:etc.) is 423:file system. grpquota enables group quotas support. You need the quota utilities 459:(e.g. blocksize, blocks per group, 541:ext3 also supports journaled quotas (version 2 quota). jqfmt=vfsv0 or 691:cause severe performance problems or even provoke the Out Of Memory killer. (For -.-. Change a HYPHEN-MINUS (code 0x2D) to a minus(-dash) (\-), if it is in front of a name for an option, is a symbol for standard input, is a single character used to indicate an option, or is in the NAME section (man-pages(7)). N.B. - (0x2D), processed as a UTF-8 file, is changed to a hyphen (0x2010, groff \[u2010] or \[hy]) in the output. 716:.BR a " - append only" 718:.BR A " - no atime updates" 720:.BR d " - no dump" 722:.BR D " - synchronous directory updates" 724:.BR i " - immutable" 726:.BR S " - synchronous updates" 728:.BR u " - undeletable" 732:.BR j " - data journaling" 736:.BR e " - extents format" -.-. Add a comma (or \&) after "e.g." and "i.e.", or use English words (man-pages(7)). Abbreviation points should be protected against being interpreted as an end of sentence, if they are not, and that independent of the current place on the line. 459:(e.g. blocksize, blocks per group, -.-. Wrong distance between sentences. Separate the sentences and subordinate clauses; each begins on a new line. See man-pages(7) ("Conventions for source file layout") and "info groff" ("Input Conventions"). The best procedure is to always start a new sentence on a new line, at least, if you are typing on a computer. Remember coding: Only one command ("sentence") on each (logical) line. E-mail: Easier to quote exactly the relevant lines. Generally: Easier to edit the sentence. Patches: Less unaffected text. Search for two adjacent words is easier, when they belong to the same line, and the same phrase. The amount of space between sentences in the output can then be controlled with the ".ss" request. N.B. The number of lines affected can be too large to be in the patch. 93:the inode or the inode's associated extended attribute block. This feature 102:etc.) is 158:block group of each "flex_bg group". The size of the flex_bg group 250:This ext4 feature provides project quota support. With this feature, 350:is determined by the file system superblock. Set them with 361:system call. The 368:used by the ext2 file system and not available for file storage. Thus 393:No checking is done at mount time. This is the default. This is fast. 396:every now and then, e.g.\& at boot time. The non-default behavior is unsupported 397:(check=normal and check=strict options have been removed). Note that these mount options 423:file system. grpquota enables group quotas support. You need the quota utilities 431:Use old allocator or Orlov allocator for new inodes. Orlov is default. 459:(e.g. blocksize, blocks per group, 463:The block number here uses 1\ k units. Thus, if you want to use logical 522:disables, barrier=1 enables (default). This also requires an IO stack which can 535:Enable Extended User Attributes. See the 541:ext3 also supports journaled quotas (version 2 quota). jqfmt=vfsv0 or 542:jqfmt=vfsv1 enables journaled quotas. Journaled quotas have the advantage that 543:even after a crash no quota check is required. When the 551:quota system which quota database files to use. When the 571:in the kernel. It is a compatible change and will be ignored by older kernels. 574:Commit block can be written to disk without waiting for descriptor blocks. If 588:The value must be a power of 2. The default value is 32 blocks. 592:and alignment. For RAID5/6 systems this should be the number of data disks * 599:Disable delayed allocation. Blocks are allocated when data is copied from user 604:be batch together with a synchronous write operation. Since a synchronous 608:synchronous write. The algorithm used is designed to automatically tune for 610:takes to finish committing a transaction. Call this time the "commit time". 613:the transaction. The commit time is capped by the max_batch_time, which 614:defaults to 15000\ \[mc]s (15\ ms). This optimization can be turned off entirely by 619:min_batch_time. It defaults to zero microseconds. Increasing this parameter 653:Do not initialize any uninitialized inode table blocks in the background. This 660:to zero out the previous block group's inode table. This minimizes the impact on 671:file system metadata blocks within internal data structures. This allows multi-\c 673:overlap with file system metadata blocks. This option is intended for debugging 677:Controls whether or not ext4 should use the DIO read locking. If the 681:scalability on high speed storages. However this does not work with data 689:beyond the specified limit in kilobytes will cause an ENOSPC error. This is 691:cause severe performance problems or even provoke the Out Of Memory killer. (For 696:Enable 64-bit inode version support. This option is off by default. 699:This option disables use of mbcache for extended attribute deduplication. On -.-. Split lines longer than 80 characters into two or more lines. Appropriate break points are the end of a sentence and a subordinate clause; after punctuation marks. N.B. The number of lines affected can be too large to be in the patch. Line 397, length 88 (check=normal and check=strict options have been removed). Note that these mount options Line 398, length 88 don't have to be supported if ext4 kernel driver is used for ext2 and ext3 file systems. Line 614, length 83 defaults to 15000\ \[mc]s (15\ ms). This optimization can be turned off entirely by Line 671, length 81 file system metadata blocks within internal data structures. This allows multi-\c -.-. Use \(en (en-dash) for a dash between space characters, not a minus (\-) or a hyphen (-), except in the NAME section. ext4.5:716:.BR a " - append only" ext4.5:718:.BR A " - no atime updates" ext4.5:720:.BR d " - no dump" ext4.5:722:.BR D " - synchronous directory updates" ext4.5:724:.BR i " - immutable" ext4.5:726:.BR S " - synchronous updates" ext4.5:728:.BR u " - undeletable" ext4.5:732:.BR j " - data journaling" ext4.5:736:.BR e " - extents format" -.-. Do not use more than two space characters between sentences or (better) only a new line character. 158:block group of each "flex_bg group". The size of the flex_bg group -.-. Protect a period (.) or an apostrophe (') with '\&' from becoming a control character, if it could end up at the start of a line (by splitting the line into more lines). 84:each of the '.' and '..' entries, as well as the directory entry for the 576:This will enable 'journal_checksum' internally. -.-. The symbol for the unit "inch" (SI symbol "in") in groff is "i" 750:.IP "\fBfiletype\fR" 2in 752:.IP "\fBsparse_super\fR" 2in 754:.IP "\fBlarge_file\fR" 2in 756:.IP "\fBhas_journal\fR" 2in 758:.IP "\fBext_attr\fR" 2in 760:.IP "\fBdir_index\fR" 2in 762:.IP "\fBresize_inode\fR" 2in 764:.IP "\fB64bit\fR" 2in 766:.IP "\fBdir_nlink\fR" 2in 768:.IP "\fBextent\fR" 2in 770:.IP "\fBextra_isize\fR" 2in 772:.IP "\fBflex_bg\fR" 2in 774:.IP "\fBhuge_file\fR" 2in 776:.IP "\fBmeta_bg\fR" 2in 778:.IP "\fBuninit_bg\fR" 2in 780:.IP "\fBmmp\fR" 2in 782:.IP "\fBbigalloc\fR" 2in 784:.IP "\fBquota\fR" 2in 786:.IP "\fBinline_data\fR" 2in 788:.IP "\fBsparse_super2\fR" 2in 790:.IP "\fBmetadata_csum\fR" 2in 792:.IP "\fBencrypt\fR" 2in -.-. Output from "test-groff -b -mandoc -rF0 -rHY=0 -K utf8 -t -ww -z ": troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611 troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':590: macro 'TP' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611: macro 'IP' troff: backtrace: file '<stdin>':750 troff:<stdin>:750: warning: expected ')', got character 'n' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611 troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':590: macro 'TP' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611: macro 'IP' troff: backtrace: file '<stdin>':752 troff:<stdin>:752: warning: expected ')', got character 'n' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611 troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':590: macro 'TP' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611: macro 'IP' troff: backtrace: file '<stdin>':754 troff:<stdin>:754: warning: expected ')', got character 'n' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611 troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':590: macro 'TP' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611: macro 'IP' troff: backtrace: file '<stdin>':756 troff:<stdin>:756: warning: expected ')', got character 'n' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611 troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':590: macro 'TP' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611: macro 'IP' troff: backtrace: file '<stdin>':758 troff:<stdin>:758: warning: expected ')', got character 'n' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611 troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':590: macro 'TP' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611: macro 'IP' troff: backtrace: file '<stdin>':760 troff:<stdin>:760: warning: expected ')', got character 'n' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611 troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':590: macro 'TP' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611: macro 'IP' troff: backtrace: file '<stdin>':762 troff:<stdin>:762: warning: expected ')', got character 'n' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611 troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':590: macro 'TP' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611: macro 'IP' troff: backtrace: file '<stdin>':764 troff:<stdin>:764: warning: expected ')', got character 'n' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611 troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':590: macro 'TP' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611: macro 'IP' troff: backtrace: file '<stdin>':766 troff:<stdin>:766: warning: expected ')', got character 'n' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611 troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':590: macro 'TP' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611: macro 'IP' troff: backtrace: file '<stdin>':768 troff:<stdin>:768: warning: expected ')', got character 'n' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611 troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':590: macro 'TP' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611: macro 'IP' troff: backtrace: file '<stdin>':770 troff:<stdin>:770: warning: expected ')', got character 'n' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611 troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':590: macro 'TP' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611: macro 'IP' troff: backtrace: file '<stdin>':772 troff:<stdin>:772: warning: expected ')', got character 'n' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611 troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':590: macro 'TP' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611: macro 'IP' troff: backtrace: file '<stdin>':774 troff:<stdin>:774: warning: expected ')', got character 'n' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611 troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':590: macro 'TP' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611: macro 'IP' troff: backtrace: file '<stdin>':776 troff:<stdin>:776: warning: expected ')', got character 'n' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611 troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':590: macro 'TP' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611: macro 'IP' troff: backtrace: file '<stdin>':778 troff:<stdin>:778: warning: expected ')', got character 'n' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611 troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':590: macro 'TP' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611: macro 'IP' troff: backtrace: file '<stdin>':780 troff:<stdin>:780: warning: expected ')', got character 'n' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611 troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':590: macro 'TP' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611: macro 'IP' troff: backtrace: file '<stdin>':782 troff:<stdin>:782: warning: expected ')', got character 'n' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611 troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':590: macro 'TP' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611: macro 'IP' troff: backtrace: file '<stdin>':784 troff:<stdin>:784: warning: expected ')', got character 'n' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611 troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':590: macro 'TP' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611: macro 'IP' troff: backtrace: file '<stdin>':786 troff:<stdin>:786: warning: expected ')', got character 'n' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611 troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':590: macro 'TP' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611: macro 'IP' troff: backtrace: file '<stdin>':788 troff:<stdin>:788: warning: expected ')', got character 'n' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611 troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':590: macro 'TP' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611: macro 'IP' troff: backtrace: file '<stdin>':790 troff:<stdin>:790: warning: expected ')', got character 'n' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611 troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':590: macro 'TP' troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':611: macro 'IP' troff: backtrace: file '<stdin>':792 troff:<stdin>:792: warning: expected ')', got character 'n'
--- ext4.5 2024-06-09 13:05:26.872632098 +0000 +++ ext4.5.new 2024-06-09 13:39:54.583551674 +0000 @@ -81,7 +81,7 @@ ext2 file systems. Normally, ext4 allows an inode to have no more than 65,000 hard links. This applies to regular files as well as directories, which means that there can be no more than 64,998 subdirectories in a directory (because -each of the '.' and '..' entries, as well as the directory entry for the +each of the \&'.' and \&'..' entries, as well as the directory entry for the directory in its parent directory counts as a hard link). This feature lifts this limit by causing ext4 to use a link count of 1 to indicate that the number of hard links to a directory is not known when the link @@ -99,7 +99,7 @@ extended attributes per file. .br Enables support for file-system level encryption of data blocks and file names. The inode metadata (timestamps, file size, user/group ownership, -etc.) is +etc.\&) is .I not encrypted. .IP @@ -155,8 +155,8 @@ and inode tables) to be placed anywhere on the storage media. In addition, .B mke2fs will place the per-block group metadata together starting at the first -block group of each "flex_bg group". The size of the flex_bg group -can be specified using the +block group of each "flex_bg group". +The size of the flex_bg group can be specified using the .B \-G option. .TP @@ -190,7 +190,7 @@ the option to .BR mke2fs (8) or -.BR tune2fs(8) . +.BR tune2fs (8). .TP .B large_dir .br @@ -393,9 +393,11 @@ to the options given in No checking is done at mount time. This is the default. This is fast. It is wise to invoke .BR e2fsck (8) -every now and then, e.g.\& at boot time. The non-default behavior is unsupported -(check=normal and check=strict options have been removed). Note that these mount options -don't have to be supported if ext4 kernel driver is used for ext2 and ext3 file systems. +every now and then, e.g.\& at boot time. +The non-default behavior is unsupported +(check=normal and check=strict options have been removed). +Note that these mount options don't have to be supported +if ext4 kernel driver is used for ext2 and ext3 file systems. .TP .B debug Print debugging info upon each (re)mount. @@ -420,8 +422,9 @@ if it is a directory itself. .TP .BR grpquota | noquota | quota | usrquota The usrquota (same as quota) mount option enables user quota support on the -file system. grpquota enables group quotas support. You need the quota utilities -to actually enable and manage the quota system. +file system. +grpquota enables group quotas support. +You need the quota utilities to actually enable and manage the quota system. .TP .B nouid32 Disables 32-bit UIDs and GIDs. This is for interoperability with older @@ -456,7 +459,7 @@ program using the option to print out where the superblocks exist, supposing .B mke2fs is supplied with arguments that are consistent with the file system's layout -(e.g. blocksize, blocks per group, +(e.g., blocksize, blocks per group, .BR sparse_super , etc.). .IP @@ -491,7 +494,7 @@ Specifies the journaling mode for file d To use modes other than .B ordered on the root file system, pass the mode to the kernel as boot parameter, e.g.\& -.IR rootflags=data=journal . +.IR \%rootflags=data=journal . .RS .TP .B journal @@ -517,7 +520,7 @@ ordered mode. .B data_err=abort Abort the journal if an error occurs in a file data buffer in ordered mode. .TP -.BR barrier=0 " / " barrier=1 " +.BR barrier=0 " / " barrier=1 This disables / enables the use of write barriers in the jbd code. barrier=0 disables, barrier=1 enables (default). This also requires an IO stack which can support barriers, and if jbd gets an error on a barrier write, it will disable @@ -538,9 +541,11 @@ manual page. .TP .BR jqfmt= { vfsold | vfsv0 | vfsv1 } Apart from the old quota system (as in ext2, jqfmt=vfsold aka version 1 quota) -ext3 also supports journaled quotas (version 2 quota). jqfmt=vfsv0 or -jqfmt=vfsv1 enables journaled quotas. Journaled quotas have the advantage that -even after a crash no quota check is required. When the +ext3 also supports journaled quotas (version 2 quota). +jqfmt=vfsv0 or jqfmt=vfsv1 enables journaled quotas. +Journaled quotas have the advantage that +even after a crash no quota check is required. +When the .B quota file system feature is enabled, journaled quotas are used automatically, and this mount option is ignored. @@ -573,7 +578,7 @@ in the kernel. It is a compatible change .B journal_async_commit Commit block can be written to disk without waiting for descriptor blocks. If enabled older kernels cannot mount the device. -This will enable 'journal_checksum' internally. +This will enable \&'journal_checksum' internally. .TP .BR barrier=0 " / " barrier=1 " / " barrier " / " nobarrier These mount options have the same effect as in ext3. The mount options @@ -611,8 +616,8 @@ takes to finish committing a transaction If the time that the transaction has been running is less than the commit time, ext4 will try sleeping for the commit time to see if other operations will join the transaction. The commit time is capped by the max_batch_time, which -defaults to 15000\ \[mc]s (15\ ms). This optimization can be turned off entirely by -setting max_batch_time to 0. +defaults to 15000\ \[mc]s (15\ ms). +This optimization can be turned off entirely by setting max_batch_time to 0. .TP .BI min_batch_time= usec This parameter sets the commit time (as described above) to be at least @@ -668,10 +673,11 @@ testing has been done. .TP .BR block_validity / noblock_validity This option enables/disables the in-kernel facility for tracking -file system metadata blocks within internal data structures. This allows multi-\c -block allocator and other routines to quickly locate extents which might -overlap with file system metadata blocks. This option is intended for debugging -purposes and since it negatively affects the performance, it is off by default. +file system metadata blocks within internal data structures. +This allows multi-block allocator and other routines to quickly locate +extents which might overlap with file system metadata blocks. +This option is intended for debugging purposes +and since it negatively affects the performance, it is off by default. .TP .BR dioread_lock / dioread_nolock Controls whether or not ext4 should use the DIO read locking. If the @@ -688,9 +694,9 @@ Because of the restrictions this options This limits the size of the directories so that any attempt to expand them beyond the specified limit in kilobytes will cause an ENOSPC error. This is useful in memory-constrained environments, where a very large directory can -cause severe performance problems or even provoke the Out Of Memory killer. (For -example, if there is only 512\ MB memory available, a 176\ MB directory may -seriously cramp the system's style.) +cause severe performance problems or even provoke the Out Of Memory killer. +(For example, if there is only 512\ MB memory available, +a 176\ MB directory may seriously cramp the system's style.) .TP .B i_version Enable 64-bit inode version support. This option is off by default. @@ -713,27 +719,27 @@ attributes on Linux systems using the .BR chattr (1) utility: .sp -.BR a " - append only" +.BR a " \- append only" .sp -.BR A " - no atime updates" +.BR A " \- no atime updates" .sp -.BR d " - no dump" +.BR d " \- no dump" .sp -.BR D " - synchronous directory updates" +.BR D " \- synchronous directory updates" .sp -.BR i " - immutable" +.BR i " \- immutable" .sp -.BR S " - synchronous updates" +.BR S " \- synchronous updates" .sp -.BR u " - undeletable" +.BR u " \- undeletable" .sp In addition, the ext3 and ext4 file systems support the following flag: .sp -.BR j " - data journaling" +.BR j " \- data journaling" .sp Finally, the ext4 file system also supports the following flag: .sp -.BR e " - extents format" +.BR e " \- extents format" .sp For descriptions of these attribute flags, please refer to the .BR chattr (1) @@ -747,49 +753,49 @@ feature may still be considered in an ex that some distributions may have backported features into older kernels; in particular the kernel versions in certain "enterprise distributions" can be extremely misleading. -.IP "\fBfiletype\fR" 2in +.IP "\fBfiletype\fR" 2i ext2, 2.2.0 -.IP "\fBsparse_super\fR" 2in +.IP "\fBsparse_super\fR" 2i ext2, 2.2.0 -.IP "\fBlarge_file\fR" 2in +.IP "\fBlarge_file\fR" 2i ext2, 2.2.0 -.IP "\fBhas_journal\fR" 2in +.IP "\fBhas_journal\fR" 2i ext3, 2.4.15 -.IP "\fBext_attr\fR" 2in +.IP "\fBext_attr\fR" 2i ext2/ext3, 2.6.0 -.IP "\fBdir_index\fR" 2in +.IP "\fBdir_index\fR" 2i ext3, 2.6.0 -.IP "\fBresize_inode\fR" 2in +.IP "\fBresize_inode\fR" 2i ext3, 2.6.10 (online resizing) -.IP "\fB64bit\fR" 2in +.IP "\fB64bit\fR" 2i ext4, 2.6.28 -.IP "\fBdir_nlink\fR" 2in +.IP "\fBdir_nlink\fR" 2i ext4, 2.6.28 -.IP "\fBextent\fR" 2in +.IP "\fBextent\fR" 2i ext4, 2.6.28 -.IP "\fBextra_isize\fR" 2in +.IP "\fBextra_isize\fR" 2i ext4, 2.6.28 -.IP "\fBflex_bg\fR" 2in +.IP "\fBflex_bg\fR" 2i ext4, 2.6.28 -.IP "\fBhuge_file\fR" 2in +.IP "\fBhuge_file\fR" 2i ext4, 2.6.28 -.IP "\fBmeta_bg\fR" 2in +.IP "\fBmeta_bg\fR" 2i ext4, 2.6.28 -.IP "\fBuninit_bg\fR" 2in +.IP "\fBuninit_bg\fR" 2i ext4, 2.6.28 -.IP "\fBmmp\fR" 2in +.IP "\fBmmp\fR" 2i ext4, 3.0 -.IP "\fBbigalloc\fR" 2in +.IP "\fBbigalloc\fR" 2i ext4, 3.2 -.IP "\fBquota\fR" 2in +.IP "\fBquota\fR" 2i ext4, 3.6 -.IP "\fBinline_data\fR" 2in +.IP "\fBinline_data\fR" 2i ext4, 3.8 -.IP "\fBsparse_super2\fR" 2in +.IP "\fBsparse_super2\fR" 2i ext4, 3.16 -.IP "\fBmetadata_csum\fR" 2in +.IP "\fBmetadata_csum\fR" 2i ext4, 3.18 -.IP "\fBencrypt\fR" 2in +.IP "\fBencrypt\fR" 2i ext4, 4.1 .IP "\fBmetadata_csum_seed\fR" 2i ext4, 4.4