Whamcloud - gitweb
tools/e2fsprogs.git
16 years agoUpdate release notes, version files for 1.40.4 release v1.40.4
Theodore Ts'o [Sat, 29 Dec 2007 15:19:33 +0000 (10:19 -0500)]
Update release notes, version files for 1.40.4 release

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoExpand discussion of the -D option in e2fsck's man page
Theodore Ts'o [Tue, 1 Jan 2008 05:17:57 +0000 (00:17 -0500)]
Expand discussion of the -D option in e2fsck's man page

Add an explanation of how e2fsck might decide to optimize a few
directories even without the -D option being specified.

Addresses-Debian-Bug: #441872

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agodebian: Fix the document ID in comerr_dev.doc-base
Theodore Ts'o [Tue, 1 Jan 2008 04:35:10 +0000 (23:35 -0500)]
debian: Fix the document ID in comerr_dev.doc-base

The old document ID, com_err, used an illegal character ('_'); change
it to be comerr-manual to be conformant with the doc-base requirements.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoUpdate dependencies in lib/uuid/Makefile.in
Theodore Ts'o [Tue, 1 Jan 2008 04:12:35 +0000 (23:12 -0500)]
Update dependencies in lib/uuid/Makefile.in

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agodebian: Use useradd and groupadd in favor of adduser
Theodore Ts'o [Tue, 1 Jan 2008 03:22:46 +0000 (22:22 -0500)]
debian: Use useradd and groupadd in favor of adduser

The adduser package is 'important', and while it is often installed,
we can't guarantee that it will always be there.  A required package,
or a package which is dragged in by a required package, such as
libuuid1, shouldn't depend on an 'important' package since that would
implicitly make it be required, which shouldn't be done unless
absolutely necesary.

So we replace the call to adduser with the lower-level useradd and
groupadd programs.  They are part of the passwd package, which is
required to be on all Debian systems.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agodebian: build the e2fsck-static package so it works on 2.4 kernels
Theodore Ts'o [Mon, 31 Dec 2007 22:17:39 +0000 (17:17 -0500)]
debian: build the e2fsck-static package so it works on 2.4 kernels

Some people are still running ancient Debian distributions, such as
woody, with a 2.4 kernel, and they want to be able to use the
e2fsck-static package on backlevel systems.

It turns out that we can't just statically link against glibc anymore,
since glibc now uses thread-local storage everywhere.  So we now build
e2fsck-static using dietlibc.

Addresses-Debian-Bug: #458017

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoFix build error in blkid/tst_types.c when using diet libc
Theodore Ts'o [Mon, 31 Dec 2007 19:43:11 +0000 (14:43 -0500)]
Fix build error in blkid/tst_types.c when using diet libc

When compiling with diet libc, <sys/types.h> must be included in order
to define the types used in asm/types.h.  Strange choice, but
workable.  This doesn't cause much problems for e2fsprogs except
blkid/tst_types.h, which needed a #include of <sys/types.h>.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoTest for sys/syscall.h in configure to fix dietlibc build problem
Theodore Ts'o [Mon, 31 Dec 2007 19:36:48 +0000 (14:36 -0500)]
Test for sys/syscall.h in configure to fix dietlibc build problem

When compiling with dietlibc, sys/syscall.h isn't supported; as of
dietlibc 0.30, it exists but it references a non-existent asm/unistd.h
header file.  So we have to test for its existence and avoid using it
in lib/uuid/gen_uuid.c if it is not supported.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agodebian: Do not use TLS or uuidd when building the bootfloppy udeb's
Theodore Ts'o [Mon, 31 Dec 2007 16:20:01 +0000 (11:20 -0500)]
debian: Do not use TLS or uuidd when building the bootfloppy udeb's

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoAdd --disable-uuidd configure option
Theodore Ts'o [Mon, 31 Dec 2007 16:16:56 +0000 (11:16 -0500)]
Add --disable-uuidd configure option

Add a configure option which causes the uuidd helper daemon not to be
built or used by the uuid library.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoAdd --disable-tls configure option
Theodore Ts'o [Mon, 31 Dec 2007 15:45:01 +0000 (10:45 -0500)]
Add --disable-tls configure option

Add option to forcibly disable the use of thread local storage

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoFix build failure on non-Linux/non-Hurd/non-Masix systems
Theodore Ts'o [Sun, 30 Dec 2007 16:05:39 +0000 (11:05 -0500)]
Fix build failure on non-Linux/non-Hurd/non-Masix systems

inode_uid() and inode_gid() weren't getting defined on systems that
were not Linux, Hurd, or Masix.

Addresses-Sourceforge-Bug: #1859778

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoConvert use of ext2fs_get_mem to ext2fs_get_array for overflow detection
Theodore Ts'o [Thu, 27 Dec 2007 15:08:13 +0000 (10:08 -0500)]
Convert use of ext2fs_get_mem to ext2fs_get_array for overflow detection

Add some additional checks, primarily in resize2fs and in the rarely
used (and soon to-be-deprecated) e2fsck byte-swap filesystem function.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoUpdate Vietnamese translation from the Translation Project
Theodore Ts'o [Tue, 25 Dec 2007 19:22:47 +0000 (14:22 -0500)]
Update Vietnamese translation from the Translation Project

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agouuidd: Avoid race conditions to that only one uuidd is started
Theodore Ts'o [Tue, 25 Dec 2007 19:19:15 +0000 (14:19 -0500)]
uuidd: Avoid race conditions to that only one uuidd is started

