Whamcloud - gitweb
tools/e2fsprogs.git
15 years agoUpdate e2fsprogs translation template.
Theodore Ts'o [Tue, 27 Jan 2009 01:43:10 +0000 (20:43 -0500)]
Update e2fsprogs translation template.

15 years agoe2fsck: Add missing newlines when reporting errors in pass 3A
Theodore Ts'o [Mon, 26 Jan 2009 21:41:46 +0000 (16:41 -0500)]
e2fsck: Add missing newlines when reporting errors in pass 3A

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoe2fsck: Change PR_3_CREATE_LPF_ERROR to be a non-fatal problem
Theodore Ts'o [Thu, 22 Jan 2009 21:05:29 +0000 (16:05 -0500)]
e2fsck: Change PR_3_CREATE_LPF_ERROR to be a non-fatal problem

The other problem codes associated with failing to create the
lost+found directory are non-fatal, and this one should be non-fatal
as well.  The two places which call e2fsck_get_lost_and_found()
already deal with a failure to create the directory, so there's no
point making this be a fatal error.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agolibext2fs: Add sanity checks to ext2fs_{block,inode}_alloc_stats
Theodore Ts'o [Thu, 22 Jan 2009 21:01:38 +0000 (16:01 -0500)]
libext2fs: Add sanity checks to ext2fs_{block,inode}_alloc_stats

If ext2fs_inode_alloc_stats2() or ext2fs_block_alloc_stats() is passed
an insanely large inode or block number, it's possible for these
functions to overrun an array boundary and cause the calling program
to crash with a memory error.

Detect this case, and since these functions don't return an error
code, print a warning message, much like we do in ext2fs_warn_bitmap2().

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoext2fs_new_inode(): Add sanity check to assure a valid inode number
Theodore Ts'o [Thu, 22 Jan 2009 20:55:49 +0000 (15:55 -0500)]
ext2fs_new_inode(): Add sanity check to assure a valid inode number

Add a sanity check to makesure that even if the superblock field
s_first_inode is insane, that we won't return an invalid inode number.
(The function will return the error EXT2_ET_INODE_ALLOC_FAIL in that
case.)

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoe2fsck: Add superblock check to make sure s_first_ino is valid
Theodore Ts'o [Thu, 22 Jan 2009 20:52:50 +0000 (15:52 -0500)]
e2fsck: Add superblock check to make sure s_first_ino is valid

An deliberately corrupted filesystem with an insanely large
s_first_ino field could cause e2fsck to crash with a seg fault.

Thanks to Eric Sesterhenn for supplying test cases which demonstrated
this issue.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agomke2fs: If the device size is exactly 16TB treat it as if it had 16TB - 1 block
Theodore Ts'o [Tue, 20 Jan 2009 19:03:03 +0000 (14:03 -0500)]
mke2fs: If the device size is exactly 16TB treat it as if it had 16TB - 1 block

This allows users who create a 16TB LVM to have mke2fs do (mostly) the
right thing automatcally.

15 years agoext2fs_get_device_size: Fix error handling
Theodore Ts'o [Tue, 20 Jan 2009 18:37:47 +0000 (13:37 -0500)]
ext2fs_get_device_size: Fix error handling

The previous patch would return EFBIG for any failure called from
ext2fs_get_device_size2().  (I didn't merge this fix with the
preceeding commit to allow merges to happen more easily.)

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoAdd 64-bit getsize interface.
Jose R. Santos [Wed, 20 Aug 2008 17:34:07 +0000 (12:34 -0500)]
Add 64-bit getsize interface.

Added interface capable of opening 64-bit block device.

Signed-off-by: Jose R. Santos <jrs@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agomke2fs: Add -U option to specify the UUID for the new filesystem
Theodore Ts'o [Tue, 20 Jan 2009 18:18:23 +0000 (13:18 -0500)]
mke2fs: Add -U option to specify the UUID for the new filesystem

Patch integrated from Mandriva

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoUse format strings directly to prevent -Werror=format-security failures
Theodore Ts'o [Tue, 20 Jan 2009 18:05:25 +0000 (13:05 -0500)]
Use format strings directly to prevent -Werror=format-security failures

Gcc is too stupid to realize that:

    const char *usage="String which has no percent signs";

    com_err(progname, 0, usage);

is OK.  I refuse to bow to stupidity with:

   com_err(progname, 0, "%s", usage);

but I will use the string directly for the sake of people who like to
build with -Werror=format-security.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoblkid: Add support for detecting user-level suspend as a swsuspend signature
Theodore Ts'o [Tue, 20 Jan 2009 17:07:31 +0000 (12:07 -0500)]
blkid: Add support for detecting user-level suspend as a swsuspend signature

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agomke2fs: Treat an argv[0] of "mke3fs" the same as "mkfs.ext3"
Theodore Ts'o [Tue, 20 Jan 2009 17:02:40 +0000 (12:02 -0500)]
mke2fs: Treat an argv[0] of "mke3fs" the same as "mkfs.ext3"

