Whamcloud - gitweb
tools/e2fsprogs.git
17 years agoMerge branch 'maint' into next
Theodore Ts'o [Mon, 17 Dec 2007 15:28:01 +0000 (10:28 -0500)]
Merge branch 'maint' into next

Conflicts:

lib/ext2fs/closefs.c

17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 years agoMerge branch 'maint' into next
Theodore Ts'o [Sun, 9 Dec 2007 22:03:01 +0000 (17:03 -0500)]
Merge branch 'maint' into next

Conflicts:

lib/ext2fs/closefs.c

17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 years agoMerge basic FLEX_BG support
Theodore Ts'o [Sun, 4 Nov 2007 01:01:01 +0000 (21:01 -0400)]
Merge basic FLEX_BG support

Merge commit 'c2d4300b8a4a13d8a78b86c386f76259f23feec2' into next

17 years agoEnable FLEX_BG feature support
Jose R. Santos [Tue, 14 Aug 2007 04:32:57 +0000 (23:32 -0500)]
Enable FLEX_BG feature support

Add FLEX_BG as a supported feature bit.

Add support to mke2fs to create filesystems with FLEX_BG.

Add support to tune2fs to add (and remove, if it won't break
filesystem consistency) the FLEX_BG feature.

Signed-off-by: Jose R. Santos <jrs@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
--

 lib/e2p/feature.c   |    2 ++
 lib/ext2fs/ext2fs.h |    6 ++++--
 misc/mke2fs.c       |    7 ++++++-
 3 files changed, 12 insertions(+), 3 deletions(-)

17 years agoRelax group descriptor checking for FLEX_BG
Jose R. Santos [Tue, 14 Aug 2007 04:33:03 +0000 (23:33 -0500)]
Relax group descriptor checking for FLEX_BG

The FLEX_BG feature allows the inode table, block bitmap, and inode
bitmaps to be located anywhere in the filesystem.  Update e2fsck and
libext2fs's checking code to recognize this.

Signed-off-by: Jose R. Santos <jrs@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
--

 e2fsck/super.c          |   14 ++++++++++++--
 lib/ext2fs/check_desc.c |   15 +++++++++++++--
 2 files changed, 25 insertions(+), 4 deletions(-)

17 years agolib/ext2fs/Makefile.in: Reorder some of the $(SRCS) in alphabetical order.
Jose R. Santos [Mon, 22 Oct 2007 02:03:14 +0000 (21:03 -0500)]
lib/ext2fs/Makefile.in: Reorder some of the $(SRCS) in alphabetical order.

All files under $(OBJS) and $(SRCS) should be in alphabetical order
but this is not always the case.  Let fix some some of these before
applying new files to the list of $(SRCS).

Signed-off-by: Jose R. Santos <jrs@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
--

 lib/ext2fs/Makefile.in |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

17 years agoReserve the INCOMPAT feature number for FLEX_BG.
Jose R. Santos [Tue, 14 Aug 2007 04:32:51 +0000 (23:32 -0500)]
Reserve the INCOMPAT feature number for FLEX_BG.

Signed-off-by: Jose R. Santos <jrs@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
--

 lib/ext2fs/ext2_fs.h |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

17 years agoMerge branch 'cl/remove-masix' into next
Theodore Ts'o [Thu, 1 Nov 2007 05:54:22 +0000 (01:54 -0400)]
Merge branch 'cl/remove-masix' into next

17 years agomke2fs: remove masix support
Coly Li [Thu, 23 Aug 2007 07:09:03 +0000 (15:09 +0800)]
mke2fs: remove masix support

This patch remove masix support from mke2fs.

Signed-off-by: Coly Li <coyli@suse.de>
17 years agoe2fsck: remove masix support
Coly Li [Thu, 23 Aug 2007 07:08:18 +0000 (15:08 +0800)]
e2fsck: remove masix support

This patch remove masix support from e2fsck.