Use an improved locking protocol based on the pid file to assure that
only one uuidd is started.  Apparently the kernel does not prevent
multiple processes from racing to bind to a Unix domain socket.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agolibuuid: Fix bug which caused uuidd to fail if sizeof(int) != sizeof(int *)
Theodore Ts'o [Fri, 21 Dec 2007 16:32:48 +0000 (11:32 -0500)]
libuuid: Fix bug which caused uuidd to fail if sizeof(int) != sizeof(int *)

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoAdd #define needed for Hurd ioctl definitions
Theodore Ts'o [Tue, 18 Dec 2007 04:03:53 +0000 (23:03 -0500)]
Add #define needed for Hurd ioctl definitions

Addresses-Debian-Bug: #437720

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agodebian: Add a dependency on libuuid1 to the uuid-runtime package
Theodore Ts'o [Mon, 17 Dec 2007 20:31:19 +0000 (15:31 -0500)]
debian: Add a dependency on libuuid1 to the uuid-runtime package

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agolibuuid: Only try to start the uuidd daemon a limited number of times
Theodore Ts'o [Mon, 17 Dec 2007 20:26:47 +0000 (15:26 -0500)]
libuuid: Only try to start the uuidd daemon a limited number of times

If we fail to create the uuidd daemon after 5 or 6 tries, another
10,000 tries probably won't be successful.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agolibuuid: When starting uuidd, use waitpid() to reap the zombie process
Theodore Ts'o [Mon, 17 Dec 2007 20:16:44 +0000 (15:16 -0500)]
libuuid: When starting uuidd, use waitpid() to reap the zombie process

The uuidd process will fork and let the parent process exit to create
the daemon.  So use waitpid to reap the zombie, as well as using it to
time when it is safe to try to connect to the daemon.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agouuidd: Use /var/lib/libuuid instead of /var/run/uuidd
Theodore Ts'o [Mon, 17 Dec 2007 20:12:04 +0000 (15:12 -0500)]
uuidd: Use /var/lib/libuuid instead of /var/run/uuidd

/var/run can get completely removed at reboot, and uuidd doesn't have
permissions to recreate /var/run/uuidd.  So instead use
/var/lib/libuuidd for the unix domain socket and pid files.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoAdd uuidd daemon to prevent duplicate time-based UUID's
Theodore Ts'o [Sun, 16 Dec 2007 22:21:38 +0000 (17:21 -0500)]
Add uuidd daemon to prevent duplicate time-based UUID's

Also store the clock sequence information in a state file in
/var/lib/misc/uuid-clock so that if the time goes backwards the clock
sequence counter can get bumped.  This allows us to completely
correctly generate time-based (version 1) UUID's according to the
algorithm specified RFC 4122.

Addresses-Sourceforge-Bug: #1529672
Addresses-Red-Hat-Bugzilla: #233471

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agofsck: '#' is only a comment character at the beginning of an fstab line
Theodore Ts'o [Sun, 16 Dec 2007 20:41:15 +0000 (15:41 -0500)]
fsck: '#' is only a comment character at the beginning of an fstab line

Fuse and ssh fstab lines such as:

  wdfs#https://dav.hoster.com/foo/bar /mnt/hoster fuse user,noauto 0 0

will cause fsck to issue warnings about invalid fstab lines, because
fsck was previously treating '#' as a comment when it appeared
anywhere in an fstab line, not just at the beginning of the line.

Addresses-Gentoo-bug: #195405
Addresses-Sourceforge-bug: #1826147

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoblkid: Output non-printing characters using ^ and M- notation
Theodore Ts'o [Sun, 16 Dec 2007 17:26:57 +0000 (12:26 -0500)]
blkid: Output non-printing characters using ^ and M- notation

When printing the value of tags in a formatted format, print control
characters and characters with the high eight bit set using the ^ and
M- notation, respectively.  This prevents a filesystem with a garbage
label from potentially screwing up the user's screen (for example,
putting it into graphical mode).

Addresses-Ubuntu-Bug: #78087

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoRemove Rwandan translation
Theodore Ts'o [Sun, 16 Dec 2007 04:13:05 +0000 (23:13 -0500)]
Remove Rwandan translation

Upon the advice of Benno Schulenberg; the translation had already been
removed on the Translation Project site.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoUpdate Dutch and Polish translations from the Translation Project
Theodore Ts'o [Sun, 16 Dec 2007 04:11:31 +0000 (23:11 -0500)]
Update Dutch and Polish translations from the Translation Project

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agolibcom_err: Fix sign-extension problem on 64-bit systems in error_message()
Theodore Ts'o [Sun, 16 Dec 2007 03:31:03 +0000 (22:31 -0500)]
libcom_err: Fix sign-extension problem on 64-bit systems in error_message()

On 64-bit systems (or anything with sizeof(long) > sizeof(int)), we
sometimes get error codes passed to error_message which have been cast
from an (int) to an (unsigned int). This almost always happens if
you're using libgssapi_krb5, which returns an error code which is less
than 0 but is returned in an (unsigned int).