Mandriva apparently uses "mke3fs" as an alias for mkfs.ext3.  I'm not
particularly fond of that practice, but we'll include it as legacy
support.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agotune2fs: Fix tune2fs -I so it won't corrupt RAID filesystems
Theodore Ts'o [Tue, 20 Jan 2009 16:49:17 +0000 (11:49 -0500)]
tune2fs: Fix tune2fs -I so it won't corrupt RAID filesystems

If a filesystem is built with the stride extended-option (which is
often used in RAID filesystems to make sure the block and inode
allocation bitmaps don't end up hitting one disk platter harder than
the rest), this can cause tune2fs -I to corrupt the filesystem because
it fails to handle the case where the allocation bitmaps are located
after the inode table, where the inode table needs to grow.  Handle
this case correctly.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agotune2fs: General (whitespace) cleanup
Theodore Ts'o [Tue, 20 Jan 2009 07:34:39 +0000 (02:34 -0500)]
tune2fs: General (whitespace) cleanup

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agotune2fs: Don't allow the -I option if the flex_bg feature is enabled
Theodore Ts'o [Tue, 20 Jan 2009 06:50:07 +0000 (01:50 -0500)]
tune2fs: Don't allow the -I option if the flex_bg feature is enabled

With flex_bg usually the inode table for most block groups are packed
right against each other, so expanding the inode table size needs
special handling that's not currently in tune2fs.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoblkid: recognize btrfs
Eric Sandeen [Thu, 8 Jan 2009 21:08:16 +0000 (15:08 -0600)]
blkid: recognize btrfs

Add btrfs detection to libblkid, now that the disk format should be
recognizable in the future.

# misc/blkid /tmp/fsfile
/tmp/fsfile: LABEL="mylabel" UUID="102b07f0-0e79-4b42-8a4e-1dde418bbe6d" TYPE="btrfs"

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
15 years agodebian: Add "set -e" to uuid-runtime's prerm script
Theodore Ts'o [Tue, 20 Jan 2009 05:55:32 +0000 (00:55 -0500)]
debian: Add "set -e" to uuid-runtime's prerm script

This addresses a Lintian warning.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoresize2fs: Reserve some extra space for -P/-M for ext4 filesystems
Theodore Ts'o [Tue, 20 Jan 2009 05:46:06 +0000 (00:46 -0500)]
resize2fs: Reserve some extra space for -P/-M for ext4 filesystems

Some extra blocks may be needed to expand some extent allocation trees
while we are shrinking the filesystem.  We don't know exactly how
much, so we use a hueristic.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoext2fs_open2: Add more checks for filesystem consistency
Thiemo Nagel [Tue, 20 Jan 2009 04:16:10 +0000 (23:16 -0500)]
ext2fs_open2: Add more checks for filesystem consistency

Add more checks to assure the filesystem is sane to avoid later
division by zero errors.

Patch adds consistency checks on superblock to fix serveral crashes:
* require EXT2_INODES_PER_GROUP != 0
* require EXT2_DESC_PER_BLOCK != 0
* require s_first_data_block < s_blocks_count
* require group_desc_count * EXT2_INODES_PER_GROUP == s_inodes_count

Signed-off-by: Thiemo Nagel <thiemo.nagel@ph.tum.de>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoext2fs_read_inode_full: Add safety check to avoid SEGV's on corrupted fs's
Theodore Ts'o [Tue, 20 Jan 2009 04:09:37 +0000 (23:09 -0500)]
ext2fs_read_inode_full: Add safety check to avoid SEGV's on corrupted fs's

Thanks to Thiemo Nagel for suggesting this.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agodebian: Add mkfs.ext4 symlink to the e2fsprogs-udeb package
Theodore Ts'o [Tue, 20 Jan 2009 02:05:49 +0000 (21:05 -0500)]
debian: Add mkfs.ext4 symlink to the e2fsprogs-udeb package

This patch is needed for Ubuntu Januty.

Addresses-Debian-Bug: #511207

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoext2fs_block_iterate2: Preserve the uninit flag in extents
Theodore Ts'o [Tue, 20 Jan 2009 00:30:59 +0000 (19:30 -0500)]
ext2fs_block_iterate2: Preserve the uninit flag in extents

When modifying a block via the block_iterate interface, preserve the
uninit flag in the extent.  Resize2fs uses this interface, so we have
to preserve the uninit status when relocating a block.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoext2fs_block_iterate2: Reflect errors from ext2fs_extent_set_bmap to caller
Theodore Ts'o [Mon, 19 Jan 2009 19:22:52 +0000 (14:22 -0500)]
ext2fs_block_iterate2: Reflect errors from ext2fs_extent_set_bmap to caller