Signed-off-by: Coly Li <coyli@suse.de>
17 years agolibext2fs: remove masix support
Coly Li [Thu, 23 Aug 2007 07:08:30 +0000 (15:08 +0800)]
libext2fs: remove masix support

This patch remove masix support from lib/ext2fs.

Signed-off-by: Coly Li <coyli@suse.de>
17 years agodocument: remove masix from data structure
Coly Li [Thu, 23 Aug 2007 07:08:35 +0000 (15:08 +0800)]
document: remove masix from data structure

This patch remove masix union from data structure in ext2ed-design.sgml.

Signed-off-by: Coly Li <coyli@suse.de>
17 years agodebugfs: remove masix support
Coly Li [Thu, 23 Aug 2007 07:08:37 +0000 (15:08 +0800)]
debugfs: remove masix support

This patch remove masix supporting from debugfs.

Singed-off-by: Coly Li <coyli@suse.de>
--

17 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>
17 years agocheck_ea_in_inode: Cleanup e2fsck_write_inode_full() call
Dmitry V. Levin [Sat, 20 Oct 2007 18:10:26 +0000 (22:10 +0400)]
check_ea_in_inode: Cleanup e2fsck_write_inode_full() call

Avoid pointer cast and call e2fsck_write_inode_full() the same way
as check_inode_extra_space() does.

Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
17 years agoblkid.pc, ss.pc: Move private libs from "Libs:" to "Libs.private:"
Dmitry V. Levin [Sat, 20 Oct 2007 18:09:30 +0000 (22:09 +0400)]
blkid.pc, ss.pc: Move private libs from "Libs:" to "Libs.private:"

According to pkg-config(1) manual page, private libraries should be
defined by "Libs.private:" line.  Private libraries are libraries which
are not exposed through our library, but are needed in the case of
static linking.

Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
17 years agotexinfo: Fix directory entries
Dmitry V. Levin [Sat, 20 Oct 2007 18:09:13 +0000 (22:09 +0400)]
texinfo: Fix directory entries

According to texinfo documentation, @dircategory and
@direntry...@end direntry commands are more appropriate.

For details see
http://www.gnu.org/software/texinfo/manual/texinfo/html_node/Installing-Dir-Entries.html

Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
17 years agoblkid/test_probe.in: Fix temporary files handling
Dmitry V. Levin [Sat, 20 Oct 2007 18:08:51 +0000 (22:08 +0400)]
blkid/test_probe.in: Fix temporary files handling

Avoid placing files with predictable names in /tmp.

Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
17 years agoCheck fgets(3) return value
Dmitry V. Levin [Sat, 20 Oct 2007 18:08:40 +0000 (22:08 +0400)]
Check fgets(3) return value

When fgets() function fails, contents of the buffer is undefined.  That
is, fgets() return value needs to be checked, to avoid undefined behavior.

Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
17 years agoe2image: Fix potential off-by-one fs_device_name buffer overflow
Dmitry V. Levin [Sat, 20 Oct 2007 18:08:20 +0000 (22:08 +0400)]
e2image: Fix potential off-by-one fs_device_name buffer overflow

In write_image_file(), fix length argument of strncat(3) call.

Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
17 years agoMerge branch 'tt/badblocks-cleanup' into next
Theodore Ts'o [Mon, 22 Oct 2007 22:11:24 +0000 (18:11 -0400)]
Merge branch 'tt/badblocks-cleanup' into next

17 years agobadblocks: Factor out calls to strtoul to a helper function
Theodore Ts'o [Mon, 22 Oct 2007 14:19:20 +0000 (10:19 -0400)]
badblocks: Factor out calls to strtoul to a helper function

The strtoul() function has a lot of messy error checking that needs to
be done; by factoring it out into one place we can make sure it's done
right in all of the places where it is called.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agobadblocks: Change unsigned long to blk_t and unsigned int, as appropriate
Theodore Ts'o [Mon, 22 Oct 2007 14:09:05 +0000 (10:09 -0400)]
badblocks: Change unsigned long to blk_t and unsigned int, as appropriate

