Whamcloud - gitweb
tools/e2fsprogs.git
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>
16 years agoAdd .git directory to set of files to be ignored when building tarballs
Theodore Ts'o [Sat, 30 Jun 2007 20:47:38 +0000 (16:47 -0400)]
Add .git directory to set of files to be ignored when building tarballs

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoUpdate e2fsprogs 1.40 changelogs
Theodore Ts'o [Sat, 30 Jun 2007 03:09:16 +0000 (23:09 -0400)]
Update e2fsprogs 1.40 changelogs

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoAdded tag E2FSPROGS-1_40 for changeset 097cd140ac3b E2FSPROGS-1_40 v1.40
Theodore Ts'o [Sat, 30 Jun 2007 02:05:59 +0000 (22:05 -0400)]
Added tag E2FSPROGS-1_40 for changeset 097cd140ac3b

16 years agoRelease of e2fsprogs version 1.40
Theodore Ts'o [Sat, 30 Jun 2007 02:05:14 +0000 (22:05 -0400)]
Release of e2fsprogs version 1.40

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoFix byte swapping bug in get_next_inode_full()
Kalpak Shah [Sat, 30 Jun 2007 01:40:19 +0000 (21:40 -0400)]
Fix byte swapping bug in get_next_inode_full()

On big-endian systems, while swapping, ext2fs_swap_inode_full() swaps
only 128+extra_isize bytes and the EAs if they are present. Now if inode
N has EAs, (and this is the inode in the "scratch inode") then inode N+1
also carries seems to have them since the "scratch inode" was never
zeroed.

Signed-off-by: Kalpak Shah <kalpak@clusterfs.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoUpdate Release Notes, Changelogs, version.h, etc. for 1.40 release
Theodore Ts'o [Sun, 24 Jun 2007 21:32:47 +0000 (17:32 -0400)]
Update Release Notes, Changelogs, version.h, etc. for 1.40 release

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoFix divide by zero error in blkid's NTFS probing logic
Theodore Ts'o [Sun, 24 Jun 2007 21:17:24 +0000 (17:17 -0400)]
Fix divide by zero error in blkid's NTFS probing logic

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoFix the info-dir line for the com_err.texinfo file
Theodore Ts'o [Sun, 24 Jun 2007 20:59:36 +0000 (16:59 -0400)]
Fix the info-dir line for the com_err.texinfo file

Fix the info-dir line so that the menu name does not contain a .info
prefix.  First of all, it's ugly, secondly, it causes the install-info
command to fail to remove the com_err info file from the
/usr/share/info/dir file when the comerr-dev package is removed and
purged.

Addresses Debian Bug: #401711

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoRemove RFC-4122 from e2fsprogs distribution
Theodore Ts'o [Sun, 24 Jun 2007 20:49:14 +0000 (16:49 -0400)]
Remove RFC-4122 from e2fsprogs distribution

Documentation about UUID's is available in enough places, and it's
awkward to deal with debian-legal's insanities.  So I'm caving in the
"more-lunatic-than-RMS" wing of Debian by removing RFC-4122 so we don't
have do the dfsg tarball.   Also remove the rule that only tried to
install RFC-4122 on Ubuntu, since Ubuntu seems to want to fetch
e2fsprogs exclusively from Debian.

Addresses Debian Bug: #407107

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoClarify the copyright licenses used by the various libraries in COPYING
Theodore Ts'o [Sat, 23 Jun 2007 05:04:53 +0000 (01:04 -0400)]
Clarify the copyright licenses used by the various libraries in COPYING

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoFix ext2fs_read_inode_full() so that the whole inode is byte-swapped
Kalpak Shah [Sat, 23 Jun 2007 02:32:43 +0000 (22:32 -0400)]
Fix ext2fs_read_inode_full() so that the whole inode is byte-swapped