If the callback function tries to change a block, and
ext2fs_extent_set_bmap() fails for some reason (for example, there
isn't enough disk space to split a node and expand the extent tree,
make sure that error is reflected back up to the caller.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoresize2fs: Release bitmap and itable blocks in flex_bg filesystems
Theodore Ts'o [Mon, 19 Jan 2009 14:02:55 +0000 (09:02 -0500)]
resize2fs: Release bitmap and itable blocks in flex_bg filesystems

Previously resize2fs assumed that bitmap and inode table blocks were
always located in their respective block group.  However, this is no
longer true with flex_bg.  So it is necessary to check all of the
block groups which will be truncated to see if they have metadata
blocks that need to be marked as no longer being in use in the new,
shrunk filesystem.

This bug fixes resize2fs -M, which would otherwise fail because
without the released blocks, there would not be enough space in the
filesystem.  This bug also avoids (mostly harmless) filesystem
corruptions reported by e2fsck regarding blocks marked in use but not
actually used (these being the bitmap and inode table blocks
associated with the truncated block groups).

Note: in theory it is possible to have block group N utilize bitmap
and inode table blocks in block group N+X with flex_bg.  At the moment
neither mke2fs nor e2fsck will create filesystems like this, which is
good, because resize2fs doesn't handle this case correctly.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoresize2fs: Move all required blocks for ext4 filesystems
Theodore Ts'o [Mon, 19 Jan 2009 13:43:36 +0000 (08:43 -0500)]
resize2fs: Move all required blocks for ext4 filesystems

In the function blocks_to_move(), when checking to see if a block
group's block bitmap is initialized, we need to check the old_fs's
block group descriptors, not the new file system's (already truncated)
group descriptor data structures.  Otherwise we will end up
derferencing past the end of the array boundary, and the resulting
garbage value may indicate that the bitmap is uninitialized, and so
all of the blocks in that block group will be skipped, resulting in
some blocks not getting marked as needing relocation.

This showed up in the following test case:

     mke2fs -t ext4 -b 1024 test.img 1048576
     resize2fs test.img 80000

The journal inode after the resize operation looked like this:

debugfs:  stat <8>
Inode: 8   Type: regular    Mode:  0600   Flags: 0x80000
...
BLOCKS:
(IND):35385, (0-5836):2356-8192, (5837-21959):8454-24576, (21960-32506):24838-35
384, (32507-32767):434177-434437
TOTAL: 32769

The blocks 434177-434437 were not moved because block group 53 was
wrongly thought to have an unitialized block group.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agodebugfs: Fix logdump command for 32-bit filesystems
Theodore Ts'o [Mon, 19 Jan 2009 03:48:16 +0000 (22:48 -0500)]
debugfs: Fix logdump command for 32-bit filesystems

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoe2fsck: Fix journal replay for block sizes greater than 8k
Theodore Ts'o [Fri, 2 Jan 2009 23:14:42 +0000 (18:14 -0500)]
e2fsck: Fix journal replay for block sizes greater than 8k

E2fsck was using a fixed-size 8k buffer for replaying blocks from the
journal.  So attempts to replay a journal on filesystems greater than
8k would cause e2fsck to crash with a segfault.

Thanks to Miao Xie <miaox@cn.fujitsu.com> for reporting this problem.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoe2fsck: Remove "ext3" from problem descriptions of the journal
Theodore Ts'o [Fri, 2 Jan 2009 04:10:40 +0000 (23:10 -0500)]
e2fsck: Remove "ext3" from problem descriptions of the journal

The ext4 filesystem uses journals too, so remove "ext3" from the
problem descriptions involving journals.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoAdd e2fsck regression test case f_extent_bad_node
Theodore Ts'o [Fri, 26 Dec 2008 03:47:03 +0000 (22:47 -0500)]
Add e2fsck regression test case f_extent_bad_node

This test case is designed to test e2fsck's ability to deal with a
corrupted interior node in an extent tree.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoe2fsck: Fix an unhandled corruption case in scan_extent_node()
Theodore Ts'o [Fri, 26 Dec 2008 03:42:38 +0000 (22:42 -0500)]
e2fsck: Fix an unhandled corruption case in scan_extent_node()

A corrupted interior node in an extent tree would cause e2fsck to
crash with the error message:

Error1: Corrupt extent header on inode 107192
Aborted (core dumped)

Handle this and related failures when scanning an inode's extent tree
more robustly.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoe2fsck: When repacking directories, leave slack space for more efficiency
Theodore Ts'o [Wed, 24 Dec 2008 00:10:43 +0000 (19:10 -0500)]
e2fsck: When repacking directories, leave slack space for more efficiency

If the directory is packed with no slack space, as soon as any new
directory entries are added, leaf nodes end up getting split and
directory ends up getting very inefficient.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoe2fsck: Fix double-counting of non-contiguous extent-based inodes
Theodore Ts'o [Tue, 9 Dec 2008 03:58:29 +0000 (22:58 -0500)]
e2fsck: Fix double-counting of non-contiguous extent-based inodes

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoe2fsck: Enhance fragcheck report with file/directory information
Theodore Ts'o [Tue, 9 Dec 2008 03:00:13 +0000 (22:00 -0500)]
e2fsck: Enhance fragcheck report with file/directory information

Report whether a fragmented inode is a directory or a file, as this is
highly useful for determining what is going on with an ext4 filesystem.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoe2fsck: In verbose mode, distinguish between fragmented directories/files
Theodore Ts'o [Tue, 9 Dec 2008 02:33:11 +0000 (21:33 -0500)]
e2fsck: In verbose mode, distinguish between fragmented directories/files

Track the number of non-contiguous files and directories so we can
give more detailed information in verbose mode.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoe2fsck: Don't cancel the fsck run after clearing an errant INODE_UNINIT flag
Theodore Ts'o [Thu, 27 Nov 2008 01:41:26 +0000 (20:41 -0500)]
e2fsck: Don't cancel the fsck run after clearing an errant INODE_UNINIT flag

Thanks to Kelly Kane from Dreamhost for reporting this bug and then
helping us find and fix it.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoAdd make-sparse.c to contrib
Theodore Ts'o [Mon, 17 Nov 2008 22:52:15 +0000 (17:52 -0500)]
Add make-sparse.c to contrib

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agodebian: Fix mkinitfs on x86_64 systems
Theodore Ts'o [Sun, 16 Nov 2008 15:35:41 +0000 (10:35 -0500)]
debian: Fix mkinitfs on x86_64 systems

On x86_64 systems, we need to filter out linux-vdso.so lines from the
output of the ldd program when determining the library dependencies.

Addresses-Debian-Bug: #503057

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoFix various signed/unsigned gcc warnings
Theodore Ts'o [Sun, 16 Nov 2008 15:03:00 +0000 (10:03 -0500)]
Fix various signed/unsigned gcc warnings

Some of these could affect filesystems between 2^31 and 2^32-1 blocks.

Thanks to Valerie Aurora Henson for pointing out the problems in
lib/ext2fs/alloc_tables.c, which led me to do a "make gcc-wall" scan
over the source tree.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agopo: update ca.po (from translationproject.org)
David Planella [Sat, 15 Nov 2008 20:07:39 +0000 (15:07 -0500)]
po: update ca.po (from translationproject.org)

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
15 years agodumpe2fs: Only print inline journal information if the journal is internal
Theodore Ts'o [Sat, 15 Nov 2008 20:05:51 +0000 (15:05 -0500)]
dumpe2fs: Only print inline journal information if the journal is internal

Currently dumpe2fs displays an error if run on a filesystem with an
external journal.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoAdd support to build profiled binaries in the misc directory
Theodore Ts'o [Sat, 15 Nov 2008 17:34:28 +0000 (12:34 -0500)]
Add support to build profiled binaries in the misc directory

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoe2fsck: Fix build of e2fsck.profiled if profiling is enabled
Theodore Ts'o [Sat, 15 Nov 2008 17:12:57 +0000 (12:12 -0500)]
e2fsck: Fix build of e2fsck.profiled if profiling is enabled

It's been a while since I've done a build using "configure
--enable-profile", and some bitrot had set into the Makefiles...

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agotune2fs: Fix inefficient O(n**2) algorithms when expanding the inode size
Theodore Ts'o [Sat, 15 Nov 2008 05:32:39 +0000 (00:32 -0500)]
tune2fs: Fix inefficient O(n**2) algorithms when expanding the inode size

When running "tune2fs -I 256" on moderate to large filesystems, the
time required to run tune2fs can take many hours (20+ before some
users gave up in disgust).  This was due to some O(n**2) and O(n*m)
algorithms in move_block() and inode_scan_and_fix(), respectively.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agotune2fs: Update the block group checksums when changing the UUID
Theodore Ts'o [Fri, 14 Nov 2008 22:42:27 +0000 (17:42 -0500)]
tune2fs: Update the block group checksums when changing the UUID

Since the block group checksums depend on the UUID, we need to update
the block group checksums when setting the UUID.  We only do so if all
of the checksums are correct, however.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agodebugfs: Fix ncheck display so that extra characters aren't printed
Theodore Ts'o [Tue, 21 Oct 2008 03:51:53 +0000 (23:51 -0400)]
debugfs: Fix ncheck display so that extra characters aren't printed

Fix a single-character typo in the printf format statement.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoblkid: recognize ext3 with test_fs set as ext3
Eric Sandeen [Tue, 14 Oct 2008 17:27:15 +0000 (12:27 -0500)]
blkid: recognize ext3 with test_fs set as ext3

It seems that if we have the test_filesystem flag set on an ext3
filesystem(!) on a system which provides ext4, blkid gets confused.

According to the current logic:

* It's not an ext4dev filesystem, because the system provides ext4.
* It's not an ext4 filesystem, because it has no ext4 features.
* It's not an ext3 filesystem, because the test flag is set.

In the end, it's nothing.

blkid should return *something* that is mountable... I'm inclined to
think that ext3 should be the right answer, if no ext4-specific features
are set.

This would mean just dropping the EXT2_FLAGS_TEST_FILESYS test in
probe_ext3(), because ext4 & ext4dev probes have come first already.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
15 years agoFix spelling mistake in debian changelog
Theodore Ts'o [Sat, 18 Oct 2008 20:52:25 +0000 (16:52 -0400)]
Fix spelling mistake in debian changelog

Addresses-Debian-Bug: #502323

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agolibblkid: Refuse to create a device structure for a non-existent device
Theodore Ts'o [Sat, 18 Oct 2008 20:47:46 +0000 (16:47 -0400)]
libblkid: Refuse to create a device structure for a non-existent device

Fix blkid_get_dev() so it will never return a device structure if the
device file doesn't exist.

Addresses-Debian-Bug: #502541

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoUpdate release notes, changelog, etc., for e2fsprogs 1.41.3 release v1.41.3
Theodore Ts'o [Sat, 11 Oct 2008 22:40:13 +0000 (18:40 -0400)]
Update release notes, changelog, etc., for e2fsprogs 1.41.3 release

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoUpdate e2fsprogs translation template file
Theodore Ts'o [Mon, 13 Oct 2008 03:17:54 +0000 (23:17 -0400)]
Update e2fsprogs translation template file

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoe2fsck: Offer to clear the test_fs flag if ext4 is available
Theodore Ts'o [Mon, 13 Oct 2008 03:09:26 +0000 (23:09 -0400)]
e2fsck: Offer to clear the test_fs flag if ext4 is available

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoe2fsck: Print the correct inode number for uninit-bg related problem reports
Theodore Ts'o [Sat, 11 Oct 2008 15:22:15 +0000 (11:22 -0400)]
e2fsck: Print the correct inode number for uninit-bg related problem reports

Fix the reporting for problem codes PR_2_INOREF_BG_INO_UNINIT and
PR_2_INOREF_IN_UNUSED.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agolibblkid: Fix file descriptor leak when checking for a module
Theodore Ts'o [Sat, 11 Oct 2008 15:07:23 +0000 (11:07 -0400)]
libblkid: Fix file descriptor leak when checking for a module

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoe2fsck: exit from preenhalt if IO errors were encountered
Eric Sandeen [Fri, 10 Oct 2008 22:14:08 +0000 (17:14 -0500)]
e2fsck: exit from preenhalt if IO errors were encountered

If a block device is read-only, e2fsck -p gets into an infinite loop
trying to preenhalt, closing and flushing the fs, which tries to flush
the cache, which gets a write error and calls preenhalt which tries to
close and flush the fs ... ad infinitum.

Per Ted's suggestion just flag the ctx as "exiting" and short-circuit
the infinite loop.

Tested by running e2fsck -p on a block device set read-only by BLKROSET.

Thanks to Vlado Potisk for reporting this.

Addresses-Red-Hat-Bugzilla: #465679

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
15 years agoresize2fs: check for bogus new_size
Eric Sandeen [Fri, 10 Oct 2008 22:38:15 +0000 (17:38 -0500)]
resize2fs: check for bogus new_size

If we don't check for new_size == 0, bogus values send resize2fs into
a tailspin:

resize2fs 1.41.0 (10-Jul-2008)
Illegal block number passed to ext2fs_test_block_bitmap #1 for block bitmap for
/tmp/tmp.lntZtMFvz8/fake-disk
...the same message repeated zillion times...

Probably should see where that loop is, but at any rate we should
error-check parse_num_blocks.

Thanks to Petr Muller for reporting this.

Addresses-Red-Hat-Bugzilla: #465984

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
15 years agounix_io: check for read-only devices when opening R/W
Eric Sandeen [Fri, 10 Oct 2008 22:17:43 +0000 (17:17 -0500)]
unix_io: check for read-only devices when opening R/W

When we open a device on linux, test whether it is writable
right away, rather than trying to proceed and clean up when
writes start failing.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
15 years agodebugfs: Fix ncheck when printing pathnames for multiple hardlinks in a directory
Theodore Ts'o [Fri, 10 Oct 2008 18:53:09 +0000 (14:53 -0400)]
debugfs: Fix ncheck when printing pathnames for multiple hardlinks in a directory

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoFix parallel build problem with util/subst
Theodore Ts'o [Fri, 10 Oct 2008 18:00:46 +0000 (14:00 -0400)]
Fix parallel build problem with util/subst

Make sure util/subst is built before trying to build lib/et

Addresses-Sourceforge-Bug: #2143281

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoe2fsprogs: fix blkid detection of ext4dev as ext4
Eric Sandeen [Wed, 8 Oct 2008 18:34:09 +0000 (13:34 -0500)]
e2fsprogs: fix blkid detection of ext4dev as ext4

If only ext4 is available (as a module or in /proc/filesystems)
blkid wasn't properly testing for it, because the time checks
were backwards and always failed.  This caused old ext4dev
filesystems to fail to mount as ext4.  With this patch it works
fine.

Also, don't try to check for modules on a non-Linux system.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
15 years agoUpdate Makefile depend information for crc16.o
Theodore Ts'o [Thu, 2 Oct 2008 12:59:09 +0000 (08:59 -0400)]
Update Makefile depend information for crc16.o

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoUpdate release notes, changelog, etc., for e2fsprogs 1.41.2 release v1.41.2
Theodore Ts'o [Thu, 2 Oct 2008 03:16:06 +0000 (23:16 -0400)]
Update release notes, changelog, etc., for e2fsprogs 1.41.2 release

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agolibcom_err: Add missing type declarations to clean up -Wall warnings
Theodore Ts'o [Thu, 2 Oct 2008 12:51:27 +0000 (08:51 -0400)]
libcom_err: Add missing type declarations to clean up -Wall warnings

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agomke2fs.8: Add an explanation of how the -t and -O options interact
Theodore Ts'o [Thu, 2 Oct 2008 12:45:02 +0000 (08:45 -0400)]
mke2fs.8: Add an explanation of how the -t and -O options interact

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agopo: update sv.po (from translationproject.org)
Göran Uddeborg [Thu, 2 Oct 2008 01:52:02 +0000 (21:52 -0400)]
po: update sv.po (from translationproject.org)

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
15 years agolibcom_err: Fix file descriptor leak after an exec
Theodore Ts'o [Thu, 2 Oct 2008 00:45:26 +0000 (20:45 -0400)]
libcom_err: Fix file descriptor leak after an exec

Some applications repeatedly re-exec themselves, and if they use the
com_err library, they can leak a file descriptor for each re-exec.
Fix this by setting the close-on-exec flag on the debug file
descriptor.  In addition, if the COMERR_DEBUG environment variable
isn't set, don't open the file handle at all.

Addresses-Red-Hat-Bugzilla: #464689

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoFix spelling mistake in e2fsck man page
Theodore Ts'o [Thu, 2 Oct 2008 00:27:41 +0000 (20:27 -0400)]
Fix spelling mistake in e2fsck man page

Addresses-Launchpad-Bug: #275272

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agobadblocks: Fix progress output for "badblocks -sw /dev/XXX"
Theodore Ts'o [Thu, 2 Oct 2008 00:00:54 +0000 (20:00 -0400)]
badblocks: Fix progress output for "badblocks -sw /dev/XXX"

Always initialize the starting time so that badblocks -sw works.
Thanks Jelle de Jong (jelledejong at powercraft.nl) for reporting this
bug.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agodebugfs: Make the usage messsage of logdump consistent with man page
Manish Katiyar [Wed, 1 Oct 2008 23:55:10 +0000 (19:55 -0400)]
debugfs: Make the usage messsage of logdump consistent with man page

Signed-off-by: Manish Katiyar <mkatiyar@gmail.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoresize2fs: Fix potential memory corruption in ext2fs_progress_init()
Manish Katiyar [Wed, 1 Oct 2008 23:42:57 +0000 (19:42 -0400)]
resize2fs: Fix potential memory corruption in ext2fs_progress_init()

Check the return value of ext2fs_get_mem, since prog isn't initialized
so checking may miss a failed memory allocation.

Signed-off-by: Manish Katiyar <mkatiyar@gmail.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agodebugfs: Fix ncheck to print all pathnames for the inodes
Theodore Ts'o [Wed, 1 Oct 2008 23:14:06 +0000 (19:14 -0400)]
debugfs: Fix ncheck to print all pathnames for the inodes

The ncheck command in debugfs had a bug where some inodes would not
have their pathnames printed if other inodes had more than one hard
link.  Fix this bug and simplify the code by printing all of the
pathnames for the requested inodes.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agolibcom_err: Use sem_post/sem_init to prevent race conditions
Theodore Ts'o [Fri, 12 Sep 2008 14:15:26 +0000 (10:15 -0400)]
libcom_err: Use sem_post/sem_init to prevent race conditions

SuSE has been carrying a patch for a long time to prevent a largely
theoretical race condition if a multi-threaded application adds and
removes error tables in multiple threads.  Unfortunately SuSE's
approach breaks compatibility by forcing applications to link and
compile with the -pthread option; using pthread mutexes has
historically been problematic.

This commit fixes things in a more portable way by using
sem_post/sem_wait instead, which is an older interface that doesn't
require the pthreads library.  Linux happens to implement
sem_post/sem_init using futexes, and -lrt ends up pulling in
-lpthread, but the advantage of using POSIX semaphores is that
applications don't have to be built using -pthread, unlike the use of
pthread mutexes.

The add_error_table() and remove_error_table() interfaces are the
preferred interfaces and locking protection have been added to only
these interfaces.  I have not added locking protection to the
generated initialize_xxx_error_table and initialize_xxx_error_table_r
interfaces, to avoid adding symbol dependencies that would cause a
library to fail to work when linking against older com_err libraries
that do not export et_list_lock() and et_list_unlock().  Threaded
applications shouldn't be using these interfaces in any case.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agodebian: Use dietlibc when possible for building e2fsck.static
Theodore Ts'o [Fri, 12 Sep 2008 13:26:45 +0000 (09:26 -0400)]
debian: Use dietlibc when possible for building e2fsck.static

This fixes a regression introduced in commit 4f2e8f19 where we
inadvertently disabled the use of dietlibc on all architectures,
instead of just on those architectures which didn't support dietlibc.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoFix compiling under diet libc
Theodore Ts'o [Fri, 12 Sep 2008 13:10:39 +0000 (09:10 -0400)]
Fix compiling under diet libc

Some recent changes had caused diet libc support to bitrot.  Fix up
missing header files and other portability fixups needed for dietlibc.
(Many of these changes also improve general portability.)

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agodebugfs: Add the ability to specify the hash seed to the "hash" command
Theodore Ts'o [Wed, 10 Sep 2008 15:30:46 +0000 (11:30 -0400)]
debugfs: Add the ability to specify the hash seed to the "hash" command

Also add the ability to specify the hash algorithm by name instead of
by number.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoe2fsck: Fix e2fsck automatic blocksize detetion
Theodore Ts'o [Tue, 9 Sep 2008 19:02:24 +0000 (15:02 -0400)]
e2fsck: Fix e2fsck automatic blocksize detetion

This fixes a regression that was introduced in commit dcc91e10 (it
showed up first in e2fsprogs 1.40.7).  Since we weren't freeing the
filesystem handle, ext2fs_open2() was returning EBUSY, and so this
caused a failure in the code that would automatically determine the
filesystem block size when only the superblock number was specified by
the user.

This was discussed in http://ubuntuforums.org/showthread.php?t=789323,
and Matthias Bannach pointed this out to me, for which I am very
grateful.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agopo: update vi.po (from translationproject.org)
Clytie Siddall [Mon, 8 Sep 2008 02:55:25 +0000 (22:55 -0400)]
po: update vi.po (from translationproject.org)

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
15 years agopo: update nl.po (from translationproject.org)
Benno Schulenberg [Mon, 8 Sep 2008 02:55:25 +0000 (22:55 -0400)]
po: update nl.po (from translationproject.org)

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
15 years agopo: update id.po (from translationproject.org)
Arif E. Nugroho [Mon, 8 Sep 2008 02:55:25 +0000 (22:55 -0400)]
po: update id.po (from translationproject.org)

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
15 years agopo: update de.po (from translationproject.org)
Philipp Thomas [Mon, 8 Sep 2008 02:55:25 +0000 (22:55 -0400)]
po: update de.po (from translationproject.org)

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
15 years agopo: update cs.po (from translationproject.org)
Petr Pisar [Mon, 8 Sep 2008 02:55:24 +0000 (22:55 -0400)]
po: update cs.po (from translationproject.org)

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
15 years agoUnbreak build if directory renamed from e2fsprogs.
Matthias Andree [Fri, 5 Sep 2008 08:25:28 +0000 (10:25 +0200)]
Unbreak build if directory renamed from e2fsprogs.

gen-tarball currently assumes that the top-level directory is called
e2fsprogs, which breaks building the tarball if it's named differently.
Since we have already computed the basename, let's use it.

Signed-off-by: Matthias Andree <matthias.andree@gmx.de>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
15 years agoPrint size of resulting .tar.gz file.
Matthias Andree [Fri, 5 Sep 2008 07:51:29 +0000 (09:51 +0200)]
Print size of resulting .tar.gz file.

Signed-off-by: Matthias Andree <matthias.andree@gmx.de>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
15 years agolibext2fs.texinfo: Add documentation for the file I/O functions
Theodore Ts'o [Sun, 7 Sep 2008 22:11:46 +0000 (18:11 -0400)]
libext2fs.texinfo: Add documentation for the file I/O functions

Addresses-Debian-Bug: #484877

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoFix various spelling mistakes in various man pages
Theodore Ts'o [Sun, 7 Sep 2008 18:08:40 +0000 (14:08 -0400)]
Fix various spelling mistakes in various man pages

Thanks to A. Costa for pointing these out.

Addresses-Debian-Bug: #498100
Addresses-Debian-Bug: #498101
Addresses-Debian-Bug: #498102
Addresses-Debian-Bug: #498103

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoInstall with relative symlinks if $(root_libdir) == $(libdir)
Theodore Ts'o [Sun, 7 Sep 2008 07:17:22 +0000 (03:17 -0400)]
Install with relative symlinks if $(root_libdir) == $(libdir)

When installing the ELF link library, avoid using absolute pathnames
if $(root_libdir) and $(libdir) are the same.

Addresses-Sourceforge-Bug: #1782913

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoe2fsck: Don't print the PO header when printing problems with PROMPT_NULL
Theodore Ts'o [Sun, 7 Sep 2008 05:35:15 +0000 (01:35 -0400)]
e2fsck: Don't print the PO header when printing problems with PROMPT_NULL

A few e2fsck problem messages supply their own prompt, and set a
prompt value of PROMPT_NULL.  We have to check for this case, and not
pass the null string to _(), since that will result in the translation
header getting printed, like this:

Run journal anywayProject-Id-Version: e2fsprogs
Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>
POT-Creation-Date: 2008-02-28 21:45-0500
PO-Revision-Date: 2006-05-23 11:12+0000
Last-Translator: Somebody32 <som32@mail.ru>
Language-Team: Russian <ru@li.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 &&
n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;
X-Launchpad-Export-Date: 2008-05-28 00:43+0000
X-Generator: Launchpad (build Unknown)
<y>? yes

Addresses-Launchpad-Bug: #246892

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoUpdate debian/changefile for 1.41.1-3 debian release
Theodore Ts'o [Fri, 5 Sep 2008 13:24:32 +0000 (09:24 -0400)]
Update debian/changefile for 1.41.1-3 debian release

15 years agoAdd more historical information into the debian/*.symbols files
Theodore Ts'o [Fri, 5 Sep 2008 15:10:11 +0000 (11:10 -0400)]
Add more historical information into the debian/*.symbols files

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agobadblocks: Display time and percentage complete in verbose mode.
Manish Katiyar [Thu, 4 Sep 2008 09:14:38 +0000 (14:44 +0530)]
badblocks: Display time and percentage complete in verbose mode.

Addresses-Debian-Bug: #429739.

Signed-off-by: "Manish Katiyar" <mkatiyar@gmail.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agodebugfs: Fix memory leak in do_ncheck()'s error path
Manish Katiyar [Wed, 3 Sep 2008 05:53:53 +0000 (11:23 +0530)]
debugfs: Fix memory leak in do_ncheck()'s error path

Also the progname printed as "ncheck" instead of "do_ncheck" to be
consistent with the other error messages in debugfs.

Signed-off-by: "Manish Katiyar" <mkatiyar@gmail.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agodebian: Reorder rules to build udebs to avoid Lintian warning
Theodore Ts'o [Fri, 5 Sep 2008 02:49:15 +0000 (22:49 -0400)]
debian: Reorder rules to build udebs to avoid Lintian warning

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agodebian: Fix dependencies field in the udeb packages
Theodore Ts'o [Fri, 5 Sep 2008 02:39:47 +0000 (22:39 -0400)]
debian: Fix dependencies field in the udeb packages

Addresses-Debian-Bug: #497619

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoFix e2initrd_helper, blkid, and fsck from linking with unneeded libraries
Theodore Ts'o [Fri, 5 Sep 2008 02:36:52 +0000 (22:36 -0400)]
Fix e2initrd_helper, blkid, and fsck from linking with unneeded libraries

... especially when using ELF shared libraries.  We only need to link
with a library if the executable uses that library directly.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agopo: update pl.po (from translationproject.org)
Jakub Bogusz [Wed, 3 Sep 2008 03:47:16 +0000 (23:47 -0400)]
po: update pl.po (from translationproject.org)

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
15 years agopo: update fr.po (from translationproject.org)
Samuel Thibault [Wed, 3 Sep 2008 03:47:16 +0000 (23:47 -0400)]
po: update fr.po (from translationproject.org)

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
15 years agoImprove ELF shared library handling
Theodore Ts'o [Wed, 3 Sep 2008 03:12:38 +0000 (23:12 -0400)]
Improve ELF shared library handling

Pass in -rpath-link option to the linker so that blkid will build
correctly on systems that don't have libcom_err.so.2 installed.

Fix debugfs to only try to link with -ldl when building without shared
libraries; with ELF shared libraries, the library which requires -ldl
(libss.so) can required the library dependency itself.

Fix how we build tune2fs.static so that we use @LDFLAG_STATIC@, via
$(LDFLAGS_STATIC), instead of hard-coding the use of -static.

Addresses-Sourceforge-Bug: #2088537

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoFix bold font specifer in mke2fs.8 man page
Theodore Ts'o [Wed, 3 Sep 2008 01:23:35 +0000 (21:23 -0400)]
Fix bold font specifer in mke2fs.8 man page

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoFix pkg-config files: use Requires.private and fix the include directory
Theodore Ts'o [Wed, 3 Sep 2008 01:20:44 +0000 (21:20 -0400)]
Fix pkg-config files: use Requires.private and fix the include directory

Addresses-Sourceforge-Bug: #2089537

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
15 years agoUpdate debian/changefile for 1.41.1-2 debian release
Theodore Ts'o [Tue, 2 Sep 2008 16:33:00 +0000 (12:33 -0400)]
Update debian/changefile for 1.41.1-2 debian release

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>