For example, -1765328377L gets cast to 2529638919, which is
0x96c73a07, not 0xffffffff96c73a07, so error_message() fails to find a
matching error table.

When error_message() then calls the error_table_name() function to get a
name to use in the "unknown code" message, it gets a correct value back.

This happens because error_table_name() drops most of the higher bits of
the parameter it's passed before doing anything else with it (& 077777777f,
or & 0xffffff). If we did the same thing in error_message(), we wouldn't
have a problem there, either.

Problem reported and fixed by: Nalin Dahyabhai

Addresses-Sourceforge-Bug: #1809658

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoblkid: Avoid division by zero error when probing an invalid FAT filesystem
Theodore Ts'o [Sun, 16 Dec 2007 03:21:31 +0000 (22:21 -0500)]
blkid: Avoid division by zero error when probing an invalid FAT filesystem

Addresses-Sourceforge-Bug: #1831627

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agolibss: Fix "make check" test case to work portably
Theodore Ts'o [Sun, 16 Dec 2007 03:09:48 +0000 (22:09 -0500)]
libss: Fix "make check" test case to work portably

The "make check" test in lib/ss would fail if '.' is not in the user's
PATH, and if the libss shared library had not yet been installed yet.

Addresses-Sourceforge-Bug: #1848974

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoFix uuid_unparse man page to give a correct example UUID output string
Theodore Ts'o [Sun, 16 Dec 2007 02:13:42 +0000 (21:13 -0500)]
Fix uuid_unparse man page to give a correct example UUID output string

Addresses-Debian-Bug: #444883

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoFix Debian rules files to support building non-Linux archs
Samuel Thibault [Tue, 14 Aug 2007 09:25:45 +0000 (11:25 +0200)]
Fix Debian rules files to support building non-Linux archs

Addresses-Debian-Bug: #437720

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoFix cross-compilation support in Debian's build rules
Theodore Ts'o [Sun, 16 Dec 2007 01:34:41 +0000 (20:34 -0500)]
Fix cross-compilation support in Debian's build rules

Addresses-Debian-Bug: #451172

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoext2fs_flushfs: Remove the NEEDS_RECOVERY from the backup superblocks
Theodore Ts'o [Sun, 16 Dec 2007 00:39:37 +0000 (19:39 -0500)]
ext2fs_flushfs: Remove the NEEDS_RECOVERY from the backup superblocks

Now that e2fsck tries to backup the primary superblock to the backups
when the feature sets ar different, it's important when tune2fs writes
out a changed superblock, that we filter out the
EXT3_FEATURE_INCOMPAT_RECOVER feature to the backup superblocks, since
it will be removed from the primary superblock either when the
filesystem is mounted uncleanly or when journal is replayed.

Addresses-Debian-Bug: #454926

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoUpdate release notes, version files, etc., for 1.40.3 release. v1.40.3
Theodore Ts'o [Mon, 3 Dec 2007 23:33:39 +0000 (18:33 -0500)]
Update release notes, version files, etc., for 1.40.3 release.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agolibext2fs: Add checks to prevent integer overflows passed to malloc()
Theodore Ts'o [Sat, 10 Nov 2007 00:01:06 +0000 (19:01 -0500)]
libext2fs: Add checks to prevent integer overflows passed to malloc()

This addresses a potential security vulnerability where an untrusted
filesystem can be corrupted in such a way that a program using
libext2fs will allocate a buffer which is far too small.  This can
lead to either a crash or potentially a heap-based buffer overflow
crash.  No known exploits exist, but main concern is where an
untrusted user who possesses privileged access in a guest Xen
environment could corrupt a filesystem which is then accessed by the
pygrub program, running as root in the dom0 host environment, thus
allowing the untrusted user to gain privileged access in the host OS.

Thanks to the McAfee AVERT Research group for reporting this issue.

Addresses CVE-2007-5497.

Signed-off-by: Rafal Wojtczuk <rafal_wojtczuk@mcafee.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoAdd Ubuntu-specific e2fsck.conf file to work around Ubuntu issues
Theodore Ts'o [Thu, 6 Dec 2007 02:01:22 +0000 (21:01 -0500)]
Add Ubuntu-specific e2fsck.conf file to work around Ubuntu issues

Ubuntu has init script and installer issues which cause them to have
significant problems with time zones.  This is compounded with a
relatively inexperienced user base who want to dual boot with Windows
and so have their hardware clocks tick localtime.

Addresses-Ubuntu-Bug: #131201

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoUpdate Debian policy compliance to version 3.7.3.0
Theodore Ts'o [Thu, 6 Dec 2007 01:46:12 +0000 (20:46 -0500)]
Update Debian policy compliance to version 3.7.3.0

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agogen-tarball: Ignore the Meta directory when creating the release tarballs
Theodore Ts'o [Thu, 6 Dec 2007 01:14:43 +0000 (20:14 -0500)]
gen-tarball: Ignore the Meta directory when creating the release tarballs

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoUpdate Spanish translation and e2fsprogs.pot file for 1.40.3 release
Theodore Ts'o [Thu, 6 Dec 2007 00:35:20 +0000 (19:35 -0500)]
Update Spanish translation and e2fsprogs.pot file for 1.40.3 release