This will make it easier for us to support 64-bit block numbers when
the time comes.  Not that running badblocks on a > 4TB machine is
anything I want to contemplate!

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agobadblocks: Use unsigned int instead of unsigned long for test patterns
Theodore Ts'o [Mon, 22 Oct 2007 13:51:50 +0000 (09:51 -0400)]
badblocks: Use unsigned int instead of unsigned long for test patterns

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agobadblocks: Factor out calls to strtoul to a helper function
Theodore Ts'o [Mon, 22 Oct 2007 14:19:20 +0000 (10:19 -0400)]
badblocks: Factor out calls to strtoul to a helper function

The strtoul() function has a lot of messy error checking that needs to
be done; by factoring it out into one place we can make sure it's done
right in all of the places where it is called.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agobadblocks: Change unsigned long to blk_t and unsigned int, as appropriate
Theodore Ts'o [Mon, 22 Oct 2007 14:09:05 +0000 (10:09 -0400)]
badblocks: Change unsigned long to blk_t and unsigned int, as appropriate

This will make it easier for us to support 64-bit block numbers when
the time comes.  Not that running badblocks on a > 4TB machine is
anything I want to contemplate!

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agobadblocks: Use unsigned int instead of unsigned long for test patterns
Theodore Ts'o [Mon, 22 Oct 2007 13:51:50 +0000 (09:51 -0400)]
badblocks: Use unsigned int instead of unsigned long for test patterns

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agochattr: provide an exit code in case of failure and add -f flag
Theodore Ts'o [Mon, 22 Oct 2007 12:51:39 +0000 (08:51 -0400)]
chattr: provide an exit code in case of failure and add -f flag

Fix chattr so that if there are errors, it will report it via a
non-zero exit code.  It will now explicitly give errors when
attempting to set files that are not files or directories (which are
currently not supported under Linux).  The -f flag will suppress error
messages from being printed, although the exit status will still be
non-zero.

Addresses-Red-Hat-Bugzilla: #180596

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
17 years agolibe2p: Change iterate_on_dir so that it counts non-zero returns
Theodore Ts'o [Mon, 22 Oct 2007 12:25:13 +0000 (08:25 -0400)]
libe2p: Change iterate_on_dir so that it counts non-zero returns

To allow error messages to be reflected up, if the callback function
returns a non-zero value, bump a counter and return the number of
times the callback function signals an error by returning a non-zero
status code.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agolibe2p: Use lstat() instead of stat() in fsetflags() and fgetflags()
Theodore Ts'o [Mon, 22 Oct 2007 05:36:13 +0000 (01:36 -0400)]
libe2p: Use lstat() instead of stat() in fsetflags() and fgetflags()

We can't set the flags on symbolic links, so check for them using
lstat().

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoMerge branch 'maint' into next
Theodore Ts'o [Mon, 15 Oct 2007 20:24:56 +0000 (16:24 -0400)]
Merge branch 'maint' into next

17 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>
17 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>
17 years agolibext2fs: Add EXT2_DESC_SIZE and EXT2_DESC_PER_BLOCK macros
Valerie Clement [Thu, 30 Aug 2007 15:38:13 +0000 (17:38 +0200)]
libext2fs: Add EXT2_DESC_SIZE and EXT2_DESC_PER_BLOCK macros

Add macros to support variable-length group descriptors for ext4.

Signed-off-by: Valerie Clement <valerie.clement@bull.net>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agolibext2fs: cleanup usage of unsigned int or __u32 and replace it with blk_t
Valerie Clement [Thu, 30 Aug 2007 15:33:40 +0000 (17:33 +0200)]
libext2fs: cleanup usage of unsigned int or __u32 and replace it with blk_t

