aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* tune2fs: zero inode table when removing checksumsnextDarrick J. Wong2013-09-161-13/+100
| | | | | | | | | | | | | | When disabling group checksums, we have to initialize the inode table. Right now tune2fs doesn't do this; it merely punts to e2fsck to clean up the mess. Unfortunately, if the "uninitialized" inode table contains things that look like inodes (i_link_count > 0, specifically), the e2fsck tries to recover these inodes. This leads to it misinterpreting i_blocks as a block map, at which point it needlessly resurrects phantom inodes and crosslinked file repairs. As part of initializing the block bitmaps, we must also mark block group metadata blocks in use. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
* e2fsck: fix incorrect bbitmap checksum failure caused by integer overflowDarrick J. Wong2013-09-161-1/+1
| | | | | | | | | | | On a filesystem with more than 2^32 blocks, the block group checksum test will fail because "i" (the group number) is a 32-bit quantity that is used to calculate the group's block bitmap block number. Unfortunately, "i" is not automatically promoted to 64-bit for this calculation and overflows. When this happens, e2fsck will incorrectly report bitmap checksum errors. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
* Merge branch 'maint' into nextTheodore Ts'o2013-09-0920-30/+172
|\
| * e2fsck: don't report uninit extents past EOF invalidEric Whitney2013-09-091-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit d3f32c2db8 introduced a regression that caused e2fsck failures in xfstests generic 013, 070, 083, 091, and 263. Uninitialized extents created by fallocate() at the end of file with the FALLOC_FL_KEEP_SIZE flag were identified as invalid. However, because the file size is not increased when FALLOC_FL_KEEP_SIZE is used, uninitialized extents can correctly contain blocks located past the end of file. Fix this by filtering out possible invalid extents if they are uninitialized and extend past the block containing the end of file. Signed-off-by: Eric Whitney <enwlinux@gmail.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
| * libext2fs: fix a coding style for EXT2_NO_MTAB_FILEZheng Liu2013-09-092-2/+2
| | | | | | | | | | | | | | | | | | When we define an error in lib/ext2fs/ext2_err.et.in, we will always use EXT2_ET_* prefix for a new error. But EXT2_NO_MTAB_FILE doesn't obey this rule. So fix it. Signed-off-by: Zheng Liu <wenqing.lz@taobao.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
| * resize2fs: fix interior extent node corruptionEric Sandeen2013-09-091-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we have an extent tree like this (from debuge2fs's "ex" command): Level Entries Logical Physical Length Flags ... 2/ 2 60/ 63 13096 - 13117 650024 - 650045 22 2/ 2 61/ 63 13134 - 13142 650062 - 650070 9 2/ 2 62/ 63 13193 - 13194 650121 - 650122 2 2/ 2 63/ 63 13227 - 13227 650155 - 650155 1 A) 1/ 2 4/ 14 13228 - 17108 655367 3881 B) 2/ 2 1/117 13228 - 13251 650156 - 650179 24 C) 2/ 2 2/117 13275 - 13287 650203 - 650215 13 2/ 2 3/117 13348 - 13353 650276 - 650281 6 ... and we resize the fs in such a way that all of those blocks must be moved down, we do them one at a time. Eventually we move 1-block extent A) to a lower block, and then follow it with the other blocks in the next logical offsets from extent C) in the next interior node B). The userspace extent code tries to merge, so when it finds that logical 13228 can be merged with logical 13227 into a single extent, it does. And so on, all through extent C), up to block 13250 (why not 13251? [1]), and eventually move the node block as well. So we end up with this when all the blocks are moved post-resize: Level Entries Logical Physical Length Flags ... 2/ 2 120/122 13193 - 13193 33220 - 33220 1 2/ 2 121/122 13194 - 13194 33221 - 33221 1 2/ 2 122/122 13227 - 13250 33222 - 33245 24 D) 1/ 2 5/ 19 13228 - 17108 34676 3881 E) *** 2/ 2 1/222 13251 - 13251 33246 - 33246 1 F) 2/ 2 2/222 13275 - 13286 33247 - 33258 12 ... All those adjacent blocks got moved into extent D), which is nice - but the next interior node E) was never updated to reflect its new starting point - it says the leaf extents beneath it start at 13228, when in fact they start at 13251. So as we move blocks one by one out of original extent C) above, we need to keep updating C)'s parent node B) for a proper starting point. fix_parents() does this. Once the tree is corrupted like this, more corruption can ensue post-resize, because we traverse the tree by interior nodes, relying on their start block to know where we are in the tree. If it gets off, we'll end up inserting blocks into the wrong part of the tree, etc. I have a testcase using fsx to create a complex extent tree which is then moved during resize; it hit this corruption quite easily, and with this fix, it succeeds. Note the first hunk in the commit is for going the other way, moving the last block of an extent to the extent after it; this needs the same sort of fix-up, although I haven't seen it in practice. [1] We leave the last block because a single-block extent is its own case, and there is no merging code in that case. \o/ Signed-off-by: Eric Sandeen <sandeen@redhat.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
| * resize2fs: use blk64_t and location getters for free_gdp_blocks()Darrick J. Wong2013-09-091-21/+20
| | | | | | | | | | | | | | | | | | | | free_gdp_blocks needs to be taught to use 64-bit fields and the appropriate getters, otherwise it'll truncate high block numbers (when, say, resizing a >16T fs) and mark the low numbered group descriptor blocks as free. Yikes. Reported-by: Eric Sandeen <sandeen@redhat.com> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
| * libext2fs: ext2fs_dup_handle should not alias MMP buffersDarrick J. Wong2013-09-091-0/+25
| | | | | | | | | | | | | | | | | | | | | | It turns out that resize2fs uses ext2fs_dup_handle to duplicate fs handles. If MMP is enabled, this causes both handles to share MMP buffers, which is bad news when it comes time to free both handles. Change the code to (we hope) fix this. This prevents resize2fs from failing with a double-free error when handed a MMP filesystem. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
| * e2fsck: don't try to stop mmp if there is no superblock set upEric Sandeen2013-09-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Under some failure cases, we can get to fatal_error() without even having a superblock set up. In that case, ext2fs_mmp_stop() will segfault when it tries to dereference fs->super. Check for the existence of a superblock before we go down the ext2fs_mmp_stop() path to avoid this problem. Reported-by: Hubert Kario <hkario@redhat.com> Addresses-Red-Hat-Bugzilla: #997972 Signed-off-by: Eric Sandeen <sandeen@redhat.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
| * debian: remove old symlinks to /usr/share/docTheodore Ts'o2013-08-113-0/+47
| |\ | | | | | | | | | | | | | | | | | | | | | | | | (Merged in NMU'ed change for Debian-Bug: #698879) Merge commit '7dc67c0ad5daa7cbdf6d79a73bb34e04d55f7406' into maint Conflicts: debian/changelog
| | * debian: remove old symlinks to /usr/share/docTheodore Ts'o2013-08-113-0/+47
| | | | | | | | | | | | | | | | | | | | | | | | (From NMU'ed change) Addresses-Debian-Bug: #698879 Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
| * | debugfs: properly set up extent header in do_writeEric Sandeen2013-07-281-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | do_write doesn't fully set up the first extent header on a new inode, so if we write a 0-length file, and don't write any data to the new file, we end up creating something that looks corrupt to kernelspace: EXT4-fs error (device loop0): ext4_ext_check_inode:464: inode #12: comm ls: bad header/extent: invalid magic - magic 0, entries 0, max 0(0), depth 0(0) Do something similar to ext4_ext_tree_init() here, and fill out the first extent header upon creation to avoid this. Reported-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Eric Sandeen <sandeen@redhat.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> Tested-by: Robert Yang <liezhi.yang@windriver.com>
| * | e2fsck: correctly deallocate invalid extent-mapped symlinksTheodore Ts'o2013-07-285-2/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The function deallocate_inode() in e2fsck/pass2.c was buggy in that it would clear out the inode's mode and flags fields before trying to deallocate any blocks which might belong to the inode. The good news is that deallocate_inode() is mostly used to free inodes which do not have blocks: device inodes, FIFO's, Unix-domain sockets. The bad news is that if deallocate_inode() tried to free an invalid extent-mapped inode, it would try to interpret the root of the extent node as block numbers, and would therefore mark various file system metadata blocks (the superblock, block group descriptors, the root directory, etc.) as free and available for allocation. This was unfortunate. (Try running an older e2fsck against the test file system image in the new test f_invalid_extent_symlink, and then run e2fsck a second time on the fs image, and weep.) Fortunately, this kind of file system image corruption appears to be fairly rare in actual practice, since it would require a very unlucky set of bits to be flipped, or a buggy file system implementation. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
| * | e2fsck: check extent-mapped directories with really large logical blocksTheodore Ts'o2013-07-285-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | E2fsck was missing a check for directories with logical blocks so large that i_size > 2GB. Without this check the test image found in the new test f_toobig_extent_dir will cause e2fsck to die with a memory allocation failure: Error storing directory block information (inode=12, block=0, num=475218819): Memory allocation failed e2fsck: aborted Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> Reported-by: Andrey Melnikov <temnota.am@gmail.com>
* | | Update release notes and debian changelog file for 1.43-WIP snapshotTheodore Ts'o2013-07-083-3/+9
| | |
* | | Merge branch 'maint' into nextTheodore Ts'o2013-07-082-2/+11
|\| |
| * | libext2fs, tests: allow /etc/mtab file to be missingTheodore Ts'o2013-07-082-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The environment variable EXT2FS_NO_MTAB_OK will suppress the error code EXT2_NO_MTAB_FILE when the /etc/mtab file can not be found. This allows the e2fsprogs regression test suite to be run in chroots which might not have an /etc/mtab file. By default will still want to complain if the /etc/mtab file is missing, since we really don't want to discourage distributions and purveyors of embedded systems from running without an /etc/mtab file. But if it's missing it only results in a missing sanity check that might cause file system corruption if the file system is mounted when programs such as e2fsck, tune2fs, or resize2fs is running, so there is no potential security problems that might result if this environment variable is set inappropriately. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
* | | Merge branch 'maint' into nextTheodore Ts'o2013-06-207-11/+54
|\| | | | | | | | | | | | | | | | | Conflicts: RELEASE-NOTES version.h
| * | Update release notes, etc., for final 1.42.8 releaseTheodore Ts'o2013-06-204-4/+18
| | | | | | | | | | | | Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
| * | mke2fs: calculate journal blocks just after fs initializeAshish Sangwan2013-06-201-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We can calculate journal blocks as soon as blocksize is set. It will help to figure out wrong journal blocks count earlier. This will save some un-necessary initialization. Without patch output => mke2fs /dev/sdc1 -J size=1048576 mke2fs 1.42.7 (21-Jan-2013) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 61312 inodes, 244936 blocks 12246 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=251658240 8 block groups 32768 blocks per group, 32768 fragments per group 7664 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376 Allocating group tables: done Writing inode tables: done The requested journal size is 268435456 blocks; it must be between 1024 and 10240000 blocks. Aborting. With patch output => mke2fs /dev/sdc1 -J size=1048576 mke2fs 1.42.7 (21-Jan-2013) The requested journal size is 268435456 blocks; it must be between 1024 and 10240000 blocks. Aborting. Signed-off-by: Ashish Sangwan <a.sangwan@samsung.com> Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
| * | resize2fs: move bitmaps if shrinking would orphan themEric Sandeen2013-06-201-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is possible to have a flex_bg filesystem with block groups which have inode & block bitmaps at some point well past the start of the group. If an offline shrink puts the new size somewhere between the start of the block group and the (old) location of the bitmaps, they can be left beyond the end of the filesystem, i.e. result in fs corruption. Check each remaining block group for whether its bitmaps are beyond the end of the new filesystem, and reallocate them in a new location if needed. Signed-off-by: Eric Sandeen <sandeen@redhat.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
| * | Use ext2fs_cpu_to_be32() instead of cpu_to_be32() in kernel-jbd.hTheodore Ts'o2013-06-161-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Avoid compatibility problems by using the byte swapping functions defined by e2fsprogs, instead of the ones defined in the system header files. We use them everywhere else, so we should use them in kernel-jbd.h too. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
* | | Merge branch 'maint' into nextTheodore Ts'o2013-06-1659-661/+901
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: RELEASE-NOTES e2fsck/Makefile.in lib/config.h.in version.h
| * | Update Release Notes, Changelogs, version.h, for 1.42.8 releaseTheodore Ts'o2013-06-169-398/+531
| | | | | | | | | | | | Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
| * | Work around Debian Bug #712530Theodore Ts'o2013-06-166-2/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add a test to see if the backtrace() function requires linking in a library in /usr/lib. Addresses-Debian-Bug: #708307 Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
| * | Try to use secure_getenv() in preference to __secure_getenv()Theodore Ts'o2013-06-167-5/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | If secure_getenv() use it in preference to __secure_getenv(). Starting with (e)glibc version 2.17, secure_getenv() exists, while __secure_getenv() only works with shared library links (where it is a weak symbol), but not for static links with /lib/libc.a Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
| * | mke2fs: don't set root dir UID/GID automaticallyAndreas Dilger2013-06-154-9/+114
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't change the root directory's UID/GID automatically just because mke2fs was run as a non-root user. This can be confusing for users, and is not flexible for non-root installation tools that need to create a filesystem with different ownership from the current user. Add the "-E root_owner[=uid:gid]" option to mke2fs so that the user and group can be explicitly specified for the root directory. If the "=uid:gid" argument is not specified, the current UID and GID are extracted from the running process, as was done in the past. Signed-off-by: Andreas Dilger <adilger@dilger.ca> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
| * | mke2fs: clarify mke2fs and mke2fs.conf man pagesTheodore Ts'o2013-06-152-4/+4
| | | | | | | | | | | | | | | | | | | | | Addresses-Debian-Bug: #712429 Addresses-Debian-Bug: #712430 Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
| * | e2image: fix crash when using e2image -I with a 64-bit file systemTheodore Ts'o2013-06-151-1/+1
| | | | | | | | | | | | | | | | | | Addresses-Debian-Bug: #703067 Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
| * | mke2fs: sort option parsing, deprecate "-R"Andreas Dilger2013-06-152-40/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A minor cleanup to order the command-line option parsing in alphabetical order, except for "-E" and "-R", which need to be co-located. Print a message that the "-R" option is deprecated. It has been deprecated since 2005 (commit c6a44136b9b). Signed-off-by: Andreas Dilger <adilger@dilger.ca> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
| * | tests: clean up sed filtering of test outputAndreas Dilger2013-06-1530-113/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The sed filters for test outputs that are used to remove build and test specific information (such as version strings, dates, times, UUIDs) were unconditionally deleting the first line of output. This would normally contain the tool version string, but in some cases contained other information that was being lost. This can lead to difficulty debugging test failures. The sed filtering has been changed to only remove the actual version strings. As well, similar filter strings were duplicated throughout many scripts, and "sed" and "tr" were often called multiple times in a pipeline. These have been consolidated into a single filter.sed file to avoid having to maintain these filters in multiple places. In a few cases, accidentally deleted messages have been restored to the expect output for the tests. In other cases, trivial whitespace has been changed in the expect files. Signed-off-by: Andreas Dilger <adilger@dilger.ca> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
| * | libext2fs: optimize ext2fs_bg_has_super()Theodore Ts'o2013-06-152-10/+11
| | | | | | | | | | | | | | | | | | | | | Reduce the CPU time needed when checking whether a block group has a sparse superblock. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
| * | libext2fs: remove lib/ext2fs/sparse.cTheodore Ts'o2013-06-151-79/+0
| | | | | | | | | | | | | | | | | | | | | | | | This file was never getting compiled, and there is no user of ext2fs_list_backups() in the e2fsprogs sources. So remove it as a clean up. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
* | | libext2fs: provide functions to safely access name_len and file_typeJan Kara2013-06-0821-101/+145
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Accessing name_len (and file_type) in ext4_dir_entry structure is somewhat problematic because on big endian architecture we need to now whether we are really dealing with ext4_dir_entry (which has u16 name_len which needs byte swapping) or ext4_dir_entry_2 (which has u8 name_len which must not be byte swapped). Currently the code is somewhat surprising and name_len is always treated as u16 and byte swapped (flag EXT2_DIRBLOCK_V2_STRUCT isn't ever used) and then masking of name_len is used to access real name_len or file_type. Doing things this way in applications using libext2fs is unexpected to say the least (more natural is to type struct ext4_dir_entry * to struct ext4_dir_entry_2 * but that gives wrong results on big endian architectures. So provide helper functions that give endian-safe access to these fields. Also convert users in e2fsprogs to use these functions. Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
* | | e2fsck: fix journal block tag checksum verificationDarrick J. Wong2013-06-081-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Al Viro complained of a ton of bogosity with regards to the jbd2 block tag header checksum. This one checksum is 16 bits, so cut off the upper 16 bits and treat it as a 16-bit value and don't mess around with be32* conversions. Fortunately metadata checksumming is still "experimental" and not in a shipping e2fsprogs, so there should be few users affected by this. This is the e2fsprogs version of the kernel patch. Reported-by: Al Viro <viro@ZenIV.linux.org.uk> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
* | | Merge branch 'maint'Theodore Ts'o2013-06-086-8/+91
|\| |
| * | tests: add new test f_extent_ooboundsTheodore Ts'o2013-06-063-0/+73
| | | | | | | | | | | | | | | | | | | | | | | | This tests creates a file system where the last entry in one leaf block overlaps with logical block range in the first entry of the next leaf block. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
| * | e2fsck: detect invalid extents at the end of an extent-blockDavid Jeffery2013-06-063-8/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e2fsck does not detect extents which are outside their location in the extent tree. This can result in a bad extent at the end of an extent-block not being detected. From a part of a dump_extents output: 1/ 2 37/ 68 143960 - 146679 123826181 2720 2/ 2 1/ 2 143960 - 146679 123785816 - 123788535 2720 2/ 2 2/ 2 146680 - 147583 123788536 - 123789439 904 Uninit <-bad extent 1/ 2 38/ 68 146680 - 149391 123826182 2712 2/ 2 1/ 2 146680 - 147583 18486 - 19389 904 2/ 2 2/ 2 147584 - 149391 123789440 - 123791247 1808 e2fsck does not detect this bad extent which both overlaps another, valid extent, and is invalid by being beyond the end of the extent above it in the tree. This patch modifies e2fsck to detect this invalid extent and remove it. Signed-off-by: David Jeffery <djeffery@redhat.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu> Reviewed-by: Eric Sandeen <sandeen@redhat.com>
* | | misc: fix gcc -Wall nitsTheodore Ts'o2013-05-202-6/+6
| | | | | | | | | | | | | | | | | | [For 1.43 branch] Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
* | | e2fsck: fix gcc -Wall nitsTheodore Ts'o2013-05-204-17/+13
| | | | | | | | | | | | | | | | | | [For 1.43 branch] Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
* | | libext2fs: fix gcc -Wall nitsTheodore Ts'o2013-05-194-15/+21
| | | | | | | | | | | | Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
* | | Merge branch 'maint' into nextTheodore Ts'o2013-05-1927-137/+149
|\| | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: e2fsck/pass1b.c e2fsck/rehash.c lib/ext2fs/crc32c.c lib/ext2fs/gen_bitmap64.c misc/tune2fs.c
| * | e2fsck: fix gcc -Wall nitsTheodore Ts'o2013-05-199-41/+46
| | | | | | | | | | | | | | | | | | | | | Perhaps the most serious fix up is a type-punning warning which could result in miscompilation with overly enthusiastic compilers. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
| * | misc: fix gcc -Wall warningsTheodore Ts'o2013-05-197-52/+52
| | | | | | | | | | | | Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
| * | libext2fs: fix gcc -Wall warningsTheodore Ts'o2013-05-1912-46/+54
| | | | | | | | | | | | | | | | | | Primarily signed vs unsigned and const warnings. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
* | | Merge branch 'maint' into nextTheodore Ts'o2013-05-168-5/+61
|\| |
| * | chattr: clarify that the compression flags are not supported by ext4Theodore Ts'o2013-05-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... or indeed by any mainline kernel, since the compression patches were never stablized. Addresses-Debian-Bug: #707609 Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> Reported-by: "Creidieki M. Crouch" <creidieki@gmail.com>
| * | e2fsck: don't use IO_FLAG_EXCLUSIVE for read-only root file systemsTheodore Ts'o2013-05-041-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When opening the external journal, use the same logic to decide whether or not to open the file system with EXT2_FLAG_EXCLUSIVE found in main(). Otherwise, it's not posible to use e2fsck when the root file system is using an external journal. Reported-by: Calvin Owens <jcalvinowens@gmail.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
| * | configure: update configure script to be in sync with the configure.in fileTheodore Ts'o2013-05-041-0/+36
| | | | | | | | | | | | Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
| * | tests: add new test f_zero_xattrTheodore Ts'o2013-04-254-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | E2fsck previously was complaining with zero-length extended attributes if they appeared in the in-inode xattr space. Test to make sure e2fsck is now happy with such xattrs. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>