Addresses-Debian-Bug: #411562

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agolibss: Fix parallel build failure
Theodore Ts'o [Sun, 2 Dec 2007 10:52:40 +0000 (05:52 -0500)]
libss: Fix parallel build failure

A missing dependency on ss_err.h meant that std_rqs.o could fail when
e2fsprogs was being built using make -j.

Thanks to Robert Kerr for reporting this bug.

Addresses-Sourceforge-Bug: #1842331

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoe2fsprogs: fix blkid whole-disk scanning heuristics
Eric Sandeen [Thu, 29 Nov 2007 18:57:35 +0000 (12:57 -0600)]
e2fsprogs: fix blkid whole-disk scanning heuristics

The heuristics in blkid/devname.c probe_all() for scanning whole disks
with no partitions assume that a device name with no digit on the end
will always be present as a delineator, i.e.:

sda
sda1
sdb
sdc

In this case, when sdc is seen, it's the clue to go back and scan sdb.
However, for something like:

sda
sda1
sdb
loop0

this falls down, and sdb is never scanned.
(thanks to Karel Zak for pointing this out).

Addresses-Red-Hat-Bugzilla: #400321

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agolibext2fs: Fix a corner case bug in ext2fs_unlink
Theodore Ts'o [Sat, 1 Dec 2007 12:08:45 +0000 (07:08 -0500)]
libext2fs: Fix a corner case bug in ext2fs_unlink

We cannot merge a removed directory entry to just arbitrary previous
directory entry. The previous entry must be in the same block.  So
really bad things can happen when are deleting the first directory
entry in a block where the last directory entry in the previous
directory block is not in use.  We fix this bug by checking to see if
the current entry is not the first one in the block before trying to
merge it to the previous entry.

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agofix check_mntent_file() to pass mode for open(O_CREAT)
Andreas Dilger [Fri, 9 Nov 2007 01:20:15 +0000 (18:20 -0700)]
fix check_mntent_file() to pass mode for open(O_CREAT)

On my FC8 install, ismounted.c fails to build because open(O_CREAT) is
used without passing a mode.  The following trivial patch fixes it.

Signed-off-by: Andreas Dilger <adilger@dilger.ca>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
16 years agoFix errors in test_ss.c so it can be an example application and test case
Theodore Ts'o [Mon, 26 Nov 2007 12:15:58 +0000 (07:15 -0500)]
Fix errors in test_ss.c so it can be an example application and test case

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoe2image in raw-mode appends an extra byte to image-file
Arun Thomas [Fri, 9 Nov 2007 20:46:10 +0000 (15:46 -0500)]
e2image in raw-mode appends an extra byte to image-file

In raw mode (-r), e2image appends an extra byte to the image-file's
end if the last block requires a sparse write. Consequently, the
resulting image-file is one byte larger than the original in
size. This patch fixes the problem by seeking to one less than the
given offset, so that the byte write does not overflow into the next
block.

This problem can be reproduced by doing an e2image -r dev image-file
and comparing the original and resulting image sizes. This assumes the
image is sparse at the end. For my tests, I created a 100MB sparse
image with two files.

Signed-off-by: Arun Thomas <thomasar@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoFix typo in the summary section of the blkid man page
Theodore Ts'o [Thu, 1 Nov 2007 05:19:32 +0000 (01:19 -0400)]
Fix typo in the summary section of the blkid man page

Addresses-SourceForge-Bug: #1821333

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agomke2fs: Change usage message to use -E instead -R, which is deprecated
Theodore Ts'o [Mon, 15 Oct 2007 20:20:54 +0000 (16:20 -0400)]
mke2fs: Change usage message to use -E instead -R, which is deprecated

The -R option is only used for backwards compatibility, and -E is
preferred, so change the usage message accordingly.

Signed-off-by: Coly Li <coyli@suse.de>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agolibblkid: recognize squashfs filesystems on BE systems.
Eric Sandeen [Mon, 15 Oct 2007 17:48:44 +0000 (12:48 -0500)]
libblkid: recognize squashfs filesystems on BE systems.

squashfs has no uuid or labels, so all we need is the magic
(for big-endian too!)

Addresses-Red-Hat-Bugzilla: #305151

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
16 years agolibblkid: detect squashfs
Eric Sandeen [Tue, 25 Sep 2007 17:02:50 +0000 (12:02 -0500)]
libblkid: detect squashfs

libblkid: recognize squashfs filesystems

squashfs has no uuid or labels, so all we need is the magic.

Addresses-Red-Hat-Bugzilla: #305151

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
16 years agoe2fsck: backup superblocks if key constants have changed
Theodore Ts'o [Mon, 1 Oct 2007 13:18:54 +0000 (09:18 -0400)]
e2fsck: backup superblocks if key constants have changed

If the primary superblock differs from the backup superblock in
certain key respects, force a full check (if e2fsck was invoked in
preen mode).  If the filesystem check passes cleanly, and the
filesystem was opened in read/write mode, then write the primary
superblock to all of the backups.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoe2fsck: update the backup superblocks if the feature bitmasks are changed
Theodore Ts'o [Sat, 6 Oct 2007 16:37:08 +0000 (12:37 -0400)]
e2fsck: update the backup superblocks if the feature bitmasks are changed