Signed-off-by: Valerie Clement <valerie.clement@bull.net>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agolibext2fs: use ext2fs_group_first_block() instead of open-coded equivalent
Valerie Clement [Thu, 30 Aug 2007 15:31:36 +0000 (17:31 +0200)]
libext2fs: use ext2fs_group_first_block() instead of open-coded equivalent

Use ext2fs_group_first_block() instead of the open-coded equivalent in
ext2fs_super_and_bgd_loc() and ext2fs_descriptor_block_loc().

Signed-off-by: Valerie Clement <valerie.clement@bull.net>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoAdd blk64_t type definition
Theodore Ts'o [Sun, 14 Oct 2007 15:23:20 +0000 (11:23 -0400)]
Add blk64_t type definition

This will be used for all new functions so we can gradually move
e2fsprogs to support 64 bit blocks.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 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>
17 years agoMerge branch 'maint'
Theodore Ts'o [Sat, 6 Oct 2007 16:41:26 +0000 (12:41 -0400)]
Merge branch 'maint'

17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 years agoMerge branch 'maint'
Theodore Ts'o [Tue, 21 Aug 2007 02:58:25 +0000 (22:58 -0400)]
Merge branch 'maint'

17 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>
17 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>
17 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>
17 years agoRemove configure --enable-swapfs and associated support #defines
Theodore Ts'o [Sat, 11 Aug 2007 07:11:12 +0000 (03:11 -0400)]
Remove configure --enable-swapfs and associated support #defines

This removes the last vestiges of support for the legacy PowerPC
big-endian filesystem format.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoClean up applications to not use EXT2FS_ENABLE_SWAPFS or EXT2_FLAG_SWAP_BYTES
Theodore Ts'o [Sat, 11 Aug 2007 06:57:31 +0000 (02:57 -0400)]
Clean up applications to not use EXT2FS_ENABLE_SWAPFS or EXT2_FLAG_SWAP_BYTES

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoClean up libext2fs by byte swapping iff WORDS_BIGENDIAN
Theodore Ts'o [Sat, 11 Aug 2007 05:56:48 +0000 (01:56 -0400)]
Clean up libext2fs by byte swapping iff WORDS_BIGENDIAN

We don't need byte swapping to be a run-time option; it can just be a
compile-time option instead.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoRemove PowerPC bitmap hackery since it's not been needed since Linux 2.1
Theodore Ts'o [Sat, 11 Aug 2007 05:34:22 +0000 (01:34 -0400)]
Remove PowerPC bitmap hackery since it's not been needed since Linux 2.1

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoRemove e2fsck's swapfs test, since we've removed the functionality
Theodore Ts'o [Sat, 11 Aug 2007 04:00:01 +0000 (00:00 -0400)]
Remove e2fsck's swapfs test, since we've removed the functionality

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoRemove e2fsck's -s and -S options to byte-swap ancient PPC filesystems
Theodore Ts'o [Sat, 11 Aug 2007 03:58:56 +0000 (23:58 -0400)]
Remove e2fsck's -s and -S options to byte-swap ancient PPC filesystems

The need for fixing byte-swapped filesystems is long-gone, and this is
getting in the way of cleaning up e2fsprogs's bitmaps code.  So let's
get rid of it; modern kernels haven't been able to deal with a
byte-swapped filesystem in in about 9 years.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoMerge branch 'maint'
Theodore Ts'o [Sat, 4 Aug 2007 03:21:34 +0000 (23:21 -0400)]
Merge branch 'maint'

17 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>
17 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>
17 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>
17 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>
17 years agoMiscellaneous Cleanups
Theodore Ts'o [Sat, 4 Aug 2007 00:10:46 +0000 (20:10 -0400)]
Miscellaneous Cleanups

Signed-off-by: Andreas Dilger <adilger@clusterfs.com>
Signed-off-by: Girish Shilamkar <girish@clusterfs.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoAdd I/O statistics to e2fsck
Theodore Ts'o [Sat, 4 Aug 2007 00:07:09 +0000 (20:07 -0400)]
Add I/O statistics to e2fsck