Signed-off-by: Kalpak Shah <kalpak@clusterfs.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoFix byte-swapping issues for the i_extra_size field
Theodore Ts'o [Fri, 22 Jun 2007 23:53:21 +0000 (19:53 -0400)]
Fix byte-swapping issues for the i_extra_size field

Thanks to Andreas Dilger and Kalpak Shah for spotting this problem.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoe2fsck: added sanity check for xattr validation
Andreas Dilger [Fri, 22 Jun 2007 06:22:38 +0000 (02:22 -0400)]
e2fsck: added sanity check for xattr validation

Add an extra validity test in check_ext_attr().  If an attribute's
e_value_size is zero the current code does not allocate a region for it
and as a result the e_value_offs value is not verified.  However, if
e_value_offs is very large then the later call to
ext2fs_ext_attr_hash_entry() can dereference bad memory and crash
e2fsck.

Signed-off-by: Andreas Dilger <adilger@clusterfs.com>
Signed-off-by: Jim Garlick <garlick@llnl.gov>
16 years agoAdd support for LUKS encrypted partitions
Karsten Hopp [Thu, 21 Jun 2007 17:43:33 +0000 (13:43 -0400)]
Add support for LUKS encrypted partitions

This patch adds support for cryptsetup-luks (http://luks.endorphin.org)
UUIDs to libblkid.  This is required p.e. to avoid hardcoding device
names for encrypted partitions.  Could you please take a look at it and
consider inclusion in the next e2fsprogs release ?

Signed-off-by: Karsten Hopp <karsten@redhat.com>
16 years agoFix gcc -Wall bug in e2fsck
Theodore Ts'o [Thu, 21 Jun 2007 17:31:13 +0000 (13:31 -0400)]
Fix gcc -Wall bug in e2fsck

Remove extraneous return after fatal_error().

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoNew regression test which contains a corrupt ind. block in the journal inode
Kalpak Shah [Thu, 21 Jun 2007 17:30:06 +0000 (13:30 -0400)]
New regression test which contains a corrupt ind. block in the journal inode

Signed-off-by: Kalpak Shah <kalpak@clusterfs.com>
Signed-off-by: Andreas Dilger <adilger@clusterfs.com>
16 years agoe2fsck: Check the all of journal blocks for validity
Theodore Ts'o [Thu, 21 Jun 2007 15:59:06 +0000 (11:59 -0400)]
e2fsck: Check the all of journal blocks for validity

The original code only checked the direct blocks to make sure the
journal inode was sane.  Unfortunately, if some or all of the indirect
or doubly indirect blocks were corrupted, this would not be caught.
Thanks to Andreas Dilger and Kalpak Shah for noticing this problem.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoWrite the updated journal inode if s_jnl_blocks was successfully used
Kalpak Shah [Thu, 21 Jun 2007 15:59:06 +0000 (11:59 -0400)]
Write the updated journal inode if s_jnl_blocks was successfully used

If the journal inode was corrected from s_jnl_blocks, write the fixed
journal inode back to disk.

Signed-off-by: Kalpak Shah <kalpak@clusterfs.com>
Signed-off-by: Andreas Dilger <adilger@clusterfs.com>
16 years agoRecreate journal that had been removed previously due to corruption
Kalpak Shah [Thu, 21 Jun 2007 15:59:06 +0000 (11:59 -0400)]
Recreate journal that had been removed previously due to corruption

If the journal had been removed because it was corrupt, the
E2F_FLAG_JOURNAL_INODE flag will be set.  If this flag is set, then
recreate the filesystem after checking the filesystem.

Signed-off-by: Kalpak Shah <kalpak@clusterfs.com>
Signed-off-by: Andreas Dilger <adilger@clusterfs.com>
16 years agoAdd default journal size function
Theodore Ts'o [Thu, 21 Jun 2007 15:59:06 +0000 (11:59 -0400)]
Add default journal size function

Factor out the code which sets the default journal size and move it
into libext2fs.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoAdd more paranoid NTFS probing and fetch UUID and LABEL information
Theodore Ts'o [Tue, 19 Jun 2007 07:29:47 +0000 (03:29 -0400)]
Add more paranoid NTFS probing and fetch UUID and LABEL information

Hopefully this addresses false positives by the blkid library when
detecting NTFS partitions.

Addresses Launchpad Bug: #110138

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoDon't write changes to the backup superblocks by default
Theodore Ts'o [Mon, 18 Jun 2007 22:26:50 +0000 (18:26 -0400)]
Don't write changes to the backup superblocks by default

This patch changes ext2fs_open() to set EXT2_FLAG_MASTER_SB_ONLY by
default.  This avoids some problems in e2fsck (reported by Jim Garlick)
where a corrupt journal can end up writing the bad superblock to the
backups.  In general, only e2fsck (after the filesystem is clean),
tune2fs, and resize2fs should change the backup superblocks by default.
Most callers of ext2fs_open() should not be touching anything where the
backups should be touched.  So let's change the defaults to avoid
potential problems.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoFix error checking of badblock's last-block and start-block arguments
Theodore Ts'o [Mon, 4 Jun 2007 05:49:51 +0000 (01:49 -0400)]
Fix error checking of badblock's last-block and start-block arguments

Addresses Debian Bug: #416477

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoFix e2fsck's get_size logic so it will work with the Linux floppy driver
Theodore Ts'o [Mon, 4 Jun 2007 05:14:52 +0000 (01:14 -0400)]
Fix e2fsck's get_size logic so it will work with the Linux floppy driver

The Linux floppy driver is a bit different from the other block device
drivers, in that if the device has been opened with O_EXCL, it disallows
another open(), even if the second open() does not have the O_EXCL flag.
So this patch moves the call to ext2fs_get_device_size() so that if it
returns EBUSY, e2fsck can close the filesystem, retry the device size,
and then reopen it.  This rather complicated approach is required since
we need to know the blocksize of the filesystem before we can call
ext2fs_get_device_size().

Addresses Debian Bug: #410569

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoAdd test to make sure the ext2 superblock structure is 1024 bytes
Theodore Ts'o [Thu, 31 May 2007 16:39:02 +0000 (12:39 -0400)]
Add test to make sure the ext2 superblock structure is 1024 bytes

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoReserve superblock field for the raid stripe width.
Theodore Ts'o [Thu, 31 May 2007 16:30:09 +0000 (12:30 -0400)]
Reserve superblock field for the raid stripe width.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoReserve superblock fields for multiple mount protection feature
Andreas Dilger [Thu, 31 May 2007 16:25:46 +0000 (12:25 -0400)]
Reserve superblock fields for multiple mount protection feature

There have been reported instances of a filesystem having been mounted
at 2 places at the same time causing a lot of damage to the
filesystem. This patch reserves superblock fields and an INCOMPAT flag
for adding multiple mount protection(MMP) support within the ext4
filesystem itself. The superblock will have a block number
(s_mmp_block) which will hold a MMP structure which has a sequence
number which will be periodically updated every 5 seconds by a mounted
filesystem. Whenever a filesystem will be mounted it will wait for
s_mmp_interval seconds to make sure that the MMP sequence does not
change. To further make sure, we write a random sequence number into
the MMP block and wait for another s_mmp_interval secs. If the
sequence no. doesn't change then the mount will succeed. In case of
failure, the nodename, bdevname and the time at which the MMP block
was last updated will be displayed. tune2fs can be used to set
s_mmp_interval as desired.

Signed-off-by: Andreas Dilger <adilger@clusterfs.com>
Signed-off-by: Kalpak Shah <kalpak@clusterfs.com>
16 years agoe2fsck: Add blocksize sanity check when finding a backup superblock
Daniel Drake [Thu, 31 May 2007 15:56:17 +0000 (11:56 -0400)]
e2fsck: Add blocksize sanity check when finding a backup superblock

I've been investigating why e2fsck refuses to restore the backup superblock
of a partition with a broken primary superblock.

The partition in question has a block size of 4096, and mke2fs reports that
backup superblocks were created on blocks 32768, 98304, 163840, ...

When running e2fsck, get_backup_sb starts by guessing a block size of 1024
and backup superblock at block 8193. I'm not sure why, but it actually finds
a superblock at this location, so returns a context with superblock 8193,
blocksize 1024.

Later on, ext2fs_open2() tries to process this superblock. It then realises
that the block size value stored in the superblock (4096) does not match what
it was told (1024), so it bails out with EXT2_ET_UNEXPECTED_BLOCK_SIZE. fsck
aborts without fixing the partition.

The following patch solves the problem by discounting superblocks which do
not meet the currently-sought block size.
As a result, block 32768 (blocksize=4096) is now used to restore the backup,
which agrees with the first location that mke2fs listed.

Signed-off-by: Daniel Drake <d.drake@mmm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years ago[COVERITY] Free potential null dereference bug in e2fsck
Brian Behlendorf [Thu, 31 May 2007 15:42:48 +0000 (11:42 -0400)]
[COVERITY] Free potential null dereference bug in e2fsck

At the second conditional iter->file could still be NULL. We need to
check for it again.  Should never happen in practice, but better to be
sure.

Coverity ID: 6: Forward Null

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years ago[COVERITY] Free memory leak in mke2fs when parsing extended options
Brian Behlendorf [Thu, 31 May 2007 15:30:47 +0000 (11:30 -0400)]
[COVERITY] Free memory leak in mke2fs when parsing extended options

Coverity ID: 34: Resource Leak

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoFix gcc -Wall warnings, especially on 64-bit systems
Andreas Dilger [Fri, 25 May 2007 15:18:11 +0000 (11:18 -0400)]
Fix gcc -Wall warnings, especially on 64-bit systems

Signed-off-by: Andreas Dilger <adilger@clusterfs.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoFix gcc -Wall issues in e2fsck sources
Theodore Ts'o [Wed, 23 May 2007 00:53:01 +0000 (20:53 -0400)]
Fix gcc -Wall issues in e2fsck sources

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Signed-off-by: Andreas Dilger <adilger@clusterfs.com>
16 years agoAdd new function profile_get_uint() in the e2fsck sources
Theodore Ts'o [Wed, 23 May 2007 00:51:47 +0000 (20:51 -0400)]
Add new function profile_get_uint() in the e2fsck sources

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoAdd Makefile production rule for e2fsprogs.spec in case it gets deleted
Andreas Dilger [Tue, 22 May 2007 20:20:14 +0000 (16:20 -0400)]
Add Makefile production rule for e2fsprogs.spec in case it gets deleted

Signed-off-by: Andreas Dilger <adilger@clusterfs.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agomke2fs: Add check to make sure inode_size * num_inodes isn't too big
Andreas Dilger [Tue, 22 May 2007 20:04:51 +0000 (16:04 -0400)]
mke2fs: Add check to make sure inode_size * num_inodes isn't too big

A quick patch to sanity check the inode ratio vs the inode size.  In
some cases Lustre users have tried specifying an inode size of 4096
bytes, while keeping an inode ratio of one inode per 4096 bytes.  I'm
sure more people will do this now that large inodes are available in
ext4 and documented in e2fsprogs.

Signed-off-by: Andreas Dilger <adilger@clusterfs.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoStore the RAID stride value in the superblock and take advantage of it
Theodore Ts'o [Sat, 19 May 2007 02:06:53 +0000 (22:06 -0400)]
Store the RAID stride value in the superblock and take advantage of it

Store the RAID stride value when a filesystem is created with a requested
RAID stride, and then use it automatically in resize2fs.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agolibblkid: Fix bug which could cuase bid_type to be corrupted
Theodore Ts'o [Sat, 19 May 2007 01:44:29 +0000 (21:44 -0400)]
libblkid: Fix bug which could cuase bid_type to be corrupted

Fortunately bid_type isn't used much, and bid_label and bid_uuid is
only used by debugging code, so the impact of this bug was very
minor.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoAdd -g option to the blkid program to garbage collect the blkid.tab file
Theodore Ts'o [Fri, 18 May 2007 04:16:02 +0000 (00:16 -0400)]
Add -g option to the blkid program to garbage collect the blkid.tab file

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoAdd new function blkid_gc_cache()
Theodore Ts'o [Fri, 18 May 2007 04:02:35 +0000 (00:02 -0400)]
Add new function blkid_gc_cache()

New function which performs a garbage collection pass on the
/etc/blkid.tab file.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoRemove check in e2fsck which requires EA's in inodes to be sorted
Kalpak Shah [Tue, 8 May 2007 05:07:30 +0000 (01:07 -0400)]
Remove check in e2fsck which requires EA's in inodes to be sorted

This patch removes a code snippet from check_ea_in_inode() in pass1 which checks
if the EA values in the inode are sorted or not. The comments in fs/ext*/xattr.c
state that the EA values in the external EA block are sorted but those in the
inode need not be sorted. I have also attached a test image which has unsorted
EAs in the inodes. The current e2fsck wrongly clears the EAs in the inode.

Signed-off-by: Kalpak Shah <kalpak@clusterfs.com>
17 years agoRemove -WIP language from the debian copyright file
Theodore Ts'o [Tue, 8 May 2007 04:37:55 +0000 (00:37 -0400)]
Remove -WIP language from the debian copyright file

Since I am the upstream maintainer the -WIP langauge is superflous, so
remove it.

Addresses Debian Bug: #415560

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoFix spelling typo in debian package description for libblkid1
Theodore Ts'o [Tue, 8 May 2007 04:26:31 +0000 (00:26 -0400)]
Fix spelling typo in debian package description for libblkid1

Addresses Debian Bug: #399155

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoFix mke2fs and debugfs to support large (> 16 bit) uid's and gid's
Eric Sandeen [Tue, 8 May 2007 04:10:54 +0000 (00:10 -0400)]
Fix mke2fs and debugfs to support large (> 16 bit) uid's and gid's

Mke2fs is supposed to set the uid/gid ownership of the root directory when
a non-rooot user creates the filesystem.  This wasn't working correctly
if the uid/gid was > 16 bits.   In additional, debugfs wasn't displaying
large uid/gid's correctly.  This patch fixes these two programs.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoFix mke2fs defaults when /etc/mke2fs.conf doesn't exist
Eric Sandeen [Tue, 8 May 2007 03:38:14 +0000 (23:38 -0400)]
Fix mke2fs defaults when /etc/mke2fs.conf doesn't exist

One of our testers filed a bug that said "mkfs.ext3 is much slower
when mke2fs.conf is missing..."

This is because the shipped defaults in mke2fs.conf do not match the
shipped defaults in the mkfs code itself; he wound up making a 1k
block filesystem on a very large block device, for example.

So - How about this patch, to bring them back into line?  Which makes
me wonder; having "defaults" in 2 different places is bound to get out
of sync; should we instead generate both code & config file defaults
(and maybe man page defaults) from a common source?

Anyway, here's a patch to bring mke2fs.conf and mke2fs.c into line for
current defaults...

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
17 years agodebian: Add comerr-dev dependency to the ss-dev debian package
Theodore Ts'o [Mon, 7 May 2007 20:34:51 +0000 (16:34 -0400)]
debian: Add comerr-dev dependency to the ss-dev debian package

Addresses Debian Bug: #408352

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoDebian udeb dependency cleanup
Theodore Ts'o [Mon, 7 May 2007 00:09:42 +0000 (20:09 -0400)]
Debian udeb dependency cleanup

From: Frans Pop <elendil@planet.nl>

Please apply the patch below with your next upload of e2fsprogs.

It removes Provides/Replaces: in the udebs which are no longer needed now
that udeb library dependencies are generated correctly. This has been the
case for a while now, but we've postponed this cleanup until after the
Etch release.

Addresses Debian Bug: #419605

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoe2fsck: Count the root directory as found if it has shared blocks in pass1c
Jim Garlick [Fri, 20 Apr 2007 12:14:27 +0000 (08:14 -0400)]
e2fsck: Count the root directory as found if it has shared blocks in pass1c

Another small bug I think: if the root directory contains shared
blocks, e2fsck pass1c search_dirent_proc() will be looking for
one more containing directory than it will ever find, and thus
loses an opportunity to terminate early.

Signed-off-by: Jim Garlick <garlick@llnl.gov>
17 years agoDefine the l_i_iversion field in ext2_inode
Theodore Ts'o [Thu, 19 Apr 2007 05:53:53 +0000 (01:53 -0400)]
Define the l_i_iversion field in ext2_inode

The l_i_version field is now defined from the old l_i_reserved1 field in
the ext2 inode.  This field will be used to store high 32 bits of the
64-bit inode version number.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoFix minor typo in e2fsck.conf.5.in man page
Theodore Ts'o [Thu, 19 Apr 2007 02:12:50 +0000 (22:12 -0400)]
Fix minor typo in e2fsck.conf.5.in man page

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoRemove unused variable in e2fsck/pass2.c:check_dir_block()
Theodore Ts'o [Thu, 19 Apr 2007 02:11:31 +0000 (22:11 -0400)]
Remove unused variable in e2fsck/pass2.c:check_dir_block()

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoext2fs_get_device_size(): Fix potential fd descriptor leak in an error case
Theodore Ts'o [Thu, 19 Apr 2007 01:37:42 +0000 (21:37 -0400)]
ext2fs_get_device_size(): Fix potential fd descriptor leak in an error case

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoFix typo in name of f_dup4 regression test
Theodore Ts'o [Sat, 14 Apr 2007 18:01:57 +0000 (14:01 -0400)]
Fix typo in name of f_dup4 regression test

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoCorrect byteswapping for fast symlinks with xattrs
Bryn M. Reeves [Sat, 14 Apr 2007 18:00:31 +0000 (14:00 -0400)]
Correct byteswapping for fast symlinks with xattrs

Fix a problem byte-swapping fast symlinks inodes that contain extended
attributes.

Addresses Red Hat Bugzilla: #232663
Addresses LTC Bugzilla: #27634

Signed-off-by: "Bryn M. Reeves" <breeves@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoFix e2fsck's check_is_really_dir logic
Theodore Ts'o [Sat, 14 Apr 2007 16:01:39 +0000 (12:01 -0400)]
Fix e2fsck's check_is_really_dir logic

Fix a typo which could cause e2fsck to throw an I/O error while doubling
checking whether or not a special device file was really an inode.
Also, don't do this tests on symbolic links since for filesystems with a
large numbers of symlinks it could degrade performance and increases the
risk for false positives.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoImprove I/O error messages in e2fsck
Theodore Ts'o [Sat, 14 Apr 2007 13:29:02 +0000 (09:29 -0400)]
Improve I/O error messages in e2fsck

Add better ehandler_operation() markers so it is clearer what e2fsck was
doing when an I/O error is reported.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoAdd new debugfs command "set_block_group"
Theodore Ts'o [Fri, 13 Apr 2007 19:56:00 +0000 (15:56 -0400)]
Add new debugfs command "set_block_group"

This command allows the user to set a value in the block group descriptors
for a particular block group.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoe2fsck: pass1c terminates early if hard links
Jim Garlick [Wed, 11 Apr 2007 02:55:09 +0000 (22:55 -0400)]
e2fsck: pass1c terminates early if hard links

I think this is a small buglet in e2fsck:  if a file has multiple hard
links, e2fsck pass1c search_dirent_proc() doesn't maintain its count
properly and may return DIRENT_ABORT before it has found containing
directories for all inodes sharing blocks.

Signed-off-by: Jim Garlick <garlick@llnl.gov>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoFix debugfs's date parser so that it accepts integer values
Theodore Ts'o [Wed, 11 Apr 2007 01:10:55 +0000 (21:10 -0400)]
Fix debugfs's date parser so that it accepts integer values

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoHandle large setb/testb/freeb commands in debugfs
Eric Sandeen [Tue, 10 Apr 2007 19:40:04 +0000 (15:40 -0400)]
Handle large setb/testb/freeb commands in debugfs

Fix a signed vs. unsigned problem by using blk_t instead of int

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
17 years agoblkid: Report correct UUID from MD superblocks
Sergey Vlasov [Tue, 10 Apr 2007 16:00:38 +0000 (12:00 -0400)]
blkid: Report correct UUID from MD superblocks

The second part of UUID was copied to a wrong place in the buffer.
Now the UUID shown by blkid is the same as shown by /lib/udev/vol_id
(at least with udev-108), but is not in the same form as used by mdadm
(which prints UUID as 4 32-bit words and uses different endiannes).

Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
17 years agoblkid: Fix MD 0.90 superblock detection on little endian systems
Sergey Vlasov [Tue, 10 Apr 2007 15:59:46 +0000 (11:59 -0400)]
blkid: Fix MD 0.90 superblock detection on little endian systems

MD 0.90 superblock format is host endian - need to check for bith big
endian and little endian magic.  Without this change MD components
created on little endian systems were not detected as such, which
could then lead to false positives when detecting filesystems.

Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
17 years agoMake the test_script ignore and skip empty test directories
Theodore Ts'o [Sun, 8 Apr 2007 03:16:11 +0000 (23:16 -0400)]
Make the test_script ignore and skip empty test directories

When patching and unpatching quilt files, empty directories get left
behind in the tests/ directory.  Ignore them to avoid false test
failures.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoAllow the journal size to up to 10,240,000 blocks
Andreas Dilger [Sat, 7 Apr 2007 19:39:50 +0000 (15:39 -0400)]
Allow the journal size to up to 10,240,000 blocks

Increase the maximum size of the journal to 100 times the previous
maximum, but add a restriction that it can be no more than half the size
of the filesystem.

Signed-off-by: Andreas Dilger <adilger@clusterfs.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoUpdate release notes for 1.40-WIP release.
Theodore Ts'o [Sat, 7 Apr 2007 15:05:10 +0000 (11:05 -0400)]
Update release notes for 1.40-WIP release.

17 years agoFix up usage and decrement error messages in the test_icount program
Theodore Ts'o [Sat, 7 Apr 2007 13:06:46 +0000 (09:06 -0400)]
Fix up usage and decrement error messages in the test_icount program

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoUpdate the e2fsck.conf(5) man page to document the [scratch_files] section
Theodore Ts'o [Sat, 7 Apr 2007 03:32:06 +0000 (23:32 -0400)]
Update the e2fsck.conf(5) man page to document the [scratch_files] section

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoFix memory leaks from using the tdb library
Theodore Ts'o [Sat, 7 Apr 2007 03:28:30 +0000 (23:28 -0400)]
Fix memory leaks from using the tdb library

We weren't freeing allocated memory from calls to tdb_fetch, tdb_firstkey,
and tdb_nextkey.  Oops.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoEnable e2fsck to use the tdb library to store the dirinfo abstraction
Theodore Ts'o [Fri, 6 Apr 2007 22:44:37 +0000 (18:44 -0400)]
Enable e2fsck to use the tdb library to store the dirinfo abstraction

If e2fsck.conf configures a scratch_files directory which is available,
and the number of directories exceeds scratch_files.numdirs_threshold,
then try to use the tdb library to store the directory information
abstraction.  This allows us to check very large filesystems without
needing as much physical memory.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoEnable e2fsck to use the tdb library for the inode count abstraction
Theodore Ts'o [Fri, 6 Apr 2007 22:43:11 +0000 (18:43 -0400)]
Enable e2fsck to use the tdb library for the inode count abstraction

If e2fsck.conf configures a scratch_files directory which is available,
and the number of directories exceeds scratch_files.numdirs_threshold,
then try to use the tdb library to store the inode count abstraction.
This allows us to check very large filesystems without needing as much
physical memory.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoAdd support for using TDB to libext2fs's icount abstraction
Theodore Ts'o [Fri, 6 Apr 2007 18:30:39 +0000 (14:30 -0400)]
Add support for using TDB to libext2fs's icount abstraction

Add support for using TDB to store the icount data, so we don't run out
of memory when checking really large filesystems.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoAdd new TDB error codes
Theodore Ts'o [Fri, 6 Apr 2007 17:50:48 +0000 (13:50 -0400)]
Add new TDB error codes

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoAdd a regression test suite for libext2fs's icount abstraction
Theodore Ts'o [Fri, 6 Apr 2007 12:52:49 +0000 (08:52 -0400)]
Add a regression test suite for libext2fs's icount abstraction

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoFix memory leak in ext2fs_write_new_inode()
Jim Garlick [Fri, 6 Apr 2007 12:50:15 +0000 (08:50 -0400)]
Fix memory leak in ext2fs_write_new_inode()

The following patch addresses a memory leak in libext2fs
that occurs when using ext2fs_write_new_inode() on a file system
configured with large inodes.

Signed-off-by: Jim Garlick <garlick@llnl.gov>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoRework e2fsck's dirinfo abstraction to be more friendly for databases
Theodore Ts'o [Thu, 5 Apr 2007 02:33:31 +0000 (22:33 -0400)]
Rework e2fsck's dirinfo abstraction to be more friendly for databases

Change the iterator abstraction and replace e2fsck_get_dir_info() with
e2fsck_dir_info_{set,get}_{parent,dotdot} so that we can support an
on-disk dirinfo implementation.  This allows e2fsck to check very large
filesystems on systems with smaller amounts of memory and/or address
space.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoFix potential reference (and free) to an uninitialized pointer in e2fsck
Theodore Ts'o [Thu, 5 Apr 2007 01:42:42 +0000 (21:42 -0400)]
Fix potential reference (and free) to an uninitialized pointer in e2fsck

This was introduced recently when fixing a problem noted by Coverty.
Oops!

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoAdd tdb from Samba into libext2fs library.
Theodore Ts'o [Thu, 5 Apr 2007 01:26:37 +0000 (21:26 -0400)]
Add tdb from Samba into libext2fs library.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoAdd #include's to avoid compiler warnings in lib/ext2fs/tst_types
Theodore Ts'o [Thu, 5 Apr 2007 01:09:49 +0000 (21:09 -0400)]
Add #include's to avoid compiler warnings in lib/ext2fs/tst_types

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoFix potential infinite loop in e2fsck on really big filesystems
Theodore Ts'o [Mon, 2 Apr 2007 23:27:44 +0000 (19:27 -0400)]
Fix potential infinite loop in e2fsck on really big filesystems

Prevent floating point precision errors on really big filesystems from
causing the search interpolation algorithm in the icount abstraction
from looping forever.

Addresses Debian Bug: #411838

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoresize2fs (libe2p): Fix resize2fs parsing of size parameter (in sector units)
Theodore Ts'o [Mon, 2 Apr 2007 23:12:17 +0000 (19:12 -0400)]
resize2fs (libe2p): Fix resize2fs parsing of size parameter (in sector units)

This was actually a bug in libe2p's parse_num_blocks() function.  When
handling the 's' suffix, it was ignoring the blocksize information
passed in from the caller and always interpreting the number in terms of
a 1k blocksize.

Addresses Debian Bug: #408298

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoDocument the -X flag in the badblocks man page
Theodore Ts'o [Mon, 2 Apr 2007 22:42:59 +0000 (18:42 -0400)]
Document the -X flag in the badblocks man page

Addresses Debian Bug: #379695

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