If e2fsck adds or deletes any of the feature bitmasks, clear
EXT2_FLAG_MASTER_SB_ONLY so the backup superblocks are updated when
e2fsck finishes.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoext2fs_dblist_dir_iterate: Fix ABORT propagation logic
Theodore Ts'o [Sun, 23 Sep 2007 15:39:24 +0000 (11:39 -0400)]
ext2fs_dblist_dir_iterate: Fix ABORT propagation logic

ext2fs_dblist_dir_iterate() calls ext2fs_dblist_iterate(), which calls
ext2fs_process_dir_block(), which in turn calls the helper function
db_dir_proc() which calls callback function passed into
ext2fs_dblist_dir_iterate().  At each stage the conventions for
signalling requests to abort the iteration or to signal errors
changes, db_dir_proc() was not properly mapping the abort request back
to ext2fs_dblist_iterate().

Currently db_dir_proc() is ignoring errors (i/o errors or directory
block corrupt errors) from ext2fs_process_dir_block(), since the main
user of ext2fs_dblist_dir_iterate() is e2fsck, for which this is the
correct behavior.  In the future ext2fs_dblist_dir_iterate() could
take a flag which would cause it to abort if
ext2fs_process_dir_block() returns an error; however, it's not clear
how useful this would be since we don't have a way of signalling the
exact nature of which block had the error, and the caller wouldn't
have a good way of knowing what percentage of the directory block list
had been processed.  Ultimately this may not be the best interface for
applications that need that level of error reporting.

Thanks to Vladimir V. Saveliev <vs@clusterfs.com> for pointing out
this problem.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agolibblkid: Add more magic numbers that might mean there is a FAT filesystem
Theodore Ts'o [Sun, 23 Sep 2007 13:50:11 +0000 (09:50 -0400)]
libblkid: Add more magic numbers that might mean there is a FAT filesystem

The FAT filesystem doesn't have its superblock with a set of magic
strings in a fixed location.  Therefore, we must also check for the
FAT filesystem if it looks like we have an MBR at the beginning of the
partition.  We previously checked if the first byte was a jump
instruction but that missed some USB disks with only one bootable
partition.  Now we check for the MBR signature (0x55AA at offset 510)
as well as any partition where byte 0 is \351 or \353.

Signed-off-by: Karel Zak <kzak@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoe2fsck: Don't mark the filesystem invalid because of time errors
Theodore Ts'o [Sun, 23 Sep 2007 12:20:51 +0000 (08:20 -0400)]
e2fsck: Don't mark the filesystem invalid because of time errors

If superblock mount time or last write time is in the future, and the
user refuses to fix the problem, don't mark the filesystem as being
invalid and needing to be checked.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoWork around lame Ubuntu init scripts / installer bugs
Theodore Ts'o [Sun, 23 Sep 2007 00:42:04 +0000 (20:42 -0400)]
Work around lame Ubuntu init scripts / installer bugs

The Ubuntu init scripts don't properly set the system time correctly
from hardware clock if the hardware clock is configured to tick local
time instead of GMT time.

Work around this as best as we can by providing an option in
/etc/e2fsck.conf which can be set on Ubuntu systems:

[options]
buggy_init_scripts = 1

Addresses-Debian-Bug: #441093
Addresses-Ubuntu-Bug: #131201

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agofsck: Ignore /etc/fstab entries for bind mounts
Theodore Ts'o [Thu, 20 Sep 2007 19:06:35 +0000 (15:06 -0400)]
fsck: Ignore /etc/fstab entries for bind mounts

If a user specifies a bind mount with a non-zero fsck pass number, for
example:

/foo    /bar    ext3    bind,defaults   1 3

print a warning and ignore the fstab entry.

Addresses-Red-Hat-Bugzilla: #151533

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoAdd test for the case where s_inode_size is zero
Theodore Ts'o [Fri, 7 Sep 2007 21:06:25 +0000 (17:06 -0400)]
Add test for the case where s_inode_size is zero

Older e2fsck's would crash; e2fsck should now automatically retry
using the backup superblock if it is present.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoDelete the test.img file after running the resize2fs tests
Theodore Ts'o [Fri, 7 Sep 2007 21:03:48 +0000 (17:03 -0400)]
Delete the test.img file after running the resize2fs tests

The resize2fs tests, r_move_itable and r_resize_inode, were not
deleting the test.img tmpfile after completing the test.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoe2fsck: If the superblock is corrupt, automatically retry with the backup sb
Theodore Ts'o [Fri, 7 Sep 2007 20:54:11 +0000 (16:54 -0400)]
e2fsck: If the superblock is corrupt, automatically retry with the backup sb

E2fsck currently only retries with the backup superblock if the
primary superblock is missing (e.g., overwritten with garbage).  If
the superblock is just corrupted enough that it looks like ext2/3/4
superblock, but it is corrupt enough that ext2fs_open2() returns an
error, e2fsck stops without retrying.  Let's fix this oversight.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoDon't crash if s_inode_size is zero
Theodore Ts'o [Fri, 7 Sep 2007 20:40:25 +0000 (16:40 -0400)]
Don't crash if s_inode_size is zero