This patch instruments the libext2fs unix I/O manager and adds bytes
read/written and data rate to e2fsck -tt pass/overall timing output.

Signed-off-by: Jim Garlick <garlick@llnl.gov>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoSilence makefile from showing the awk command when building DEFAULT_TO_C
Theodore Ts'o [Fri, 3 Aug 2007 23:02:03 +0000 (19:02 -0400)]
Silence makefile from showing the awk command when building DEFAULT_TO_C

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoFix gcc -Wall warnings
Theodore Ts'o [Fri, 3 Aug 2007 22:56:01 +0000 (18:56 -0400)]
Fix gcc -Wall warnings

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agolibext2fs: 32-bit bitmap refactorization, part 3
Theodore Ts'o [Mon, 23 Jul 2007 08:32:48 +0000 (04:32 -0400)]
libext2fs: 32-bit bitmap refactorization, part 3

Create new functions ext2fs_{set,get}_{inode,block}_bitmap_range()
which allow programs like e2fsck, dumpe2fs, etc. to get and set chunks
of the bitmap at a time.

Move the representation details of the 32-bit old-style bitmaps into
gen_bitmap.c.

Change calls in dumpe2fs, mke2s, et. al to use the new abstractions.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agolibext2fs: 32-bit bitmap refactorization, part 2
Theodore Ts'o [Mon, 23 Jul 2007 03:42:14 +0000 (23:42 -0400)]
libext2fs: 32-bit bitmap refactorization, part 2

Move the contents of rs_bitmap.c and cmp_bitmaps.c into gen_bitmap.c
and bitmaps.c.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agolibext2fs: 32-bit bitmap refactorization, part 1
Theodore Ts'o [Mon, 23 Jul 2007 02:59:50 +0000 (22:59 -0400)]
libext2fs: 32-bit bitmap refactorization, part 1

Move the 32-bit specific bitmap code into gen_bitmap.c, and the
high-level interfaces into bitmaps.c.  Eventually we'll move the
new-style bitmap code into gen_bitmap64.c, but first we need to
isolate the code with knowledge of the bitmap internals in one place
first.

In this patch we move allocation, free, copy, clear, set_padding, and
fudge_end function into gen_bitmap.c, and make sure that the bitmaps.c
and bitops.c no longer have any knowledge of the bitmap internals.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoMove ext2fs_get_{block,inode}_bitmap_{start,end}() to generic functions
Theodore Ts'o [Sun, 22 Jul 2007 23:16:08 +0000 (19:16 -0400)]
Move ext2fs_get_{block,inode}_bitmap_{start,end}() to generic functions

Create ext2fs_get_generic_bitmap_{start,end}() and use them for inline
functions.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoUninline ext2fs_{mark,unmark,test}_block_bitmap_range() to gen_bitmap.c
Theodore Ts'o [Sun, 22 Jul 2007 22:54:10 +0000 (18:54 -0400)]
Uninline ext2fs_{mark,unmark,test}_block_bitmap_range() to gen_bitmap.c

Also uninline ext2fs_fast_{mark,unmark,test}_block_bitmap_range() and
use the generic routines.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoChange fast ext2fs bitmap functions to use the generic bitmap functions
Theodore Ts'o [Sun, 22 Jul 2007 21:57:13 +0000 (17:57 -0400)]
Change fast ext2fs bitmap functions to use the generic bitmap functions

This changes ext2fs_fast_{mark,unmark,test}_{inode,block}_bitmap() to
be inline functions which calls ext2fs_{mark,unmark,test}_generic_bitmap().

This is part of the preparation to support the new-style bitmaps.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoMove ext2fs_test_generic_bitmap() to gen_bitmap.c
Theodore Ts'o [Sun, 22 Jul 2007 21:42:52 +0000 (17:42 -0400)]
Move ext2fs_test_generic_bitmap() to gen_bitmap.c

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