Whamcloud - gitweb
build: update e2fsprogs.spec for distro builds
[tools/e2fsprogs.git] / doc / RelNotes / v1.44.3.txt
1 E2fsprogs 1.44.3 (July 10, 2018)
2 ================================
3
4 Updates/Fixes since v1.44.2:
5
6 UI and Features
7 ---------------
8
9 The debugfs inode_dump command can now print a hex dump of the i_block
10 array and the extra space in the inode, as a convenience to someone
11 investigating a corrupted inode.
12
13 The debugfs block_dump and inode_dump command can now print low-level
14 dump of extended attribute data structures in the block or inode.
15
16 The dumpe2fs command can now print out information in the Multi-Mount
17 Protection (MMP) block.  This is also available as e2mmpstatus command
18 for compatibility with the Lustre utilities.
19
20 The debugfs command can now operate on some file systems with
21 corrupted superblocks so they can be fixed.  This includes file
22 systems with a corrupted inodes count field and file systems where not
23 all of the allocation bitmaps have valid locations or are not
24 readable.
25
26
27 Fixes
28 -----
29
30 The inode's project ID is now properly byte-swapped on big-endian
31 systems.
32
33 E2fsprogs now ignores s_desc_size for file systems that do not have
34 the 64-bit feature set.  This makes it more consistent with the
35 kernel, so it can now operate on file systems that the kernel is
36 willing to mount.  
37
38 E2fsck now considers device inodes with the extents flag as corrupt
39 and offer to clear them.
40
41 E2fsck more properly handles cases where s_inodes_count is corrupted.
42
43 E2fsck no longer spews large number of errors when the superblock
44 badly corrupted (restoring its behavior pre-1.43).
45
46 E2fsck will now offer to set the dir_nlink feature if it is not set
47 and file system requires the dir_nlink feature because there are too
48 many subdirectories in a directory.
49
50 E2fsck will no longer loop infinitely due to a maliciously crafted
51 file system which has a fully uninitialized inode table in the first
52 block group.
53
54 E2fsck will no longer hang if the last block in the file system is a
55 fixed-metadata block.  (Very rare, but could happen.)
56
57 E2fsck no longer allows initialized blocks to exist past i_size.  This
58 is something the Linux implementation of ext4 has never done (and should
59 never do).
60
61 While replaying the journal in e2fsck, certain errors would previously
62 cause e2fsck to print a non-sensical error message (e.g., "Unknown code
63 ____ 251 while recovering journal").  This has been fixed.
64
65 In cases where more than 75% of the block group will be used for group
66 descriptor table, mke2fs would previously create an invalid file
67 system with both the meta_bg and resize_inode features enabled.  It
68 will now disable the resize_inode feature.
69
70 The mke2fs program now properly creates a file system which is exactly
71 1 << 32 blocks.  Previously the s_inodes_count field would overflow,
72 and the file system would be created with a minimal number of inodes.
73
74 Recent kernels will report errors on a file or block device which
75 occurred before the file or block device was opened via fsync() or
76 close().  This will cause e2fsck to incorrectly report a failure.  Work
77 around this by calling fsync() immediately after the file or block
78 device is opened in the unix_io layer, and throwing away the error.
79
80 Filefrag will no longer ignore errors returned by fsync.
81
82 Debugfs will no longer print spurious checksum errors when failing to
83 open a file system for unrelated reasons.
84
85 Updated/fixed various man pages.  (Addresses Launchpad Bug: #1743553)
86
87
88
89 Performance, Internal Implementation, Development Support etc.
90 --------------------------------------------------------------
91
92 Synchronized changes from Android's AOSP e2fsprogs tree.
93
94 Debugfs's mknod command now works correctly on some 32-bit systems where
95 previously it had a portability problem caused by some object files
96 being compiled with LFS, and some without.  This fixes some regression
97 test failures on 32-bit MIPS (for example).
98
99 Various clean ups, portability, and performance improvements to
100 e2fsprogs's regression test framework.
101
102 Fixed Coverity, sparse, gcc -Wall, and clang warnings/nits.
103
104 Update Czech, Dutch, Spanish, French, Polish, Swedish, Ukrainian, and
105 Vietnamese translations.