Any attempt to open a filesystem with s_inode_size set to zero causes
a floating point exception.  This is true for e2fsck, dumpe2fs,
e2image, etc.  Fix ext2fs_open2() so that it returns the error code
EXT2_ET_CORRUPT_SUPERBLOCK instead of crashing.

Thanks to Dean Bender for reporting this bug.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoUse sscanf instead of atoi when parsing e2fsck options
Theodore Ts'o [Tue, 21 Aug 2007 02:55:33 +0000 (22:55 -0400)]
Use sscanf instead of atoi when parsing e2fsck options

atoi() does not check for errors so it shouldn't be used for human
input.  For example, if the user enters the command "e2fsck -C -n" and
forgets that -C requires an argument, the -n will be used as the
argument to -C, and not parsed as an option.  When using sscanf(),
this error case can be detected.

Addresses-Debian-Bug: #435381

Signed-off-by: Bernd Schubert <bs@q-leap.de>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoUpdate Dutch translation file from the Translation Project
Theodore Ts'o [Tue, 21 Aug 2007 02:14:36 +0000 (22:14 -0400)]
Update Dutch translation file from the Translation Project

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoFix typo and clarify the uuidgen man page
Theodore Ts'o [Tue, 21 Aug 2007 01:46:19 +0000 (21:46 -0400)]
Fix typo and clarify the uuidgen man page

Thanks to Matt Kraai for noticing the misplaced sentence inserted into
the description section.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoUpdate Swedish translation file from the Translation Project
Theodore Ts'o [Sat, 4 Aug 2007 02:25:25 +0000 (22:25 -0400)]
Update Swedish translation file from the Translation Project

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoMake sure $prefix/etc is created before installing mke2fs.conf
Theodore Ts'o [Sat, 4 Aug 2007 02:13:38 +0000 (22:13 -0400)]
Make sure $prefix/etc is created before installing mke2fs.conf

Fix up $(root_sysconfdir) handling misc/Makefile.in so that
make install and make uninstall works correctly when $prefix != /.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoe2fsck: Allow i_size to be rounded up to the size of a VM page
Theodore Ts'o [Sat, 4 Aug 2007 00:43:37 +0000 (20:43 -0400)]
e2fsck: Allow i_size to be rounded up to the size of a VM page

Allow files to be preallocated on-disk up to the next multiple of the
system's page size without complaining about extra blocks.

Signed-off-by: Andreas Dilger <adilger@clusterfs.com>
Signed-off-by: Girish Shilamkar <girish@clusterfs.com>
Signed-off-by: Kalpak Shah <kalpak@clusterfs.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoAdd "make check" to the RPM spec file
Theodore Ts'o [Sat, 4 Aug 2007 00:12:32 +0000 (20:12 -0400)]
Add "make check" to the RPM spec file

Signed-off-by: Andreas Dilger <adilger@clusterfs.com>
16 years agoFix mke2fs tests to avoid needing any significant ^M (CR) characters
Theodore Ts'o [Sun, 22 Jul 2007 20:36:51 +0000 (16:36 -0400)]
Fix mke2fs tests to avoid needing any significant ^M (CR) characters

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoFix test in ext2fs_check_desc() for inode table within block group
Eric Sandeen [Fri, 20 Jul 2007 21:50:26 +0000 (16:50 -0500)]
Fix test in ext2fs_check_desc() for inode table within block group

The test in ext2fs_check_desc() is off by one; if the inode table
goes all the way to the last block of the block group, it will
falsely assert that it has extended past it.  The last block
of a range is start + len -1, not start + len.

You can create (valid) filesystems that will cause e2fsck to complain
via one of the following mkfs commands:

mkfs.ext3 -F -b 1024 /dev/sdb1 2046000000
mke2fs -j -F -b 4096 -m 0 -N 5217280 /mnt/test/fsfile2 327680
mkfs.ext2 -F -b 1024 -m 0 -g 256 -N 3744 fsfile 1024

Addresses-Red-Hat-Bugzilla: #214765

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoProperly calculate overhead in ext2fs_initialize()
Theodore Ts'o [Sun, 22 Jul 2007 19:07:13 +0000 (15:07 -0400)]
Properly calculate overhead in ext2fs_initialize()

For some odd geometries*, mkfs will try to allocate inode tables off
the end of the block group and fail, rather than warning that too
many inodes have been requested.

This is because when ext2fs_initialize calculates metadata overhead,
it is only adding in group descriptor blocks and the superblock
if the *last* bg contains them - but the first bg also has all of
the various metadata bits taking up space.

We need to calculate the overhead both for the first block group and
the last block groups separately, since the two different tests need
to know what the overheads are for those two cases, which may be
different.

*for example "mke2fs  -b 1024 -m 0 -g 256 -N 3745 fsfile 1024"

(Note, the test here is a little funky; the expected output is
actually a mkfs failure - but a proper failure instead of the
allocator catching the problem at the last minute)

