1*6a54128fSAndroid Build Coastguard WorkerE2fsprogs 1.40.11 (June 17, 2008) 2*6a54128fSAndroid Build Coastguard Worker================================= 3*6a54128fSAndroid Build Coastguard Worker 4*6a54128fSAndroid Build Coastguard WorkerMke2fs, tune2fs, and resize2fs now use floating point to calculate the 5*6a54128fSAndroid Build Coastguard Workerpercentage of reserved blocks. (Addresses Debian Bug: #452639) 6*6a54128fSAndroid Build Coastguard Worker 7*6a54128fSAndroid Build Coastguard WorkerUpdated Spanish and Catalan translations. 8*6a54128fSAndroid Build Coastguard Worker 9*6a54128fSAndroid Build Coastguard WorkerFixed various Debian packaging issues --- see debian/changelog for 10*6a54128fSAndroid Build Coastguard Workerdetails. (Addresses Debian Bugs: #483962, #483023) 11*6a54128fSAndroid Build Coastguard Worker 12*6a54128fSAndroid Build Coastguard WorkerAdd detection for ZFS volumes to the libblkid library. 13*6a54128fSAndroid Build Coastguard Worker 14*6a54128fSAndroid Build Coastguard WorkerFixed spelling mistakes, typos, and otherwise clarified man pages. 15*6a54128fSAndroid Build Coastguard Worker(Addresses Debian Bug: #486463) 16*6a54128fSAndroid Build Coastguard Worker 17*6a54128fSAndroid Build Coastguard WorkerProgrammer's notes: 18*6a54128fSAndroid Build Coastguard Worker------------------- 19*6a54128fSAndroid Build Coastguard Worker 20*6a54128fSAndroid Build Coastguard WorkerFix marginal C code in probe_lvm2() function to the blkid library more 21*6a54128fSAndroid Build Coastguard Workerportable for older compilers. 22*6a54128fSAndroid Build Coastguard Worker 23*6a54128fSAndroid Build Coastguard WorkerFix build problems on MacOS X. (Addresses Sourceforge Bug: #1972473) 24*6a54128fSAndroid Build Coastguard Worker 25*6a54128fSAndroid Build Coastguard WorkerFix ext2fs_swap{16,32,64} functions so they can be used by external 26*6a54128fSAndroid Build Coastguard Workerapplications on big-endian machines. (Addresses Debian Bug: #484879) 27*6a54128fSAndroid Build Coastguard Worker 28*6a54128fSAndroid Build Coastguard Worker 29*6a54128fSAndroid Build Coastguard WorkerE2fsprogs 1.40.10 (May 21, 2008) 30*6a54128fSAndroid Build Coastguard Worker================================ 31*6a54128fSAndroid Build Coastguard Worker 32*6a54128fSAndroid Build Coastguard WorkerWhen deciding whether or not to revalidate a blkid cache entry, if the 33*6a54128fSAndroid Build Coastguard Workerdevice's mtime is newer than the last time the cached entry was 34*6a54128fSAndroid Build Coastguard Workervalidated, force a revalidation. 35*6a54128fSAndroid Build Coastguard Worker 36*6a54128fSAndroid Build Coastguard WorkerFix a potential data corruption bug in e2fsck in the journal replay. 37*6a54128fSAndroid Build Coastguard WorkerThe chances of this is happening is extremely remote, especially the 38*6a54128fSAndroid Build Coastguard Workerdefault data=ordered or data=writeback modes. However, if a block 39*6a54128fSAndroid Build Coastguard Workerwhich has been journalled starts with the first four bytes 0xc03b3998, 40*6a54128fSAndroid Build Coastguard Workerwhen e2fsck replays the journal, those four bytes will be replaced 41*6a54128fSAndroid Build Coastguard Workerwith zero's. Fortunately, it is highly, highly unlikely for e2fsck 42*6a54128fSAndroid Build Coastguard Workermetadata to begin with those fatal 4 byte sequence, and unless 43*6a54128fSAndroid Build Coastguard Workerdata=ordered mode is in use, data blocks are never journalled. 44*6a54128fSAndroid Build Coastguard Worker 45*6a54128fSAndroid Build Coastguard WorkerUpdated German, Dutch, Swedish, and Vietnamese translations. 46*6a54128fSAndroid Build Coastguard Worker 47*6a54128fSAndroid Build Coastguard WorkerProgrammer's notes: 48*6a54128fSAndroid Build Coastguard Worker------------------- 49*6a54128fSAndroid Build Coastguard Worker 50*6a54128fSAndroid Build Coastguard WorkerFixed various Debian packaging issues --- see debian/changelog for 51*6a54128fSAndroid Build Coastguard Workerdetails. 52*6a54128fSAndroid Build Coastguard Worker 53*6a54128fSAndroid Build Coastguard WorkerRemove default sizes of types when cross compiling, since autoconf 54*6a54128fSAndroid Build Coastguard Worker2.50 can figure this out automatically now. 55*6a54128fSAndroid Build Coastguard Worker 56*6a54128fSAndroid Build Coastguard Worker 57*6a54128fSAndroid Build Coastguard WorkerE2fsprogs 1.40.9 (April 27, 2008) 58*6a54128fSAndroid Build Coastguard Worker================================= 59*6a54128fSAndroid Build Coastguard Worker 60*6a54128fSAndroid Build Coastguard WorkerSuSE's security team audited uuidd and came up with a few minor 61*6a54128fSAndroid Build Coastguard Workerissues. None of them are serious given that uuidd runs setuid as a 62*6a54128fSAndroid Build Coastguard Workerunprivileged user which has no special access other than libuuid 63*6a54128fSAndroid Build Coastguard Workerdirectory, but it's good to get them fixed. 64*6a54128fSAndroid Build Coastguard Worker 65*6a54128fSAndroid Build Coastguard WorkerOne additional fix in ext2fs_swap_inode_full() needed for resize2fs to 66*6a54128fSAndroid Build Coastguard Workerwork correctly with in-inode extended attributes. 67*6a54128fSAndroid Build Coastguard Worker 68*6a54128fSAndroid Build Coastguard WorkerUpdated German, Czech, Dutch, French, Polish, Swedish, and Vietnamese 69*6a54128fSAndroid Build Coastguard Workertranslations. 70*6a54128fSAndroid Build Coastguard Worker 71*6a54128fSAndroid Build Coastguard WorkerDebugfs will avoid using a pager if the standard output is not a tty. 72*6a54128fSAndroid Build Coastguard Worker 73*6a54128fSAndroid Build Coastguard WorkerFix debugfs and tune2fs to correctly handle daylight savings time when 74*6a54128fSAndroid Build Coastguard Workerparsing a time string. 75*6a54128fSAndroid Build Coastguard Worker 76*6a54128fSAndroid Build Coastguard WorkerFixed spelling mistakes, typos, and otherwise clarified man pages. 77*6a54128fSAndroid Build Coastguard Worker 78*6a54128fSAndroid Build Coastguard WorkerFix fsck completion bars when multiple filesystems were being checked 79*6a54128fSAndroid Build Coastguard Workerin parallel. (Addresses Debian Bug: #432865, Addresses Launchpad Bug: 80*6a54128fSAndroid Build Coastguard Worker#203323, Addresses Sourceforge Bug: #1926023) 81*6a54128fSAndroid Build Coastguard Worker 82*6a54128fSAndroid Build Coastguard WorkerFix fsck so that progress information is sent back correctly when 83*6a54128fSAndroid Build Coastguard Workermultiple filesystems are being check and the output of fsck is being 84*6a54128fSAndroid Build Coastguard Workerredirected to a file descriptor. Also, include the device name (w/o 85*6a54128fSAndroid Build Coastguard Workerspaces) in the progress information sent back via a file descriptor. 86*6a54128fSAndroid Build Coastguard Worker(Addresses Launchpad Bug: #203323, Addresses Sourceforge Bug: 87*6a54128fSAndroid Build Coastguard Worker#1926023) 88*6a54128fSAndroid Build Coastguard Worker 89*6a54128fSAndroid Build Coastguard WorkerTeach fsck to treat "ext4" and "ext4dev" as ext* filesystems. 90*6a54128fSAndroid Build Coastguard Worker 91*6a54128fSAndroid Build Coastguard WorkerIf logsave receives a SIGTERM or SIGINT signal, it will now pass that 92*6a54128fSAndroid Build Coastguard Workersignal to its child process. 93*6a54128fSAndroid Build Coastguard Worker 94*6a54128fSAndroid Build Coastguard WorkerFix mke2fs's creation of are resize inode when there is a non-standard 95*6a54128fSAndroid Build Coastguard Workers_first_data_block setting. 96*6a54128fSAndroid Build Coastguard Worker 97*6a54128fSAndroid Build Coastguard WorkerFix bug in blkid when run by an unprivileged user; most devices were 98*6a54128fSAndroid Build Coastguard Workernot reported correctly. 9Addresses Launchpad Bug: #220275) 99*6a54128fSAndroid Build Coastguard Worker 100*6a54128fSAndroid Build Coastguard WorkerMke2fs will not allow the logically incorrect combination of 101*6a54128fSAndroid Build Coastguard Workerresize_inode and meta_bg, which had previously caused mke2fs to create 102*6a54128fSAndroid Build Coastguard Workera corrupt filesystem. 103*6a54128fSAndroid Build Coastguard Worker 104*6a54128fSAndroid Build Coastguard WorkerFix fsck in German locales so that a 'j' means yes. 105*6a54128fSAndroid Build Coastguard Worker(Addresses Sourceforge Bug: #1947683) 106*6a54128fSAndroid Build Coastguard Worker 107*6a54128fSAndroid Build Coastguard Worker 108*6a54128fSAndroid Build Coastguard WorkerProgrammer's notes: 109*6a54128fSAndroid Build Coastguard Worker------------------- 110*6a54128fSAndroid Build Coastguard Worker 111*6a54128fSAndroid Build Coastguard WorkerFixed various Debian packaging issues --- see debian/changelog for 112*6a54128fSAndroid Build Coastguard Workerdetails. 113*6a54128fSAndroid Build Coastguard Worker 114*6a54128fSAndroid Build Coastguard WorkerUpdate valgrind options in test_script to work with valgrind 3.2.3 115*6a54128fSAndroid Build Coastguard Worker 116*6a54128fSAndroid Build Coastguard WorkerUpdate texinfo.tex to a much newer version from the FSF. 117*6a54128fSAndroid Build Coastguard Worker 118*6a54128fSAndroid Build Coastguard WorkerRemove bashism for configure script and from the lib/ss Makefile. 119*6a54128fSAndroid Build Coastguard WorkerAddresses Sourceforge Bug: 1921969 120*6a54128fSAndroid Build Coastguard Worker 121*6a54128fSAndroid Build Coastguard WorkerFix some silently broken tests: m_no_opt, m_meta_bg, and m_raid_opt. 122*6a54128fSAndroid Build Coastguard Worker 123*6a54128fSAndroid Build Coastguard WorkerFix build system so that if texinfo is not installed, it won't print a 124*6a54128fSAndroid Build Coastguard Worker(harmless) error message. 125*6a54128fSAndroid Build Coastguard Worker 126*6a54128fSAndroid Build Coastguard Worker 127*6a54128fSAndroid Build Coastguard WorkerE2fsprogs 1.40.8 (March 13, 2008) 128*6a54128fSAndroid Build Coastguard Worker================================= 129*6a54128fSAndroid Build Coastguard Worker 130*6a54128fSAndroid Build Coastguard WorkerFixed e2image -I so it works on image files which are larger than 2GB. 131*6a54128fSAndroid Build Coastguard Worker 132*6a54128fSAndroid Build Coastguard WorkerFixed e2fsck's handling of directory inodes with a corrupt size field. If 133*6a54128fSAndroid Build Coastguard Workerthe size is larger than the number of blocks found in the inode, don't 134*6a54128fSAndroid Build Coastguard Workertry to allocate extra empty blocks at the end of the directory to make 135*6a54128fSAndroid Build Coastguard Workerup the difference; there's no point to doing that. In addition, if 136*6a54128fSAndroid Build Coastguard Workerthe size is not a multiple of a blocksize, always fix it. 137*6a54128fSAndroid Build Coastguard Worker 138*6a54128fSAndroid Build Coastguard WorkerE2fsck handled a pass 2 "should never happen error" by not giving 139*6a54128fSAndroid Build Coastguard Workerenough information and then core dumping. Unfortunately, it was all 140*6a54128fSAndroid Build Coastguard Workertoo easy to trigger the "should never happen" situation if a 141*6a54128fSAndroid Build Coastguard Workerdirectory's inode size was not correct. This has been fixed, but 142*6a54128fSAndroid Build Coastguard Workere2fsck has also been taught how to handle this situation more 143*6a54128fSAndroid Build Coastguard Workergracefully, by simply removing the inode hash tree information, so 144*6a54128fSAndroid Build Coastguard Workerthat it can be rebuilt again after e2fsck's pass 3. (Addresses 145*6a54128fSAndroid Build Coastguard WorkerLaunchpad Bug: #129395) 146*6a54128fSAndroid Build Coastguard Worker 147*6a54128fSAndroid Build Coastguard WorkerResize2fs had a bug resizing large inodes with extended attributes 148*6a54128fSAndroid Build Coastguard Workerthat was fixed in 1.40.6; unfortunately, it turned out it wasn't fixed 149*6a54128fSAndroid Build Coastguard Workercompletely on big-endian systems such as PowerPC. The bug should be 150*6a54128fSAndroid Build Coastguard Workercompletely fixed now. Yay for regression test suites. (Addresses Red 151*6a54128fSAndroid Build Coastguard WorkerHat Bugzilla: #434893) 152*6a54128fSAndroid Build Coastguard Worker 153*6a54128fSAndroid Build Coastguard WorkerUpdated German, Czech, Dutch, Polish, Swedish, and Vietnamese 154*6a54128fSAndroid Build Coastguard Workertranslations. Many thanks to Philipp Thomas from Novell for stepping 155*6a54128fSAndroid Build Coastguard Workerup to become the new German translation maintainer! (Addresses Debian 156*6a54128fSAndroid Build Coastguard WorkerBugs: #302512, #370247, #401092, #412882). 157*6a54128fSAndroid Build Coastguard Worker 158*6a54128fSAndroid Build Coastguard WorkerWhen e2fsck is clearing a corrupt inode's HTREE directory information, 159*6a54128fSAndroid Build Coastguard Workermake it clear that it is just clearing the HTREE information, not the 160*6a54128fSAndroid Build Coastguard Workerentire inode. 161*6a54128fSAndroid Build Coastguard Worker 162*6a54128fSAndroid Build Coastguard WorkerFixed spelling mistakes, typos, and otherwise clarified man pages. 163*6a54128fSAndroid Build Coastguard Worker 164*6a54128fSAndroid Build Coastguard WorkerProgrammer's notes 165*6a54128fSAndroid Build Coastguard Worker------------------ 166*6a54128fSAndroid Build Coastguard Worker 167*6a54128fSAndroid Build Coastguard WorkerAdd new functions, ext2fs_dblist_get_last() and 168*6a54128fSAndroid Build Coastguard Workerext2fs_dblist_drop_last(), which allows the caller to examine the last 169*6a54128fSAndroid Build Coastguard Workerdirectory block entry added to the list, and to drop if it necessary. 170*6a54128fSAndroid Build Coastguard Worker 171*6a54128fSAndroid Build Coastguard WorkerFixed a portability problem in libblkid with DJGPP. 172*6a54128fSAndroid Build Coastguard Worker 173*6a54128fSAndroid Build Coastguard WorkerFix an obvious typo in an "internal error" message in e2fsck. Thanks 174*6a54128fSAndroid Build Coastguard Workerto Philipp Thomas for pointing this out. 175*6a54128fSAndroid Build Coastguard Worker 176*6a54128fSAndroid Build Coastguard WorkerIf the info files are not built, change "make install" so it doesn't 177*6a54128fSAndroid Build Coastguard Workerfail with an error code. 178*6a54128fSAndroid Build Coastguard Worker 179*6a54128fSAndroid Build Coastguard Worker 180*6a54128fSAndroid Build Coastguard WorkerE2fsprogs 1.40.7 (February 28, 2008) 181*6a54128fSAndroid Build Coastguard Worker==================================== 182*6a54128fSAndroid Build Coastguard Worker 183*6a54128fSAndroid Build Coastguard WorkerRemove support for clearing the SPARSE_SUPER feature from tune2fs, and 184*6a54128fSAndroid Build Coastguard Workerdepreciate the -s option, since it can result in filesystems which 185*6a54128fSAndroid Build Coastguard Workere2fsck can't fix easily. There are very good reasons for wanting to 186*6a54128fSAndroid Build Coastguard Workerdisable sparse_super; users who wants to turn off sparse_super can use 187*6a54128fSAndroid Build Coastguard Workerdebugfs. (Addresses Sourceforge Bug: #1840286) 188*6a54128fSAndroid Build Coastguard Worker 189*6a54128fSAndroid Build Coastguard WorkerAdd missing options to mke2fs's usage message. (Addresses Sourceforge 190*6a54128fSAndroid Build Coastguard WorkerBug: #1751393) 191*6a54128fSAndroid Build Coastguard Worker 192*6a54128fSAndroid Build Coastguard WorkerFix bug in resize2fs when large (greater than 128 byte) inodes are 193*6a54128fSAndroid Build Coastguard Workermoved when a filesystem is shrunk; it was only moving the first 128 194*6a54128fSAndroid Build Coastguard Workerbytes, so extended attributes were not getting moved. (Addresses Red 195*6a54128fSAndroid Build Coastguard WorkerHat Bugzilla: #434893) 196*6a54128fSAndroid Build Coastguard Worker 197*6a54128fSAndroid Build Coastguard WorkerE2fsck now prints an explicit message when the bad block inode is 198*6a54128fSAndroid Build Coastguard Workerupdated, to avoid confusion about why the filesystem was modified. 199*6a54128fSAndroid Build Coastguard Worker(Addresses Sourceforge Bug: #756460) 200*6a54128fSAndroid Build Coastguard Worker 201*6a54128fSAndroid Build Coastguard WorkerAllow mke2fs and tune2fs manipulate the large_file feature. 202*6a54128fSAndroid Build Coastguard WorkerPreviously we just let the kernel and e2fsck do this automatically, 203*6a54128fSAndroid Build Coastguard Workerbut e2fsck will no longer automatically clear the large_file feature. 204*6a54128fSAndroid Build Coastguard WorkerIt still isn't really necessary to worry about this feature flag 205*6a54128fSAndroid Build Coastguard Workerexplicitly, but some users seem to care. (Addresses Red Hat Bugzilla: 206*6a54128fSAndroid Build Coastguard Worker#258381) 207*6a54128fSAndroid Build Coastguard Worker 208*6a54128fSAndroid Build Coastguard WorkerSuppress message about an old-style fstab if the fstab file is empty. 209*6a54128fSAndroid Build Coastguard Worker(Addresses Debian Bug: #468176) 210*6a54128fSAndroid Build Coastguard Worker 211*6a54128fSAndroid Build Coastguard WorkerFix (really minor) bug in debugfs's find_free_block so it avoids 212*6a54128fSAndroid Build Coastguard Workerreporting a free block more than once if there are too few free blocks 213*6a54128fSAndroid Build Coastguard Workerin the filesystem. (Addresses Sourceforge Bug: #1096315) 214*6a54128fSAndroid Build Coastguard Worker 215*6a54128fSAndroid Build Coastguard WorkerChange e2fsck to no longer clear the LARGE_FILES feature flag 216*6a54128fSAndroid Build Coastguard Workerautomatically, when there are no more > 2GB files in the filesystem. 217*6a54128fSAndroid Build Coastguard WorkerIt's been almost a decade since there have been kernels that don't 218*6a54128fSAndroid Build Coastguard Workersupport this flag, and e2fsck clears it quietly without telling the 219*6a54128fSAndroid Build Coastguard Workeruser why the filesystem has been changed. 220*6a54128fSAndroid Build Coastguard Worker 221*6a54128fSAndroid Build Coastguard WorkerFix bug which could cause libblkid to seg fault if a device mapper 222*6a54128fSAndroid Build Coastguard Workervolume disappears while it is being probed. (Addresses RedHat 223*6a54128fSAndroid Build Coastguard WorkerBugzilla: #433857) 224*6a54128fSAndroid Build Coastguard Worker 225*6a54128fSAndroid Build Coastguard WorkerEnhance e2fsck's reporting of unsupported filesystem feature flags. 226*6a54128fSAndroid Build Coastguard Worker(Addresses Sourceforge Feature Request: #1175808) 227*6a54128fSAndroid Build Coastguard Worker 228*6a54128fSAndroid Build Coastguard WorkerFix option syntax in dumpe2fs for explicit superblock and blocksize 229*6a54128fSAndroid Build Coastguard Workerparameters. What was currently documented in the man page has been 230*6a54128fSAndroid Build Coastguard Workerbroken for some time, due to getopt() implementation changes. The 231*6a54128fSAndroid Build Coastguard Workeroption syntax has been changed to one which is can be more portable 232*6a54128fSAndroid Build Coastguard Workersupported and which is consistent with the format for extended options 233*6a54128fSAndroid Build Coastguard Workerin mke2fs and tune2fs. (Addresses Sourceforge Bug: #1830994) 234*6a54128fSAndroid Build Coastguard Worker 235*6a54128fSAndroid Build Coastguard WorkerAdd support to tune2fs to clear the resize_inode feature. This 236*6a54128fSAndroid Build Coastguard Workerrequires an fsck afterwards. (Addresses Red Hat Bugzilla: #167816) 237*6a54128fSAndroid Build Coastguard Worker 238*6a54128fSAndroid Build Coastguard WorkerTeach blkid to detect LVM2 physical volumes. (Addresses Red Hat 239*6a54128fSAndroid Build Coastguard WorkerBugzilla: #409321) 240*6a54128fSAndroid Build Coastguard Worker 241*6a54128fSAndroid Build Coastguard WorkerAdd support for setting RAID stride and stripe-width via mke2fs and 242*6a54128fSAndroid Build Coastguard Workertune2fs. Teach dumpe2fs to print the RAID parameters. 243*6a54128fSAndroid Build Coastguard Worker 244*6a54128fSAndroid Build Coastguard WorkerAdd support for setting new superblock fields to debugfs's 245*6a54128fSAndroid Build Coastguard Workerset_super_value. 246*6a54128fSAndroid Build Coastguard Worker 247*6a54128fSAndroid Build Coastguard WorkerAdd support for printing "mostly-printable" extended attributes in 248*6a54128fSAndroid Build Coastguard WorkerDebugfs. 249*6a54128fSAndroid Build Coastguard Worker 250*6a54128fSAndroid Build Coastguard WorkerAdd support for the -M option to fsck, which causes it to ignore 251*6a54128fSAndroid Build Coastguard Workermounted filesystem. 252*6a54128fSAndroid Build Coastguard Worker 253*6a54128fSAndroid Build Coastguard WorkerFix uuidd so that it creates the pid file with the correct pid number. 254*6a54128fSAndroid Build Coastguard Worker(Addresses Sourceforge Bug: #1893244) 255*6a54128fSAndroid Build Coastguard Worker 256*6a54128fSAndroid Build Coastguard WorkerFix various gcc -Wall warnings. 257*6a54128fSAndroid Build Coastguard Worker 258*6a54128fSAndroid Build Coastguard WorkerUpdate Czech, Dutch, Polish, Swedish, and Vietnamese translations 259*6a54128fSAndroid Build Coastguard Worker 260*6a54128fSAndroid Build Coastguard WorkerFixed spelling mistakes, typos, and otherwise clarified man pages. 261*6a54128fSAndroid Build Coastguard Worker(Addresses Sourceforge Patch: #1399325) 262*6a54128fSAndroid Build Coastguard Worker 263*6a54128fSAndroid Build Coastguard Worker 264*6a54128fSAndroid Build Coastguard WorkerProgrammer's notes: 265*6a54128fSAndroid Build Coastguard Worker------------------- 266*6a54128fSAndroid Build Coastguard Worker 267*6a54128fSAndroid Build Coastguard WorkerFixed various Debian packaging issues --- see debian/changelog for 268*6a54128fSAndroid Build Coastguard Workerdetails. (Addresses Debian Bug: #466929) 269*6a54128fSAndroid Build Coastguard Worker 270*6a54128fSAndroid Build Coastguard WorkerAdd new flag EXT2_FLAG_NONFREE_ON_ERROR ext2fs_open2() which returns a 271*6a54128fSAndroid Build Coastguard Workerpartially filled-in filesystem object on an error, so that e2fsck can 272*6a54128fSAndroid Build Coastguard Workerprint more intelligent error messages. 273*6a54128fSAndroid Build Coastguard Worker 274*6a54128fSAndroid Build Coastguard WorkerAdd a new function e2p_edit_feature2() which allows the caller to 275*6a54128fSAndroid Build Coastguard Workerspecify which feature flags are OK to set or clear, and which returns 276*6a54128fSAndroid Build Coastguard Workermore specific information about feature flags which are not allowed to 277*6a54128fSAndroid Build Coastguard Workerbe set/cleared. 278*6a54128fSAndroid Build Coastguard Worker 279*6a54128fSAndroid Build Coastguard WorkerSet the C locale in the test_script driver since it uses [A-Za-z]. 280*6a54128fSAndroid Build Coastguard Worker(Addresses Sourceforge Bug: #1890526) 281*6a54128fSAndroid Build Coastguard Worker 282*6a54128fSAndroid Build Coastguard WorkerUse fcntl locking instead of lockf in libuuid since Cygwin doesn't 283*6a54128fSAndroid Build Coastguard Workersupport lockf(). 284*6a54128fSAndroid Build Coastguard Worker 285*6a54128fSAndroid Build Coastguard WorkerChange configure.in to avoid using the 'dc' command unless it is 286*6a54128fSAndroid Build Coastguard Workerabsolutely needed. (i.e., when using parsing a WIP-style version 287*6a54128fSAndroid Build Coastguard Workernumber) (Addresses Sourceforge Bug: #1893024) 288*6a54128fSAndroid Build Coastguard Worker 289*6a54128fSAndroid Build Coastguard WorkerAdd portability checks to support compilation under DJGPP. 290*6a54128fSAndroid Build Coastguard Worker 291*6a54128fSAndroid Build Coastguard WorkerUpdate to the latest samba tdb code before the LGPLv3 change, which 292*6a54128fSAndroid Build Coastguard Workerfixes a realloc() leak on failure. 293*6a54128fSAndroid Build Coastguard Worker 294*6a54128fSAndroid Build Coastguard WorkerFix memory leak in ext2fs_alloc_block(). 295*6a54128fSAndroid Build Coastguard Worker 296*6a54128fSAndroid Build Coastguard WorkerFix makefile dependency issues for various install targets. 297*6a54128fSAndroid Build Coastguard Worker(Addresses-Sourceforge-Patches: #1903484, #1903466, #1903456) 298*6a54128fSAndroid Build Coastguard Worker 299*6a54128fSAndroid Build Coastguard WorkerImprove descriptions for the r_move_itable and r_resize_inode tests. 300*6a54128fSAndroid Build Coastguard Worker 301*6a54128fSAndroid Build Coastguard Worker 302*6a54128fSAndroid Build Coastguard WorkerE2fsprogs 1.40.6 (February 9, 2008) 303*6a54128fSAndroid Build Coastguard Worker=================================== 304*6a54128fSAndroid Build Coastguard Worker 305*6a54128fSAndroid Build Coastguard WorkerAdd support for returning labels for UDF filesystems in the blkid 306*6a54128fSAndroid Build Coastguard Workerlibrary. 307*6a54128fSAndroid Build Coastguard Worker 308*6a54128fSAndroid Build Coastguard WorkerFix bug in the blkid library where cached filesystems was not being 309*6a54128fSAndroid Build Coastguard Workerflushed when opening USB devices returned the error ENOMEDIUM. 310*6a54128fSAndroid Build Coastguard Worker(Addresses Debian Bug: #463787) 311*6a54128fSAndroid Build Coastguard Worker 312*6a54128fSAndroid Build Coastguard WorkerAdded logic to the blkid library to automatically choose whether a 313*6a54128fSAndroid Build Coastguard Workerfilesystem should be mounted as ext4 or ext4dev, as appropriate. 314*6a54128fSAndroid Build Coastguard Worker 315*6a54128fSAndroid Build Coastguard WorkerAllow tune2fs to set and clear the test_fs flag on ext4 filesystems. 316*6a54128fSAndroid Build Coastguard Worker 317*6a54128fSAndroid Build Coastguard WorkerFix a bug in e2fsck which caused it to core dump if e2fsprogs had been 318*6a54128fSAndroid Build Coastguard Workerconfigured with --enable-jbd-debug. 319*6a54128fSAndroid Build Coastguard Worker 320*6a54128fSAndroid Build Coastguard WorkerDocument the BLKID_FILE environment variable in the libblkid man page 321*6a54128fSAndroid Build Coastguard Worker 322*6a54128fSAndroid Build Coastguard WorkerProgrammer's Notes: 323*6a54128fSAndroid Build Coastguard Worker------------------- 324*6a54128fSAndroid Build Coastguard Worker 325*6a54128fSAndroid Build Coastguard WorkerUpdate e2fsprogs translation template and Vietnamese and Czech translations 326*6a54128fSAndroid Build Coastguard Worker 327*6a54128fSAndroid Build Coastguard WorkerFixed various Debian packaging issues --- see debian/changelog for 328*6a54128fSAndroid Build Coastguard Workerdetails. (Addresses Debian Bugs: #436058) 329*6a54128fSAndroid Build Coastguard Worker 330*6a54128fSAndroid Build Coastguard WorkerDon't try to create $DESTDIR/etc/init.d as part of make install as we 331*6a54128fSAndroid Build Coastguard Workerdon't install the init.d script (and it's not the recommended way to 332*6a54128fSAndroid Build Coastguard Workerstart uuidd anyway). (Addresses Sourceforge Bug: #1885085) 333*6a54128fSAndroid Build Coastguard Worker 334*6a54128fSAndroid Build Coastguard WorkerUse thread local storage to fix a theoretical race condition if two 335*6a54128fSAndroid Build Coastguard Workerthreads try to format an unknown error code at the same time in the 336*6a54128fSAndroid Build Coastguard Workercom_err library. 337*6a54128fSAndroid Build Coastguard Worker 338*6a54128fSAndroid Build Coastguard Worker 339*6a54128fSAndroid Build Coastguard WorkerE2fsprogs 1.40.5 (January 27, 2008) 340*6a54128fSAndroid Build Coastguard Worker=================================== 341*6a54128fSAndroid Build Coastguard Worker 342*6a54128fSAndroid Build Coastguard WorkerFix a potential overflow big in e2image if the device name is too 343*6a54128fSAndroid Build Coastguard Workerlong. 344*6a54128fSAndroid Build Coastguard Worker 345*6a54128fSAndroid Build Coastguard WorkerMke2fs will now create new filesystems with 256 byte inodes and the 346*6a54128fSAndroid Build Coastguard Workerext_attr feature flag by default. This allows for much better future 347*6a54128fSAndroid Build Coastguard Workercompatibility with ext4 and speeds up extended attributes even on ext3 348*6a54128fSAndroid Build Coastguard Workerfilesystems. 349*6a54128fSAndroid Build Coastguard Worker 350*6a54128fSAndroid Build Coastguard WorkerTeach e2fsck to ignore certain "safe" filesystem features which are 351*6a54128fSAndroid Build Coastguard Workerset automatically by the kernel. Having the kernel set features 352*6a54128fSAndroid Build Coastguard Workerautomagically behind the user's back is a bad idea, and we should try 353*6a54128fSAndroid Build Coastguard Workerto break the kernel of this habit, especially for the newer ext4 354*6a54128fSAndroid Build Coastguard Workerfeature flags. But for now, we will try to avoid needless full checks 355*6a54128fSAndroid Build Coastguard Workerwhich can annoy users who are doing fresh installs. 356*6a54128fSAndroid Build Coastguard Worker 357*6a54128fSAndroid Build Coastguard WorkerAdd support in tune2fs and mke2fs for making a filesystem as being "ok 358*6a54128fSAndroid Build Coastguard Workerto be used with test kernel code". This will be needed for using test 359*6a54128fSAndroid Build Coastguard Workerfilesystems with the latest ext4 kernel code. 360*6a54128fSAndroid Build Coastguard Worker 361*6a54128fSAndroid Build Coastguard WorkerChange e2fsck -fD so that it sorts non-htree directories by inode 362*6a54128fSAndroid Build Coastguard Workernumbers instead of by name, since that optimizes performances much 363*6a54128fSAndroid Build Coastguard Workermore significantly. (Addresses-Sourceforge-Feature-Request: #532439) 364*6a54128fSAndroid Build Coastguard Worker 365*6a54128fSAndroid Build Coastguard WorkerIf e2image fills the disk, fix it so it exits right away instead of 366*6a54128fSAndroid Build Coastguard Workerspewing large numbers of error messages. 367*6a54128fSAndroid Build Coastguard Worker(Addresses-Sourceforge-Feature-Request: #606508) 368*6a54128fSAndroid Build Coastguard Worker 369*6a54128fSAndroid Build Coastguard WorkerIf ftruncate64() is not available for resize2fs, let it use ftrucate() 370*6a54128fSAndroid Build Coastguard Workerinstead, but have it check to see if the size would get truncated, and 371*6a54128fSAndroid Build Coastguard Workerskip calling ftruncate in that case. 372*6a54128fSAndroid Build Coastguard Worker 373*6a54128fSAndroid Build Coastguard WorkerAdd support for detecting HFS+ filesystems in the blkid library. 374*6a54128fSAndroid Build Coastguard Worker 375*6a54128fSAndroid Build Coastguard WorkerAdd support in the blkid library for ext4/ext4dev filesystems. 376*6a54128fSAndroid Build Coastguard Worker 377*6a54128fSAndroid Build Coastguard WorkerFix a bug in blkid where it could die on a floating point exception 378*6a54128fSAndroid Build Coastguard Workerwhen presented with a corrupt reiserfs image. 379*6a54128fSAndroid Build Coastguard Worker 380*6a54128fSAndroid Build Coastguard WorkerFix blkid's handling of ntfs UUID's so that leading zeros are printed 381*6a54128fSAndroid Build Coastguard Workersuch that UUID string is a fixed length. 382*6a54128fSAndroid Build Coastguard Worker 383*6a54128fSAndroid Build Coastguard WorkerAdd sample python bindings for the uuid library to the contrib 384*6a54128fSAndroid Build Coastguard Workerdirectory. (Addresses-Sourceforge-Patches: #778817) 385*6a54128fSAndroid Build Coastguard Worker 386*6a54128fSAndroid Build Coastguard WorkerFix debugfs's 'lsdel' command so it uses ext2fs_block_iterate2 so it 387*6a54128fSAndroid Build Coastguard Workerwill work with large files. (Addresses Sourceforge Feature Request: 388*6a54128fSAndroid Build Coastguard Worker#1257500 and Sourceforge Support Request: #1253511) 389*6a54128fSAndroid Build Coastguard Worker 390*6a54128fSAndroid Build Coastguard WorkerAllow the debugfs 'undel' command to undelete an inode without linking 391*6a54128fSAndroid Build Coastguard Workerit to a specific destination directory, since this might require 392*6a54128fSAndroid Build Coastguard Workerallocating blocks that could overwrite some yet-to-be-recovered 393*6a54128fSAndroid Build Coastguard Workerdeleted files. (Addresses-Sourceforge-Feature-Request: #967141) 394*6a54128fSAndroid Build Coastguard Worker 395*6a54128fSAndroid Build Coastguard WorkerUpdate Swedish translation from the Translation Project. 396*6a54128fSAndroid Build Coastguard Worker 397*6a54128fSAndroid Build Coastguard WorkerProgrammer's Notes: 398*6a54128fSAndroid Build Coastguard Worker------------------- 399*6a54128fSAndroid Build Coastguard Worker 400*6a54128fSAndroid Build Coastguard WorkerFix configure handling of --sbindir (which should rarely be used, but 401*6a54128fSAndroid Build Coastguard Workersomeone did complain, so let's fix it). (Addresses Sourceforge Bug: 402*6a54128fSAndroid Build Coastguard Worker#498381) 403*6a54128fSAndroid Build Coastguard Worker 404*6a54128fSAndroid Build Coastguard WorkerUpdated e2fsprogs.spec file to include a new uuidd package 405*6a54128fSAndroid Build Coastguard Worker 406*6a54128fSAndroid Build Coastguard WorkerUse pkg-config to determine where to find the devmapper library so we 407*6a54128fSAndroid Build Coastguard Workercan find out where it is located on different distributions. 408*6a54128fSAndroid Build Coastguard Worker 409*6a54128fSAndroid Build Coastguard WorkerFix Makefile race so that "make -j3 distclean" works correctly 410*6a54128fSAndroid Build Coastguard Worker 411*6a54128fSAndroid Build Coastguard WorkerFix portability problems on non-Linux/non-Hurd/non-Masix systems, 412*6a54128fSAndroid Build Coastguard Workerespecially on MacOS X systems. (Addresses Sourceforge Bugs: #1861633, 413*6a54128fSAndroid Build Coastguard Worker#1819034, #1863819) 414*6a54128fSAndroid Build Coastguard Worker 415*6a54128fSAndroid Build Coastguard WorkerFixed spelling mistakes, typos, and otherwise clarified man pages. 416*6a54128fSAndroid Build Coastguard Worker 417*6a54128fSAndroid Build Coastguard WorkerFixed various Debian packaging issues --- see debian/changelog for 418*6a54128fSAndroid Build Coastguard Workerdetails. (Addresses Debian Bugs: #459403, #459475, #459614) 419*6a54128fSAndroid Build Coastguard Worker 420*6a54128fSAndroid Build Coastguard WorkerRemove the --enable-dynamic-static configure option, and build e2fsck 421*6a54128fSAndroid Build Coastguard Workerdynamically by default. If the user wants e2fsck.static, he/she will 422*6a54128fSAndroid Build Coastguard Workerneed to build it via "make -C e2fsck e2fsck.static" 423*6a54128fSAndroid Build Coastguard Worker 424*6a54128fSAndroid Build Coastguard WorkerFix various build warnings due to missing prototypes. 425*6a54128fSAndroid Build Coastguard Worker(Addresses Sourceforge Patch: #1861663, #1861659) 426*6a54128fSAndroid Build Coastguard Worker 427*6a54128fSAndroid Build Coastguard Worker 428*6a54128fSAndroid Build Coastguard WorkerE2fsprogs 1.40.4 (December 31, 2007) 429*6a54128fSAndroid Build Coastguard Worker==================================== 430*6a54128fSAndroid Build Coastguard Worker 431*6a54128fSAndroid Build Coastguard WorkerImprove time-based UUID generation. A new daemon uuidd, is started 432*6a54128fSAndroid Build Coastguard Workerautomatically by libuuid if necessary. This daemon is setuid to allow 433*6a54128fSAndroid Build Coastguard Workerupdates to /var/lib/libuuid, so the clock sequence number can be 434*6a54128fSAndroid Build Coastguard Workerstored and so if the clock is set backwards, it can be detected. 435*6a54128fSAndroid Build Coastguard Worker(Addresses Sourceforge Bug: #1529672, Addresses Red Hat Bugzilla: 436*6a54128fSAndroid Build Coastguard Worker#233471) 437*6a54128fSAndroid Build Coastguard Worker 438*6a54128fSAndroid Build Coastguard WorkerFilter out the NEEDS_RECOVERY feature flag when writing out the backup 439*6a54128fSAndroid Build Coastguard Workersuperblocks. This avoids e2fsck from concluding that a full 440*6a54128fSAndroid Build Coastguard Workerfilesystem check is required before backing up the superblock due to 441*6a54128fSAndroid Build Coastguard Workerchanges in the feature flags. (Addresses Debian Bug: #454926) 442*6a54128fSAndroid Build Coastguard Worker 443*6a54128fSAndroid Build Coastguard WorkerFix fsck to only treat the '#' character as a comment at the beginning 444*6a54128fSAndroid Build Coastguard Workerof the line in /etc/fstab. Otherwise fstabs for the fuse filesystem 445*6a54128fSAndroid Build Coastguard Workerwill cause fsck to issue an bogus warning message. 446*6a54128fSAndroid Build Coastguard Worker(Addresses Gentoo bug: #195405, Addresses Sourceforge bug: #1826147) 447*6a54128fSAndroid Build Coastguard Worker 448*6a54128fSAndroid Build Coastguard WorkerFormat control characters and characters with the high eighth bit set 449*6a54128fSAndroid Build Coastguard Workerwhen printing the contents of the blkid cache, to prevent filesystems 450*6a54128fSAndroid Build Coastguard Workerwith garbage labels from sending escape sequences to the user's screen 451*6a54128fSAndroid Build Coastguard Workerthat might, for example place it in graphics mode. (Addresses Ubuntu 452*6a54128fSAndroid Build Coastguard WorkerBug: #78087) 453*6a54128fSAndroid Build Coastguard Worker 454*6a54128fSAndroid Build Coastguard WorkerFix sign-extension problem on 64-bit systems in in the com_err 455*6a54128fSAndroid Build Coastguard Workerlibrary. (Addresses Sourceforge Bug: #1809658) 456*6a54128fSAndroid Build Coastguard Worker 457*6a54128fSAndroid Build Coastguard WorkerAvoid division by zero error when probing an invalid FAT filesystem in 458*6a54128fSAndroid Build Coastguard Workerthe blkid library. (Addresses Sourceforge Bug: #1831627) 459*6a54128fSAndroid Build Coastguard Worker 460*6a54128fSAndroid Build Coastguard WorkerUpdate Dutch, Polish, and Vietnamese translations from the Translation 461*6a54128fSAndroid Build Coastguard WorkerProject. Remove the Rwandan translation upon advice of the 462*6a54128fSAndroid Build Coastguard WorkerTranslation Project. 463*6a54128fSAndroid Build Coastguard Worker 464*6a54128fSAndroid Build Coastguard WorkerProgrammer's Notes: 465*6a54128fSAndroid Build Coastguard Worker------------------- 466*6a54128fSAndroid Build Coastguard Worker 467*6a54128fSAndroid Build Coastguard WorkerFix the libss "make check" regression test so that it works if the 468*6a54128fSAndroid Build Coastguard Workercurrent directory is not in the user's path or if the libss shared 469*6a54128fSAndroid Build Coastguard Workerlibrary is not installed. (Addresses Sourceforge Bug: #1848974) 470*6a54128fSAndroid Build Coastguard Worker 471*6a54128fSAndroid Build Coastguard WorkerFixed spelling mistakes, typos, and otherwise clarified man pages. 472*6a54128fSAndroid Build Coastguard Worker(Addresses Debian Bugs: #444883, #441872) 473*6a54128fSAndroid Build Coastguard Worker 474*6a54128fSAndroid Build Coastguard WorkerFixed various Debian packaging issues --- see debian/changelog for 475*6a54128fSAndroid Build Coastguard Workerdetails. (Addresses Debian Bugs: #437720, #451172, #458017) 476*6a54128fSAndroid Build Coastguard Worker 477*6a54128fSAndroid Build Coastguard WorkerFix build failure on non-Linux/non-Hurd/non-Masix systems. 478*6a54128fSAndroid Build Coastguard Worker(Addresses Sourceforge Bug: #1859778) 479*6a54128fSAndroid Build Coastguard Worker 480*6a54128fSAndroid Build Coastguard WorkerFix Hurd portability issues. (Addresses Debian Bug: #437720) 481*6a54128fSAndroid Build Coastguard Worker 482*6a54128fSAndroid Build Coastguard Worker 483*6a54128fSAndroid Build Coastguard WorkerE2fsprogs 1.40.3 (December 5, 2007) 484*6a54128fSAndroid Build Coastguard Worker=================================== 485*6a54128fSAndroid Build Coastguard Worker 486*6a54128fSAndroid Build Coastguard WorkerFix a potential security vulnerability where an untrusted filesystem 487*6a54128fSAndroid Build Coastguard Workercan be corrupted in such a way that a program using libext2fs will 488*6a54128fSAndroid Build Coastguard Workerallocate a buffer which is far too small. This can lead to either a 489*6a54128fSAndroid Build Coastguard Workercrash or potentially a heap-based buffer overflow crash. No known 490*6a54128fSAndroid Build Coastguard Workerexploits exist, but main concern is where an untrusted user who 491*6a54128fSAndroid Build Coastguard Workerpossesses privileged access in a guest Xen environment could corrupt a 492*6a54128fSAndroid Build Coastguard Workerfilesystem which is then accessed by the pygrub program, running as 493*6a54128fSAndroid Build Coastguard Workerroot in the dom0 host environment, thus allowing the untrusted user to 494*6a54128fSAndroid Build Coastguard Workergain privileged access in the host OS. Thanks to the McAfee AVERT 495*6a54128fSAndroid Build Coastguard WorkerResearch group for reporting this issue. (Addresses CVE-2007-5497.) 496*6a54128fSAndroid Build Coastguard Worker 497*6a54128fSAndroid Build Coastguard WorkerFix heuristics in blkid which could cause a disk without partitions to 498*6a54128fSAndroid Build Coastguard Workerbe incorrectly skipped when a loopback device is present. (Addresses 499*6a54128fSAndroid Build Coastguard WorkerRed Hat Bugzilla #400321.) 500*6a54128fSAndroid Build Coastguard Worker 501*6a54128fSAndroid Build Coastguard WorkerFix e2image so that in raw mode it does not create an image file which 502*6a54128fSAndroid Build Coastguard Workeris one byte too large. 503*6a54128fSAndroid Build Coastguard Worker 504*6a54128fSAndroid Build Coastguard WorkerChange mke2fs's usage message so it recommends the preferred -E option 505*6a54128fSAndroid Build Coastguard Workerinstead of the deprecated -R option. 506*6a54128fSAndroid Build Coastguard Worker 507*6a54128fSAndroid Build Coastguard WorkerEnhance the blkid library so it will recognize squashfs filesystems. 508*6a54128fSAndroid Build Coastguard Worker(Addresses Red Hat Bugzilla #305151.) 509*6a54128fSAndroid Build Coastguard Worker 510*6a54128fSAndroid Build Coastguard WorkerEnhance e2fsck so it will force the backup superblocks to be backed up 511*6a54128fSAndroid Build Coastguard Workerif the filesystem is consistent and key constants have been changed 512*6a54128fSAndroid Build Coastguard Worker(i.e., by an on-line resize) or by e2fsck in the course of its 513*6a54128fSAndroid Build Coastguard Workeroperations. 514*6a54128fSAndroid Build Coastguard Worker 515*6a54128fSAndroid Build Coastguard WorkerEnhance blkid's detection of FAT filesystems; so that USB disks with 516*6a54128fSAndroid Build Coastguard Workeronly a single bootable partition will not get missed. 517*6a54128fSAndroid Build Coastguard Worker 518*6a54128fSAndroid Build Coastguard WorkerE2fsck will no longer mark a filesystem as invalid if it has time 519*6a54128fSAndroid Build Coastguard Workererrors (i.e., if superblock mount time or last write time is in the 520*6a54128fSAndroid Build Coastguard Workerfuture) and the user refuses to fix the problem. 521*6a54128fSAndroid Build Coastguard Worker 522*6a54128fSAndroid Build Coastguard WorkerThe Ubuntu init scripts don't properly set the system time correctly 523*6a54128fSAndroid Build Coastguard Workerfrom hardware clock if the hardware clock is configured to tick local 524*6a54128fSAndroid Build Coastguard Workertime instead of GMT time. Work around this as best as we can by 525*6a54128fSAndroid Build Coastguard Workerproviding an option, buggy_init_scripts, in /etc/e2fsck.conf which can 526*6a54128fSAndroid Build Coastguard Workerbe set on Ubuntu systems. (Addresses Debian Bug #441093, and Ubuntu 527*6a54128fSAndroid Build Coastguard WorkerBug #131201.) 528*6a54128fSAndroid Build Coastguard Worker 529*6a54128fSAndroid Build Coastguard WorkerFix fsck to ignore /etc/fstab entries for bind mounts. (Addresses Red 530*6a54128fSAndroid Build Coastguard WorkerHat Bugzilla #151533.) 531*6a54128fSAndroid Build Coastguard Worker 532*6a54128fSAndroid Build Coastguard WorkerFix e2fsck so that if the superblock is corrupt, but still looks 533*6a54128fSAndroid Build Coastguard Workervaguely like an ext2/3/4 superblock, that it automatically tries to 534*6a54128fSAndroid Build Coastguard Workerfall back to the backup superblock, instead of failing with a hard 535*6a54128fSAndroid Build Coastguard Workererror. 536*6a54128fSAndroid Build Coastguard Worker 537*6a54128fSAndroid Build Coastguard WorkerMake the e2fsprogs program more robust so that they will not crash 538*6a54128fSAndroid Build Coastguard Workerwhen opening a corrupt filesystem where s_inode_size is zero. 539*6a54128fSAndroid Build Coastguard Worker 540*6a54128fSAndroid Build Coastguard WorkerChange e2fsck so it uses sscanf() instead of atoi() so it non-numeric 541*6a54128fSAndroid Build Coastguard Workerarguments are detected as such and the parse error is reported to the 542*6a54128fSAndroid Build Coastguard Workeruser. (Addresses Debian Bug #435381.) 543*6a54128fSAndroid Build Coastguard Worker 544*6a54128fSAndroid Build Coastguard WorkerChange e2fsck so it will not complain if a file has blocks reallocated 545*6a54128fSAndroid Build Coastguard Workerup to the next multiple of a system's page size. 546*6a54128fSAndroid Build Coastguard Worker 547*6a54128fSAndroid Build Coastguard WorkerFix bug in ext2fs_check_desc() which will cause e2fsck to complain 548*6a54128fSAndroid Build Coastguard Workerabout (valid) filesystems where the inode table extends to the last 549*6a54128fSAndroid Build Coastguard Workerblock of the block group. (Addresses Red Hat Bugzilla #214765.) 550*6a54128fSAndroid Build Coastguard Worker 551*6a54128fSAndroid Build Coastguard WorkerFix a bug in ext2fs_initialize() which causes mke2fs to fail while 552*6a54128fSAndroid Build Coastguard Workerallocating inode tables for some relatively rare odd disk sizes. 553*6a54128fSAndroid Build Coastguard Worker(Addresses Red Hat Bugzilla #241767.) 554*6a54128fSAndroid Build Coastguard Worker 555*6a54128fSAndroid Build Coastguard WorkerAdd Catalan translation and update Dutch and Swedish translations 556*6a54128fSAndroid Build Coastguard Workerfrom the Translation Project. 557*6a54128fSAndroid Build Coastguard Worker 558*6a54128fSAndroid Build Coastguard WorkerFix big-endian byte-swapping bug in ext2fs_swap_inode_full(). We 559*6a54128fSAndroid Build Coastguard Workerstill had an issue when trying to figure out whether we need to 560*6a54128fSAndroid Build Coastguard Workerbyte-swap fast symlinks that contained extended attributes. 561*6a54128fSAndroid Build Coastguard Worker 562*6a54128fSAndroid Build Coastguard WorkerFixed spelling mistakes, typos, and otherwise clarified man pages. 563*6a54128fSAndroid Build Coastguard Worker(Addresses SourceForge Bug #1821333.) 564*6a54128fSAndroid Build Coastguard Worker 565*6a54128fSAndroid Build Coastguard Worker 566*6a54128fSAndroid Build Coastguard WorkerProgrammer's Notes: 567*6a54128fSAndroid Build Coastguard Worker------------------- 568*6a54128fSAndroid Build Coastguard Worker 569*6a54128fSAndroid Build Coastguard WorkerFix mke2fs tests to avoid needing any significant ^M (CR) characters 570*6a54128fSAndroid Build Coastguard Worker 571*6a54128fSAndroid Build Coastguard WorkerAdd "make check" to the RPM spec file 572*6a54128fSAndroid Build Coastguard Worker 573*6a54128fSAndroid Build Coastguard WorkerFix "make install" and 'make uninstall" in misc/Makefile.in so that it 574*6a54128fSAndroid Build Coastguard Workerworks correctly when the prefix is not the root directory. 575*6a54128fSAndroid Build Coastguard Worker 576*6a54128fSAndroid Build Coastguard WorkerFix the resize2fs tests, r_move_itable and r_resize_inode, so they 577*6a54128fSAndroid Build Coastguard Workerclean up after themselves by deleting the test.img temporary file 578*6a54128fSAndroid Build Coastguard Workerafter completing the test. 579*6a54128fSAndroid Build Coastguard Worker 580*6a54128fSAndroid Build Coastguard WorkerFixed a corner case bug ext2fs_unlink() when trying to delete the 581*6a54128fSAndroid Build Coastguard Workerfirst directory entry in a directory block and the last directory 582*6a54128fSAndroid Build Coastguard Workerentry in the previous directory block is not in use. Fortunately 583*6a54128fSAndroid Build Coastguard Workerext2fs_unlink() is only used by debugfs and e2fsck, and in e2fsck in 584*6a54128fSAndroid Build Coastguard Workerplaces where it is extremely unlikely to run into this corner case. 585*6a54128fSAndroid Build Coastguard Worker 586*6a54128fSAndroid Build Coastguard WorkerFix missing dependency which would cause parallel builds to fail. 587*6a54128fSAndroid Build Coastguard Worker(Addresses Sourceforge Bug #1842331.) 588*6a54128fSAndroid Build Coastguard Worker 589*6a54128fSAndroid Build Coastguard WorkerFix a build error on newer gcc caused by lib/ext2fs/ismounted.c 590*6a54128fSAndroid Build Coastguard Workercalling open(O_CREATE) with a missing mode parameter. 591*6a54128fSAndroid Build Coastguard Worker 592*6a54128fSAndroid Build Coastguard WorkerFix the test_ss.c in lib/ss so it can be used as an example 593*6a54128fSAndroid Build Coastguard Workerapplication program for the library as well as a regression test 594*6a54128fSAndroid Build Coastguard Workersuite. 595*6a54128fSAndroid Build Coastguard Worker 596*6a54128fSAndroid Build Coastguard WorkerFix ext2fs_dblist_dir_iterate() so that error codes and abort codes 597*6a54128fSAndroid Build Coastguard Workerare properly passed back up through the call stack. 598*6a54128fSAndroid Build Coastguard Worker 599*6a54128fSAndroid Build Coastguard WorkerE2fsprogs 1.40.2 (July 12, 2007) 600*6a54128fSAndroid Build Coastguard Worker================================ 601*6a54128fSAndroid Build Coastguard Worker 602*6a54128fSAndroid Build Coastguard WorkerA recent change to e2fsck_add_dir_info() to use tdb files to check 603*6a54128fSAndroid Build Coastguard Workerfilesystems with a very large number of filesystems had a typo which 604*6a54128fSAndroid Build Coastguard Workercaused us to resize the wrong data structure. This would cause a 605*6a54128fSAndroid Build Coastguard Workerarray overrun leading to malloc pointer corruptions and segfaults. 606*6a54128fSAndroid Build Coastguard WorkerSince we normally can very accurately predict how big the the dirinfo 607*6a54128fSAndroid Build Coastguard Workerarray needs to be, this bug only got triggered on very badly corrupted 608*6a54128fSAndroid Build Coastguard Workerfilesystems. 609*6a54128fSAndroid Build Coastguard Worker 610*6a54128fSAndroid Build Coastguard WorkerFix a bug in e2fsck which caused it to incorrectly salvage 611*6a54128fSAndroid Build Coastguard Workerdirectories when the last entry's rec_len is bogusly too big. This 612*6a54128fSAndroid Build Coastguard Workerresulted in a nonsense filesystem corruption to be reported, and 613*6a54128fSAndroid Build Coastguard Workerrequired a second run of e2fsck to fully fix up the directory. 614*6a54128fSAndroid Build Coastguard Worker 615*6a54128fSAndroid Build Coastguard WorkerUpdate tune2fs man page to include more discussion of reserved blocks 616*6a54128fSAndroid Build Coastguard Worker(Addresses Launchpad bug #47817) 617*6a54128fSAndroid Build Coastguard Worker 618*6a54128fSAndroid Build Coastguard WorkerUpdate Turkish, Polish, Dutch, and Vietnamese PO files from the 619*6a54128fSAndroid Build Coastguard WorkerTranslation Project 620*6a54128fSAndroid Build Coastguard Worker 621*6a54128fSAndroid Build Coastguard Worker 622*6a54128fSAndroid Build Coastguard WorkerE2fsprogs 1.40.1 (July 7, 2007) 623*6a54128fSAndroid Build Coastguard Worker=============================== 624*6a54128fSAndroid Build Coastguard Worker 625*6a54128fSAndroid Build Coastguard WorkerFix bug which could cause libblkid to loop forever. When revalidating 626*6a54128fSAndroid Build Coastguard Workera partition where there is obsolete information in /etc/blkid.tab, we 627*6a54128fSAndroid Build Coastguard Workerend up freeing a the type tag without clearing dev->bid_type, causing 628*6a54128fSAndroid Build Coastguard Workerblkid_verify() to loop forever. (Addresses Debian Bug: #432052) 629*6a54128fSAndroid Build Coastguard Worker 630*6a54128fSAndroid Build Coastguard WorkerThe Turkish translation has a bug in it where it has the translation 631*6a54128fSAndroid Build Coastguard Workerof "E@e '%Dn' in %p (%i)" to "E@E". This causes @E to be expanded at 632*6a54128fSAndroid Build Coastguard Worker@E, recursively, forever, until the stack fills up and e2fsck core 633*6a54128fSAndroid Build Coastguard Workerdumps. We fix this by making e2fsck stop @-expansions after a 634*6a54128fSAndroid Build Coastguard Workerrecursive depth of 10, which is far more than we need. 635*6a54128fSAndroid Build Coastguard Worker(Addresses Sourceforge Bug: #1646081) 636*6a54128fSAndroid Build Coastguard Worker 637*6a54128fSAndroid Build Coastguard WorkerCompile the default mke2fs.conf into mke2fs program. People are 638*6a54128fSAndroid Build Coastguard Workergetting surprised by mke2fs creating filesystems with different 639*6a54128fSAndroid Build Coastguard Workerdefaults than earlier versions of mke2fs if mke2fs.conf is not 640*6a54128fSAndroid Build Coastguard Workerpresent. So we now create a built in version of mke2fs.conf file 641*6a54128fSAndroid Build Coastguard Workerwhich is used by mke2fs if the /etc/mke2fs.conf is not present. 642*6a54128fSAndroid Build Coastguard Worker(Addresses SourceforgeBug: #1745818) 643*6a54128fSAndroid Build Coastguard Worker 644*6a54128fSAndroid Build Coastguard WorkerImprove the config/parse_types.sh helper script. Fix a potential 645*6a54128fSAndroid Build Coastguard Workersecurity problem if e2fsprogs is built as root (as Gentoo does!). In 646*6a54128fSAndroid Build Coastguard Workeraddition fix the script and how it is called from the configure script 647*6a54128fSAndroid Build Coastguard Workerso that it does the right thing when cross-compiling. (Fixes Gentoo 648*6a54128fSAndroid Build Coastguard Workerbug: #146903) 649*6a54128fSAndroid Build Coastguard Worker 650*6a54128fSAndroid Build Coastguard WorkerUpdate Vietnamese, French, and Dutch PO files from the Translation 651*6a54128fSAndroid Build Coastguard WorkerProject. Also created a new e2fsprogs.pot file for translator. 652*6a54128fSAndroid Build Coastguard Worker 653*6a54128fSAndroid Build Coastguard WorkerFix bogus strip permission errors when building under Debian. When 654*6a54128fSAndroid Build Coastguard Workerbuilding the e2fsprogs dpkg's, the dh_strip command emits a large 655*6a54128fSAndroid Build Coastguard Workernumber of error messages caused by the permissions not being right. 656*6a54128fSAndroid Build Coastguard WorkerSo run dh_fixperms before running dh_strip. 657*6a54128fSAndroid Build Coastguard Worker 658*6a54128fSAndroid Build Coastguard WorkerProgrammer's Notes: 659*6a54128fSAndroid Build Coastguard Worker------------------- 660*6a54128fSAndroid Build Coastguard Worker 661*6a54128fSAndroid Build Coastguard WorkerAdd new function: profile_set_default(). This function sets the value 662*6a54128fSAndroid Build Coastguard Workerof the pseudo file "<default>". If the file "<default>" had 663*6a54128fSAndroid Build Coastguard Workerpreviously been passed to profile_init(), then def_string parameter 664*6a54128fSAndroid Build Coastguard Workerwill be parsed and used as the profile information for the "<default>" 665*6a54128fSAndroid Build Coastguard Workerfile. 666*6a54128fSAndroid Build Coastguard Worker 667*6a54128fSAndroid Build Coastguard WorkerFix mk_cmds's error reporting so that it is unambiguous that it is the 668*6a54128fSAndroid Build Coastguard Workermk_cmds script which is generating the error. (Obviates Gentoo patch: 669*6a54128fSAndroid Build Coastguard Workere2fsprogs-1.32-mk_cmds-cosmetic.patch) 670*6a54128fSAndroid Build Coastguard Worker 671*6a54128fSAndroid Build Coastguard WorkerFix the test suite to use LC_ALL instead of LANG. LC_ALL is the "high 672*6a54128fSAndroid Build Coastguard Workerpriority" environment variable that overrides all others, where as 673*6a54128fSAndroid Build Coastguard WorkerLANG is the lowest priority environment variable. If LC_ALL is set, it 674*6a54128fSAndroid Build Coastguard Workerdoesn't matter whether LANG, LANGUAGE, LC_COLLATE, LC_MESSAGES, and 675*6a54128fSAndroid Build Coastguard Workerthe all the rest are set. This will assure that the locale when 676*6a54128fSAndroid Build Coastguard Workerrunning the test suites is the "C" locale. (Obviates Gentoo patch: 677*6a54128fSAndroid Build Coastguard Workere2fsprogs-1.38-tests-locale.patch) 678*6a54128fSAndroid Build Coastguard Worker 679*6a54128fSAndroid Build Coastguard Worker 680*6a54128fSAndroid Build Coastguard WorkerE2fsprogs 1.40 (June 29, 2007) 681*6a54128fSAndroid Build Coastguard Worker============================== 682*6a54128fSAndroid Build Coastguard Worker 683*6a54128fSAndroid Build Coastguard WorkerFix divide by zero error in blkid's NTFS probing logic. 684*6a54128fSAndroid Build Coastguard Worker 685*6a54128fSAndroid Build Coastguard WorkerAdd new blkid -g option which causes the blkid cache to be garbage 686*6a54128fSAndroid Build Coastguard Workercollected. 687*6a54128fSAndroid Build Coastguard Worker 688*6a54128fSAndroid Build Coastguard WorkerFix a bug in libblkid which could cause the internal field bid_type to 689*6a54128fSAndroid Build Coastguard Workerbecome corrupted. Fortunately bid_type isn't used much, and bid_label 690*6a54128fSAndroid Build Coastguard Workerand bid_uuid is only used by debugging code, so the impact of this bug 691*6a54128fSAndroid Build Coastguard Workerwas very minor. 692*6a54128fSAndroid Build Coastguard Worker 693*6a54128fSAndroid Build Coastguard WorkerMke2fs will now store the RAID stride value when a filesystem is 694*6a54128fSAndroid Build Coastguard Workercreated with a requested RAID stride, and then use it automatically in 695*6a54128fSAndroid Build Coastguard Workerresize2fs. 696*6a54128fSAndroid Build Coastguard Worker 697*6a54128fSAndroid Build Coastguard WorkerMke2fs has a sanity check added to make sure (inode_size * num_inodes) 698*6a54128fSAndroid Build Coastguard Workerisn't too big. In some cases Lustre users have tried specifying an 699*6a54128fSAndroid Build Coastguard Workerinode size of 4096 bytes, while keeping an inode ratio of one inode 700*6a54128fSAndroid Build Coastguard Workerper 4096 bytes. 701*6a54128fSAndroid Build Coastguard Worker 702*6a54128fSAndroid Build Coastguard WorkerImprove sanity check in e2fsck's algorithm for finding a backup 703*6a54128fSAndroid Build Coastguard Workersuperblock, so that it won't accidentally find a superblock that was 704*6a54128fSAndroid Build Coastguard Workerlocated in the journal, and then later reject it as being not a valid 705*6a54128fSAndroid Build Coastguard Workerbackup superblock. 706*6a54128fSAndroid Build Coastguard Worker 707*6a54128fSAndroid Build Coastguard WorkerFix e2fsck get_size logic so that it will work with the Linux floppy 708*6a54128fSAndroid Build Coastguard Workerdriver. The Linux floppy driver is a bit different from the other 709*6a54128fSAndroid Build Coastguard Workerblock device drivers, in that if the device has been opened with 710*6a54128fSAndroid Build Coastguard WorkerO_EXCL, it disallows another open(), even if the second open() does 711*6a54128fSAndroid Build Coastguard Workernot have the O_EXCL flag. (Addresses Debian Bug: #410569) 712*6a54128fSAndroid Build Coastguard Worker 713*6a54128fSAndroid Build Coastguard WorkerFix error checking of badblock's last-block and start-block arguments. 714*6a54128fSAndroid Build Coastguard Worker(Addresses Debian Bug: #416477) 715*6a54128fSAndroid Build Coastguard Worker 716*6a54128fSAndroid Build Coastguard WorkerFix e2fsck so that it doesn't overwrite the backup superblocks when 717*6a54128fSAndroid Build Coastguard Workerrecovering a journal until the master superblock has been confirmed as 718*6a54128fSAndroid Build Coastguard Workerbeing sane. 719*6a54128fSAndroid Build Coastguard Worker 720*6a54128fSAndroid Build Coastguard WorkerChange the blkid library to be much more paranoid about concluding 721*6a54128fSAndroid Build Coastguard Workerthat a partition contains an NTFS filesystem, and fetch the UUID and 722*6a54128fSAndroid Build Coastguard WorkerLABEL information from NTFS filesystems. (Addresses Launchpad Bug: 723*6a54128fSAndroid Build Coastguard Worker#110138) 724*6a54128fSAndroid Build Coastguard Worker 725*6a54128fSAndroid Build Coastguard WorkerFactor out the code which sets the default journal size and move it 726*6a54128fSAndroid Build Coastguard Workerinto libext2fs. 727*6a54128fSAndroid Build Coastguard Worker 728*6a54128fSAndroid Build Coastguard WorkerEnhance e2fsck so it will recreate the ext3 journal if the original 729*6a54128fSAndroid Build Coastguard Workerjournal inode was cleared to due it being corrupt after finishing the 730*6a54128fSAndroid Build Coastguard Workerfilesystem check. 731*6a54128fSAndroid Build Coastguard Worker 732*6a54128fSAndroid Build Coastguard WorkerFix e2fsck so that it updates the journal inode if it is corrupted and 733*6a54128fSAndroid Build Coastguard Workerthe backup journal information from the superblock was successfully 734*6a54128fSAndroid Build Coastguard Workerused to recover the filesystem. 735*6a54128fSAndroid Build Coastguard Worker 736*6a54128fSAndroid Build Coastguard WorkerFix e2fsck so that it checks all of the blocks in the journal inode 737*6a54128fSAndroid Build Coastguard Workerfor validity. The original code only checked the direct blocks to 738*6a54128fSAndroid Build Coastguard Workermake sure the journal inode was sane. Unfortunately, if some or all 739*6a54128fSAndroid Build Coastguard Workerof the indirect or doubly indirect blocks were corrupted, this would 740*6a54128fSAndroid Build Coastguard Workernot be caught. 741*6a54128fSAndroid Build Coastguard Worker 742*6a54128fSAndroid Build Coastguard WorkerAdd support in blkid to detect LUKS encrypted partitions. 743*6a54128fSAndroid Build Coastguard Worker 744*6a54128fSAndroid Build Coastguard WorkerAdd extra sanity checks for extended attributes in the case where the 745*6a54128fSAndroid Build Coastguard Workersize is zero but the offset is very large. 746*6a54128fSAndroid Build Coastguard Worker 747*6a54128fSAndroid Build Coastguard WorkerFix byte-swapping issues for large inodes in ext2fs_read_inode_full() 748*6a54128fSAndroid Build Coastguard Workerand ext2fs_get_next_inode_full(). 749*6a54128fSAndroid Build Coastguard Worker 750*6a54128fSAndroid Build Coastguard WorkerClarify the copyright licenses used by the various libraries in 751*6a54128fSAndroid Build Coastguard Workerthe top-level COPYING file (Red Hat Bugzilla: 166058) 752*6a54128fSAndroid Build Coastguard Worker 753*6a54128fSAndroid Build Coastguard WorkerMake mke2fs's defaults when /etc/mke2fs.conf doesn't exist more sane. 754*6a54128fSAndroid Build Coastguard Worker 755*6a54128fSAndroid Build Coastguard WorkerFix mke2fs and debugfs to support large (> 16 bit) uid's and gid's. 756*6a54128fSAndroid Build Coastguard Worker 757*6a54128fSAndroid Build Coastguard WorkerRemove check in e2fsck which requires EA's in inodes to be sorted; 758*6a54128fSAndroid Build Coastguard Workerthey don't need to be sorted, and e2fsck was previously wrongly 759*6a54128fSAndroid Build Coastguard Workerclearing unsorted EA's stored in the inode structure. 760*6a54128fSAndroid Build Coastguard Worker 761*6a54128fSAndroid Build Coastguard WorkerAllow mke2fs or tune2fs to create a substantially larger journal (up 762*6a54128fSAndroid Build Coastguard Workerto 10,240,000 blocks). 763*6a54128fSAndroid Build Coastguard Worker 764*6a54128fSAndroid Build Coastguard WorkerFix MD superblock detection, and make sure the correct UUID is 765*6a54128fSAndroid Build Coastguard Workerreported from the MD superblock. 766*6a54128fSAndroid Build Coastguard Worker 767*6a54128fSAndroid Build Coastguard WorkerFix a signed vs. unsigned bug in debugfs. 768*6a54128fSAndroid Build Coastguard Worker 769*6a54128fSAndroid Build Coastguard WorkerEnhance debugfs's date parser so that it accepts integer values. 770*6a54128fSAndroid Build Coastguard Worker 771*6a54128fSAndroid Build Coastguard WorkerFix e2fsck's pass1c accounting so it doesn't terminate too early if a 772*6a54128fSAndroid Build Coastguard Workerfile with multiply claimed blocks is hard linked. or not at all if the 773*6a54128fSAndroid Build Coastguard Workerroot directory contains shared blocks 774*6a54128fSAndroid Build Coastguard Worker 775*6a54128fSAndroid Build Coastguard WorkerEnhance debugfs so it can modify the block group descriptors using the 776*6a54128fSAndroid Build Coastguard Workercommand set_block_group_descriptor. 777*6a54128fSAndroid Build Coastguard Worker 778*6a54128fSAndroid Build Coastguard WorkerImprove e2fsck's reporting of I/O errors so it's clearer what it was 779*6a54128fSAndroid Build Coastguard Workertrying to do when an error happens 780*6a54128fSAndroid Build Coastguard Worker 781*6a54128fSAndroid Build Coastguard WorkerFix a bug in in how e2fsprogs byte swaps inodes containing fast 782*6a54128fSAndroid Build Coastguard Workersymlinks that have extended attributes. (Addresses Red Hat Bugzilla: 783*6a54128fSAndroid Build Coastguard Worker#232663 and LTC Bugzilla: #27634) 784*6a54128fSAndroid Build Coastguard Worker 785*6a54128fSAndroid Build Coastguard WorkerFix potential file descriptor leak in ext2fs_get_device_size() in an 786*6a54128fSAndroid Build Coastguard Workererror case. 787*6a54128fSAndroid Build Coastguard Worker 788*6a54128fSAndroid Build Coastguard WorkerAdd libreadline.so.5 support to libss. 789*6a54128fSAndroid Build Coastguard Worker 790*6a54128fSAndroid Build Coastguard WorkerImprove badblocks -n/-w exclusive usage message. 791*6a54128fSAndroid Build Coastguard Worker 792*6a54128fSAndroid Build Coastguard WorkerFix dump_unused segfault in debugfs when a filesystem is not open 793*6a54128fSAndroid Build Coastguard Worker 794*6a54128fSAndroid Build Coastguard WorkerFix memory leak in blkid library. (Addresses Debian Bug: #413661) 795*6a54128fSAndroid Build Coastguard Worker 796*6a54128fSAndroid Build Coastguard WorkerAllow the debugfs lcd command to work w/o a filesystem being open. 797*6a54128fSAndroid Build Coastguard Worker(Addresses LTC Bugzilla #27513) 798*6a54128fSAndroid Build Coastguard Worker 799*6a54128fSAndroid Build Coastguard WorkerFix e2fsck to clear i_size for special devices with a bogus i_blocks 800*6a54128fSAndroid Build Coastguard Workerfield on the first pass. 801*6a54128fSAndroid Build Coastguard Worker 802*6a54128fSAndroid Build Coastguard WorkerFix e2fsck to set the file type of the '..' entry when connecting 803*6a54128fSAndroid Build Coastguard Workera directory to lost+found. (Addresses Lustre Bug: #11645) 804*6a54128fSAndroid Build Coastguard Worker 805*6a54128fSAndroid Build Coastguard WorkerEnhance e2fsck to recover directories whose modes field were corrupted 806*6a54128fSAndroid Build Coastguard Workerto look like special files. This is probably only useful in 807*6a54128fSAndroid Build Coastguard Workerartificial test cases, but it will be useful if we ever do the "inodes 808*6a54128fSAndroid Build Coastguard Workerin directory" idea for ext4. 809*6a54128fSAndroid Build Coastguard Worker 810*6a54128fSAndroid Build Coastguard WorkerAllow debugfs to dump (and rdump) > 2GB files. (Addresses Debian Bug: 811*6a54128fSAndroid Build Coastguard Worker#412614) 812*6a54128fSAndroid Build Coastguard Worker 813*6a54128fSAndroid Build Coastguard WorkerFix resize2fs parsing of size parameter (in sector units). This was 814*6a54128fSAndroid Build Coastguard Workeractually a bug in libe2p's parse_num_blocks() function. When handling 815*6a54128fSAndroid Build Coastguard Workerthe 's' suffix, it was ignoring the blocksize information passed in 816*6a54128fSAndroid Build Coastguard Workerfrom the caller and always interpreting the number in terms of a 1k 817*6a54128fSAndroid Build Coastguard Workerblocksize. (Addresses Debian Bug: #408298) 818*6a54128fSAndroid Build Coastguard Worker 819*6a54128fSAndroid Build Coastguard WorkerThere was a floating point precision error which could cause e2fsck to 820*6a54128fSAndroid Build Coastguard Workerloop forever on really big filesystems with a large inode count. 821*6a54128fSAndroid Build Coastguard Worker(Addresses Debian Bug: #411838) 822*6a54128fSAndroid Build Coastguard Worker 823*6a54128fSAndroid Build Coastguard WorkerFix memory leak in ext2fs_write_new_inode() 824*6a54128fSAndroid Build Coastguard Worker 825*6a54128fSAndroid Build Coastguard WorkerAdd support for using a scratch files directory to reduce e2fsck's 826*6a54128fSAndroid Build Coastguard Workermemory utilization on really big filesystems. This uses the TDB 827*6a54128fSAndroid Build Coastguard Workerlibrary. See the [scratch_files] section of the e2fsck.conf man page 828*6a54128fSAndroid Build Coastguard Workerfor more details. 829*6a54128fSAndroid Build Coastguard Worker 830*6a54128fSAndroid Build Coastguard WorkerFixed type-punning bug which caused dumpe2fs to crash on the Arm 831*6a54128fSAndroid Build Coastguard Workerplatform (Addresses Debian Bug: #397044) 832*6a54128fSAndroid Build Coastguard Worker 833*6a54128fSAndroid Build Coastguard WorkerAdd explanatory message to badblocks that -n and -w are mutually exclusive 834*6a54128fSAndroid Build Coastguard Worker(Addresses Debian Bug: #371869) 835*6a54128fSAndroid Build Coastguard Worker 836*6a54128fSAndroid Build Coastguard WorkerAllow debugfs and dumpe2fs to support fs features under development. 837*6a54128fSAndroid Build Coastguard Worker 838*6a54128fSAndroid Build Coastguard WorkerAdd support for the new flag EXT2_FLAG_SOFTSUPP_FEATURES flag to 839*6a54128fSAndroid Build Coastguard Workerext2fs_open() , which allows application to open filesystems with features 840*6a54128fSAndroid Build Coastguard Workerwhich are currently only partially supported by e2fsprogs. 841*6a54128fSAndroid Build Coastguard Worker 842*6a54128fSAndroid Build Coastguard WorkerAllow unix_io to support offsets greater than 2G (Addresses 843*6a54128fSAndroid Build Coastguard WorkerSourceForge Bug: #1547922) 844*6a54128fSAndroid Build Coastguard Worker 845*6a54128fSAndroid Build Coastguard WorkerFixed overflow and signed/unsigned problems caused by the number of 846*6a54128fSAndroid Build Coastguard Workerblocks or inodes exceeding 2**31 or being close to 2**32-1. 847*6a54128fSAndroid Build Coastguard Worker 848*6a54128fSAndroid Build Coastguard WorkerAdd support for unsigned directory hash calculations with hints in the 849*6a54128fSAndroid Build Coastguard Workersuperblock to fix cross-architectural portability for htree 850*6a54128fSAndroid Build Coastguard Workerdirectories with filenames where the high 8th bit is set. (Addresses 851*6a54128fSAndroid Build Coastguard WorkerDebian: #389772) 852*6a54128fSAndroid Build Coastguard Worker 853*6a54128fSAndroid Build Coastguard WorkerFix resize2fs so that it gives user-intelligible error messages if the 854*6a54128fSAndroid Build Coastguard Workerfilesystem or the kernel does not support on-line resizing. 855*6a54128fSAndroid Build Coastguard Worker(Addresses Debian Bug: #380548) 856*6a54128fSAndroid Build Coastguard Worker 857*6a54128fSAndroid Build Coastguard WorkerRequire mke2fs -F -F for really dangerous operations, since -F is 858*6a54128fSAndroid Build Coastguard Workerneeded for less dangerous operations such as creating filesystems 859*6a54128fSAndroid Build Coastguard Workerimages in regular files, or creating filesystems on whole block 860*6a54128fSAndroid Build Coastguard Workerdevices. These relatively innocuous usages should NOT be confused 861*6a54128fSAndroid Build Coastguard Workerwith running mke2fs on an apparently-mounted or in-use filesystem. 862*6a54128fSAndroid Build Coastguard Worker 863*6a54128fSAndroid Build Coastguard WorkerAllow the default inode size to be specified into the mke2fs.conf 864*6a54128fSAndroid Build Coastguard Workerfile. 865*6a54128fSAndroid Build Coastguard Worker 866*6a54128fSAndroid Build Coastguard WorkerMake the smallest default journal size is big enough so that on-line 867*6a54128fSAndroid Build Coastguard Workerresizing should always work. 868*6a54128fSAndroid Build Coastguard Worker 869*6a54128fSAndroid Build Coastguard WorkerFix silly spelling error in e2fsck. (Addresses SourceForge bug: 870*6a54128fSAndroid Build Coastguard Worker#1531372) 871*6a54128fSAndroid Build Coastguard Worker 872*6a54128fSAndroid Build Coastguard WorkerFix debugfs coredump when lsdel is run without an open filesystem 873*6a54128fSAndroid Build Coastguard Worker(Addresses Debian Bug: #378335) 874*6a54128fSAndroid Build Coastguard Worker 875*6a54128fSAndroid Build Coastguard WorkerFix debugfs display bug us that bytes that have the high bit set are 876*6a54128fSAndroid Build Coastguard Workerdisplayed as "ec" instead of "ffffffec". 877*6a54128fSAndroid Build Coastguard Worker 878*6a54128fSAndroid Build Coastguard WorkerAdd support in lsattr so it will display the EXT4_EXTENTS_FL flag. 879*6a54128fSAndroid Build Coastguard Worker 880*6a54128fSAndroid Build Coastguard WorkerDevice mapper scanning wasn't working in the blkid library because the 881*6a54128fSAndroid Build Coastguard Workerpathnames had an extra "/dev" when they were being probed. 882*6a54128fSAndroid Build Coastguard Worker 883*6a54128fSAndroid Build Coastguard WorkerAdd GFS/GFS2 support to the blkid library. 884*6a54128fSAndroid Build Coastguard Worker 885*6a54128fSAndroid Build Coastguard WorkerFix blkid support of empty FAT filesystem labels. 886*6a54128fSAndroid Build Coastguard Worker 887*6a54128fSAndroid Build Coastguard WorkerAvoid recursing forever (or for a long time) when the blkid library 888*6a54128fSAndroid Build Coastguard Workersearches for a device and there are symlinks to directories in /dev. 889*6a54128fSAndroid Build Coastguard Worker 890*6a54128fSAndroid Build Coastguard WorkerAvoid unaligned halfword access in blkid when accessing FAT 891*6a54128fSAndroid Build Coastguard Workersuperblocks, as this will cause Sparc/Solaris systems to throw a 892*6a54128fSAndroid Build Coastguard WorkerSIGBUS error. 893*6a54128fSAndroid Build Coastguard Worker 894*6a54128fSAndroid Build Coastguard WorkerThe latest devmapper libraries requires pthreads, add -lpthreads to 895*6a54128fSAndroid Build Coastguard Workerthe static link libraries for e2fsck.static if devmapper is enabled. 896*6a54128fSAndroid Build Coastguard Worker(Addresses Debian bug: #388718) 897*6a54128fSAndroid Build Coastguard Worker 898*6a54128fSAndroid Build Coastguard WorkerImprove the (non-installed, for experts only) findsuper program by 899*6a54128fSAndroid Build Coastguard Workerprinting the uuid and label from the superblocks, as well as the 900*6a54128fSAndroid Build Coastguard Workerstarting and ending offsets of the filesystem given the information in 901*6a54128fSAndroid Build Coastguard Workerthe superblock. Omit by default printing superblocks that are likely 902*6a54128fSAndroid Build Coastguard Workerfound in located in an ext3 journal unless an explicit -j option is 903*6a54128fSAndroid Build Coastguard Workergiven. 904*6a54128fSAndroid Build Coastguard Worker 905*6a54128fSAndroid Build Coastguard WorkerUpdated Spanish, French and Dutch translations and added Catalan 906*6a54128fSAndroid Build Coastguard Workertranslation. (Addresses Debian bug: #411562) 907*6a54128fSAndroid Build Coastguard Worker 908*6a54128fSAndroid Build Coastguard WorkerUse FreeBSD's DIOCGMEDIASIZE and DIOCGDINFO ioctls if available when 909*6a54128fSAndroid Build Coastguard Workerdetermining a partition's size, since binary searching to determine 910*6a54128fSAndroid Build Coastguard Workerthe device doesn't work on FreeBSD. 911*6a54128fSAndroid Build Coastguard Worker 912*6a54128fSAndroid Build Coastguard WorkerDocumentation about UUID's is available in enough places, and it's 913*6a54128fSAndroid Build Coastguard Workerawkward to deal with debian-legal's insanities. So I'm caving in the 914*6a54128fSAndroid Build Coastguard Worker"more-lunatic-than-RMS" wing of Debian by removing RFC-4122 so we 915*6a54128fSAndroid Build Coastguard Workerdon't have do the dfsg tarball. Also remove the rule that only tried 916*6a54128fSAndroid Build Coastguard Workerto install RFC-4122 on Ubuntu, since Ubuntu seems to want to fetch 917*6a54128fSAndroid Build Coastguard Workere2fsprogs exclusively from Debian. (Addresses Debian Bug: #407107) 918*6a54128fSAndroid Build Coastguard Worker 919*6a54128fSAndroid Build Coastguard WorkerFix the info-dir line so that the menu name does not contain a .info 920*6a54128fSAndroid Build Coastguard Workerprefix. First of all, it's ugly, secondly, it causes the install-info 921*6a54128fSAndroid Build Coastguard Workercommand to fail to remove the com_err info file from the 922*6a54128fSAndroid Build Coastguard Worker/usr/share/info/dir file when the comerr-dev package is removed and 923*6a54128fSAndroid Build Coastguard Workerpurged. (Addresses Debian Bug: #401711) 924*6a54128fSAndroid Build Coastguard Worker 925*6a54128fSAndroid Build Coastguard WorkerFixed spelling mistakes, typos, and otherwise clarified man pages. 926*6a54128fSAndroid Build Coastguard Worker(Addresses Debian Bug: #369761, #373004, #379695) 927*6a54128fSAndroid Build Coastguard Worker 928*6a54128fSAndroid Build Coastguard WorkerFixed various Debian packaging issues --- see debian/changelog for 929*6a54128fSAndroid Build Coastguard Workerdetails. (Addresses Debian Bugs #389554, #390664, #413208, #419605, 930*6a54128fSAndroid Build Coastguard Worker#408352, #415560, #399155) 931*6a54128fSAndroid Build Coastguard Worker 932*6a54128fSAndroid Build Coastguard Worker 933*6a54128fSAndroid Build Coastguard WorkerProgrammer's notes: 934*6a54128fSAndroid Build Coastguard Worker------------------- 935*6a54128fSAndroid Build Coastguard Worker 936*6a54128fSAndroid Build Coastguard WorkerE2fsck now supports the %It expansion when printing a problem report. 937*6a54128fSAndroid Build Coastguard WorkerIt will print the type of the inode in the problem context. 938*6a54128fSAndroid Build Coastguard Worker 939*6a54128fSAndroid Build Coastguard WorkerFix misc/Makefile.in so that it builds even if e2fsck hasn't been built yet 940*6a54128fSAndroid Build Coastguard Worker(Addresses Sourceforge Bug: #1565561) 941*6a54128fSAndroid Build Coastguard Worker 942*6a54128fSAndroid Build Coastguard WorkerRemove unused variables and other lint/gcc -Wall cleanups 943*6a54128fSAndroid Build Coastguard Worker 944*6a54128fSAndroid Build Coastguard WorkerAdd check to ext2fs_get_device_size() so it will return EFBIG for for 945*6a54128fSAndroid Build Coastguard Workerfilesystems contained in regular files where the filesystem image size 946*6a54128fSAndroid Build Coastguard Workeris returned by stat64(). 947*6a54128fSAndroid Build Coastguard Worker 948*6a54128fSAndroid Build Coastguard WorkerSet local environment variables to C so mk_cmds and compile_et always 949*6a54128fSAndroid Build Coastguard Workerwork. (Addresses SourceForge Bug: #1532177) 950*6a54128fSAndroid Build Coastguard Worker 951*6a54128fSAndroid Build Coastguard WorkerAdded the 64-bit byte swapping function ext2fs_swab64(). 952*6a54128fSAndroid Build Coastguard Worker 953*6a54128fSAndroid Build Coastguard WorkerAdded two new helper functions to prevent 2**31/2**32-1 overflow 954*6a54128fSAndroid Build Coastguard Workerproblems: ext2fs_div_ceil() and e2p_percent(). 955*6a54128fSAndroid Build Coastguard Worker 956*6a54128fSAndroid Build Coastguard WorkerCreate new ext2fs library inline functions ext2fs_group_first_block() 957*6a54128fSAndroid Build Coastguard Workerand ext2fs_group_last_block() in order to calculate the starting and 958*6a54128fSAndroid Build Coastguard Workerending blocks in a block group. 959*6a54128fSAndroid Build Coastguard Worker 960*6a54128fSAndroid Build Coastguard WorkerCreate the generated files read-only to remind developers not to edit them. 961*6a54128fSAndroid Build Coastguard Worker 962*6a54128fSAndroid Build Coastguard WorkerAdd support for autoconf 2.60 (with backwards compatibility for older 963*6a54128fSAndroid Build Coastguard Workerversions of autoconf). 964*6a54128fSAndroid Build Coastguard Worker 965*6a54128fSAndroid Build Coastguard WorkerAdded an "make rpm" target to top-level Makefile 966*6a54128fSAndroid Build Coastguard Worker 967*6a54128fSAndroid Build Coastguard WorkerAdded various FreeBSD portability fixes. 968*6a54128fSAndroid Build Coastguard Worker 969*6a54128fSAndroid Build Coastguard WorkerExclude mercurial files from the RPM build tree to speed up copy/build. 970*6a54128fSAndroid Build Coastguard Worker 971*6a54128fSAndroid Build Coastguard WorkerUse root_sysconfdir to define the locations of mke2fs.conf and 972*6a54128fSAndroid Build Coastguard Workere2fsck.conf instead of using a hard-coded /etc pathname. 973*6a54128fSAndroid Build Coastguard Worker 974*6a54128fSAndroid Build Coastguard WorkerPrevent e2fsck.h and ext2_ext_attr.h from getting included multiple times. 975*6a54128fSAndroid Build Coastguard Worker 976*6a54128fSAndroid Build Coastguard WorkerFixed "make clean" in blkid's Makefile.in file from removing tst_*.c files. 977*6a54128fSAndroid Build Coastguard Worker 978*6a54128fSAndroid Build Coastguard WorkerIf diff -u is supported, use it to report test failures. 979*6a54128fSAndroid Build Coastguard Worker 980*6a54128fSAndroid Build Coastguard WorkerUpdates/improvements to RPM spec file 981*6a54128fSAndroid Build Coastguard Worker 982*6a54128fSAndroid Build Coastguard WorkerAdd on-disk format definitions for the following new features: 983*6a54128fSAndroid Build Coastguard WorkerEXT4_FEATURE_RO_COMPAT_HUGE_FILE, EXT4_FEATURE_RO_COMPAT_GDT_CSUM, 984*6a54128fSAndroid Build Coastguard WorkerEXT4_FEATURE_RO_COMPAT_DIR_NLINK, EXT4_FEATURE_INCOMPAT_64BIT, 985*6a54128fSAndroid Build Coastguard WorkerEXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE 986*6a54128fSAndroid Build Coastguard Worker 987*6a54128fSAndroid Build Coastguard WorkerAdd a new make target "checked-failed" in the tests directory which 988*6a54128fSAndroid Build Coastguard Workerreruns any failed tests 989*6a54128fSAndroid Build Coastguard Worker 990*6a54128fSAndroid Build Coastguard WorkerUpdate draft-leach-uuids-guids-01.txt with rfc4122.txt 991*6a54128fSAndroid Build Coastguard Worker 992*6a54128fSAndroid Build Coastguard WorkerFix miscellaneous bugs reported by Coverity: Dead code, potential nul 993*6a54128fSAndroid Build Coastguard Workerpointer dereferences, memory leaks, etc. None were security-critical 994*6a54128fSAndroid Build Coastguard Workerproblems. 995*6a54128fSAndroid Build Coastguard Worker 996*6a54128fSAndroid Build Coastguard WorkerFix up usage and decrement error messages in the test_icount program 997*6a54128fSAndroid Build Coastguard Worker 998*6a54128fSAndroid Build Coastguard WorkerAdd debugging code to the com_err library; if the environment variable 999*6a54128fSAndroid Build Coastguard WorkerCOMERR_DEBUG is set to 1, print out debugging messages as error tables 1000*6a54128fSAndroid Build Coastguard Workerare added and removed from the com_err library. If the 1001*6a54128fSAndroid Build Coastguard WorkerCOMERR_DEBUG_FILE environment variable is set (and the process is not 1002*6a54128fSAndroid Build Coastguard Workersetuid) the debugging messages may be redirected to a file. 1003*6a54128fSAndroid Build Coastguard Worker 1004*6a54128fSAndroid Build Coastguard WorkerChange all of the e2fsprogs programs to use the newer add_error_table() 1005*6a54128fSAndroid Build Coastguard Workerand remove_error_table() interfaces instead of the much older 1006*6a54128fSAndroid Build Coastguard Workerinitialize_*_error_table() function. 1007*6a54128fSAndroid Build Coastguard Worker 1008*6a54128fSAndroid Build Coastguard WorkerAdd TDB support into the ext2fs library. This allows us to have a 1009*6a54128fSAndroid Build Coastguard Workerguaranteed library we can count on always being present so we can 1010*6a54128fSAndroid Build Coastguard Workerstore data in an on-disk database. 1011*6a54128fSAndroid Build Coastguard Worker 1012*6a54128fSAndroid Build Coastguard WorkerAdd support for using TDB to store the icount data, so we don't run out 1013*6a54128fSAndroid Build Coastguard Workerof memory when checking really large filesystems. 1014*6a54128fSAndroid Build Coastguard Worker 1015*6a54128fSAndroid Build Coastguard WorkerChange the regression test suite so that it skips empty test directories. 1016*6a54128fSAndroid Build Coastguard Worker 1017*6a54128fSAndroid Build Coastguard WorkerDefine the l_i_iversion field in ext2_inode. The l_i_version field is 1018*6a54128fSAndroid Build Coastguard Workernow defined from the old l_i_reserved1 field in the ext2 inode. This 1019*6a54128fSAndroid Build Coastguard Workerfield will be used to store high 32 bits of the 64-bit inode version 1020*6a54128fSAndroid Build Coastguard Workernumber. 1021*6a54128fSAndroid Build Coastguard Worker 1022*6a54128fSAndroid Build Coastguard WorkerAdd Makefile production rule for e2fsprogs.spec in case it gets 1023*6a54128fSAndroid Build Coastguard Workerdeleted. 1024*6a54128fSAndroid Build Coastguard Worker 1025*6a54128fSAndroid Build Coastguard WorkerAdd new function profile_get_uint() to allow for a clean way to fetch 1026*6a54128fSAndroid Build Coastguard Workerunsigned integers from the context. 1027*6a54128fSAndroid Build Coastguard Worker 1028*6a54128fSAndroid Build Coastguard WorkerAdd test to make sure the ext2 superblock structure is 1024 bytes. 1029*6a54128fSAndroid Build Coastguard Worker 1030*6a54128fSAndroid Build Coastguard WorkerFix typo in name of f_dup4 regression test 1031*6a54128fSAndroid Build Coastguard Worker 1032*6a54128fSAndroid Build Coastguard WorkerAdd new function blkid_gc_cache() which performs a garbage collection 1033*6a54128fSAndroid Build Coastguard Workerpass on the /etc/blkid.tab file. 1034*6a54128fSAndroid Build Coastguard Worker 1035*6a54128fSAndroid Build Coastguard WorkerThe ext2fs_open() function now sets EXT2_FLAG_MASTER_SB_ONLY. In 1036*6a54128fSAndroid Build Coastguard Workergeneral, only e2fsck (after the filesystem is clean), tune2fs, and 1037*6a54128fSAndroid Build Coastguard Workerresize2fs should change the backup superblocks by default. Most 1038*6a54128fSAndroid Build Coastguard Workercallers of ext2fs_open() should not be touching any superblock fields 1039*6a54128fSAndroid Build Coastguard Workerwhich require the backups to be touched. 1040*6a54128fSAndroid Build Coastguard Worker 1041*6a54128fSAndroid Build Coastguard WorkerAdd new function to libext2fs, ext2fs_default_journal_size(), which 1042*6a54128fSAndroid Build Coastguard Workerreturns the default journal size. 1043*6a54128fSAndroid Build Coastguard Worker 1044