Addresses-Red-Hat-Bugzilla: #241767

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoAdd Catalan translation from the Translation Project
Theodore Ts'o [Wed, 18 Jul 2007 16:28:43 +0000 (12:28 -0400)]
Add Catalan translation from the Translation Project

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoFix big-endian byte-swapping bug in ext2fs_swap_inode_full()
Eric Sandeen [Wed, 18 Jul 2007 01:40:25 +0000 (20:40 -0500)]
Fix big-endian byte-swapping bug in ext2fs_swap_inode_full()

We need to set t->i_file_acl before we test it in
ext2fs_inode_data_blocks()

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoUpdate ChangeLog, README, RELEASE-NOTES for 1.40.2 release v1.40.2
Theodore Ts'o [Sat, 14 Jul 2007 13:03:17 +0000 (09:03 -0400)]
Update ChangeLog, README, RELEASE-NOTES for 1.40.2 release

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoUpdate tune2fs man page to include more discussion of reserved blocks
Theodore Ts'o [Thu, 12 Jul 2007 03:20:17 +0000 (23:20 -0400)]
Update tune2fs man page to include more discussion of reserved blocks

Addresses-Launchpad-bug: #47817

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoUpdate Dutch and Vietnamese PO files from the Translation Project
Theodore Ts'o [Thu, 12 Jul 2007 00:22:52 +0000 (20:22 -0400)]
Update Dutch and Vietnamese PO files from the Translation Project

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoFix e2fsck segfault on very badly damaged filesystems
Theodore Ts'o [Wed, 11 Jul 2007 17:42:43 +0000 (13:42 -0400)]
Fix e2fsck segfault on very badly damaged filesystems

A recent change to e2fsck_add_dir_info() to use tdb files to check
filesystems with a very large number of filesystems had a typo which
caused us to resize the wrong data structure.  This would cause a
array overrun leading to malloc pointer corruptions.  Since we
normally can very accurately predict how big the the dirinfo array
needs to be, this bug only got triggered on very badly corrupted
filesystems.

Thanks to Andreas Dilger for submitting the test case which discovered
this problem, and to Kalpak Shah for writing a random testing script
which created the test case.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoUpdate Polish translation from the Translation Project
Theodore Ts'o [Tue, 10 Jul 2007 13:45:47 +0000 (09:45 -0400)]
Update Polish translation from the Translation Project

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoe2fsck: Fix salvage_directory when the last entry's rec_len is too big
Kalpak Shah [Mon, 9 Jul 2007 17:05:45 +0000 (13:05 -0400)]
e2fsck: Fix salvage_directory when the last entry's rec_len is too big

  Recently, one of our customers found this message in pass2 of e2fsck
  while doing some regression testing:

  "Entry '4, 0x695a, 0x81ff, 0x0040, 0x8320, 0xa192, 0x0021' in ??? (136554) has
  rec_len of 14200, should be 26908."

  Both the displayed rec_len and the "should be" value are bogus. The
  reason is that salvage_directory sets a offset beyond blocksize
  leading to bogus messages.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoUpdate Turkish translation from Translation Project
Theodore Ts'o [Mon, 9 Jul 2007 17:13:35 +0000 (13:13 -0400)]
Update Turkish translation from Translation Project

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoFix typo'ed version number in the release notes
Theodore Ts'o [Mon, 9 Jul 2007 03:24:19 +0000 (23:24 -0400)]
Fix typo'ed version number in the release notes

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoFix debian/control file to use ${binary:Version} instead of ${Source-Version} v1.40.1
Theodore Ts'o [Mon, 9 Jul 2007 01:36:59 +0000 (21:36 -0400)]
Fix debian/control file to use ${binary:Version} instead of ${Source-Version}

This is a Lintian-requested cleanup so that e2fsprogs will be
correctly built with binaryNMU's.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoFix up Lintain complaint about the "make distclean" ignoring errors
Theodore Ts'o [Mon, 9 Jul 2007 01:36:12 +0000 (21:36 -0400)]
Fix up Lintain complaint about the "make distclean" ignoring errors

This is a Debian-specific debian/rules change, just to clean up the
packaging script.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoUpdate ChangeLog, README, RELEASE-NOTES for 1.40.1 release
Theodore Ts'o [Mon, 9 Jul 2007 00:26:51 +0000 (20:26 -0400)]
Update ChangeLog, README, RELEASE-NOTES for 1.40.1 release

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoAdd debugging printf to blkid's probe routine when original fs type failed
Theodore Ts'o [Mon, 9 Jul 2007 00:17:31 +0000 (20:17 -0400)]
Add debugging printf to blkid's probe routine when original fs type failed

This particular bit of code has caused problems before, so make it
easier to debug problems caused by the probe verification looping
forever here.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoStop after the second '.' when parsing version numbers
Theodore Ts'o [Sun, 8 Jul 2007 16:37:13 +0000 (12:37 -0400)]
Stop after the second '.' when parsing version numbers

Now that we are moving to x.y.z version number scheme for maintenance
releases, we ned to change ext2fs_parse_version_string and
blkid_parse_version_string to ignore the second period so we don't
have maintenance releases with a substantially bigger verison number
than the initial x.y release.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoUpdate the *.po and *.gmo files after the e2fsprogs.pot update
Theodore Ts'o [Sun, 8 Jul 2007 16:09:40 +0000 (12:09 -0400)]
Update the *.po and *.gmo files after the e2fsprogs.pot update

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoRemove Changelog files since they're not used after the git migration
Theodore Ts'o [Sun, 8 Jul 2007 02:25:07 +0000 (22:25 -0400)]
Remove Changelog files since they're not used after the git migration

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoUpdate e2fsprogs.pot for translators
Theodore Ts'o [Sun, 8 Jul 2007 02:24:13 +0000 (22:24 -0400)]
Update e2fsprogs.pot for translators

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoFix bug which could cause libblkid to loop forever
Theodore Ts'o [Sat, 7 Jul 2007 22:32:26 +0000 (18:32 -0400)]
Fix bug which could cause libblkid to loop forever

When revalidating a partition where there is obsolete information in
/etc/blkid.tab, we end up freeing a the type tag without clearing
dev->bid_type, causing blkid_verify() to loop forever.

Addresses-Debian-Bug: #432052

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoUpdate French and Dutch translation files
Theodore Ts'o [Sat, 7 Jul 2007 21:44:53 +0000 (17:44 -0400)]
Update French and Dutch translation files

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoUpdate Vietnamese PO file from the Translation Project
Theodore Ts'o [Thu, 5 Jul 2007 03:30:36 +0000 (23:30 -0400)]
Update Vietnamese PO file from the Translation Project

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoImprove the config/parse_types.sh helper script
Theodore Ts'o [Wed, 4 Jul 2007 20:28:47 +0000 (16:28 -0400)]
Improve the config/parse_types.sh helper script

Fix a potential security problem if e2fsprogs is built as root (as
Gentoo does!).  In addition fix the script and how it is called from
the configure script so that it does the right thing when
cross-compiling.

Fixes-Gentoo-bug: #146903

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoFix bogus strip permission errors when building under Debian
Theodore Ts'o [Wed, 4 Jul 2007 18:51:18 +0000 (14:51 -0400)]
Fix bogus strip permission errors when building under Debian

When building the e2fsprogs dpkg's, the dh_strip command emits a large
number of error messages caused by the permissions not being right.  So
run dh_fixperms before running dh_strip.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoCompile the default mke2fs.conf into mke2fs program
Theodore Ts'o [Wed, 4 Jul 2007 18:10:46 +0000 (14:10 -0400)]
Compile the default mke2fs.conf into mke2fs program

People are getting surprised by mke2fs creating filesystems with
different defaults than earlier versions of mke2fs if mke2fs.conf is
not present.  Having gotten two complaints about ramdisks getting
created by with 4k blocksizes which then blow up when the ramdisk is
mounted with a "Magic mismatch, very weird" error message from the
kernel, let's fix this by making sure mke2fs has a built-in version of
mke2fs.conf file.  People can still override the built-in version of
mke2fs.conf by editing /etc/mke2fs.conf, but this maintains the
previous behavior.

Addresses-Sourceforge-Bug: #1745818

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoAdd new function: profile_set_default()
Theodore Ts'o [Wed, 4 Jul 2007 17:03:35 +0000 (13:03 -0400)]
Add new function: profile_set_default()

profile_set_default() sets the value of the pseudo file "<default>".
If the file "<default>" had previously been passed to profile_init(),
then def_string parameter will be parsed and used as the profile
information for the "<default>" file.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoAdd PROFILE_FILE_NO_RELOAD flag which is used by profile_update_file()
Theodore Ts'o [Wed, 4 Jul 2007 14:36:15 +0000 (10:36 -0400)]
Add PROFILE_FILE_NO_RELOAD flag which is used by profile_update_file()

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoe2fsck: Detect recursive loops in @-expansions
Theodore Ts'o [Mon, 2 Jul 2007 23:04:31 +0000 (19:04 -0400)]
e2fsck: Detect recursive loops in @-expansions

The Turkish translation has a bug in it where it has the translation
of "E@e '%Dn' in %p (%i)" to "E@E".  This causes @E to be expanded at
@E, recursively, forever, until the stack fills up e2fsck core dumps.

Fix it by stopping after a recursive depth of 10, which is far more
than we need.

Addresses-Sourceforge-Bug: 1646081

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoMake it clear in an error message that it is mk_cmds that is complaining
Theodore Ts'o [Sun, 1 Jul 2007 00:05:41 +0000 (20:05 -0400)]
Make it clear in an error message that it is mk_cmds that is complaining

Obviates gentoo patch: e2fsprogs-1.32-mk_cmds-cosmetic.patch

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoSet LC_ALL instead of LANG in the test suite config
Theodore Ts'o [Sat, 30 Jun 2007 22:41:31 +0000 (18:41 -0400)]
Set LC_ALL instead of LANG in the test suite config

LC_ALL is the "high priority" environment variable that overrides all
others, where as LANG is the lowest priorty environment variable.  If
LC_ALL is set, it doesn't matter whether LANG, LANGUAGE, LC_COLLATE,
LC_MESSAGES, and the all the rest are set.  This will assure that the
locale when running the test suites is the "C" locale.

Obviates Gentoo patch: e2fsprogs-1.38-tests-locale.patch

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoAdd .gitignore file
Theodore Ts'o [Sat, 30 Jun 2007 21:01:42 +0000 (17:01 -0400)]
Add .gitignore file

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