Commit Graph

130 Commits (98224fbc1db8387da1fe0fd1bb3be25c18be2e98)

Author SHA1 Message Date
Theodore Ts'o f77704e416 Add directory hashed signed/unsigned hint to superblock
The e2fsprogs and kernel implementation of directory hash tree has a
bug which causes the implementation to be dependent on whether
characters are signed or unsigned.  Platforms such as the PowerPC,
Arm, and S/390 have signed characters by default, which means that
hash directories on those systems are incompatible with hash
directories on other systems, such as the x86.

To fix this we add a new flags field to the superblock, and define two
new bits in that field to indicate whether or not the directory should
be signed or unsigned.  If the bits are not set, e2fsck and fixed
kernels will set them to the signed/unsigned value of the currently
running platform, and then respect those bits when calculating the
directory hash.  This allows compatibility with current filesystems,
as well as allowing cross-architectural compatibility.

Addresses Debian Bug: #389772

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-11-11 22:32:35 -05:00
Theodore Ts'o 52325593b1 Add new a new tests make target "checked-failed" which reruns any failed tests
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-11-11 09:45:50 -05:00
Theodore Ts'o 5d17119d14 On-disk format definition for huge files
- EXT4_FEATURE_RO_COMPAT_HUGE_FILE (0x0008) - change i_blocks to be
  in units of s_blocksize units instead of 512-byte sectors, use
  l_i_frag and l_i_fsize as i_blocks_hi (could also be part of 64BIT).

E2fsck and debugfs changed to support i_blocks_hi instead of l_i_frag and
l_i_fsize.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-11-11 06:32:03 -05:00
Eric Sandeen abf23439d5 Create new ext2fs library inlines: ext2fs_group_{first,last}_block()
Create new ext2fs library inline functions in order to calculate
the starting and ending blocks in a block group.

Signed-off-by: Eric Sandeen <esandeen@redhat.com>
2006-09-12 14:56:16 -04:00
Theodore Ts'o e54635de96 If diff -u is supported, use it to report test failures.
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-08-06 14:33:13 -04:00
Theodore Ts'o 0cbd172def Make test scripts more robust against locale-related environment variables
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-05-28 23:41:23 -04:00
Theodore Ts'o 816ed71416 Update tests to reflect updated mke2fs.conf file
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-05-24 13:07:41 -04:00
Theodore Ts'o bc2699f018 Change mke2fs's layout of RAID-optimized filesystems to be more optimal
When allocating space for the RAID filesystems with the stride parameter,
place each portion of the group's inode table right up after the superblock
(if present) in order to minimize fragmentation of the freespace.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-05-13 08:46:37 -04:00
Theodore Ts'o 9dc6ad1ecb Change mke2fs to use /etc/mke2fs.conf as a configuration file
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-03-23 22:00:01 -05:00
Theodore Ts'o 8dceb92407 E2fsck: fix future times in the superblock's last mount or last write fields
Detect if the superblock's last mount field or last write field is in
the future, and offer to fix if so.  (Addresses Debian Bug #327580)

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2005-09-24 21:59:45 -04:00
Theodore Ts'o cfe7ba4978 Add valgrind support to the regression test suite
Add the --valgrind option to the tests/test_script which allows us to
run the e2fsprogs regression test suite under valgrind.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2005-08-08 19:29:15 -05:00
Theodore Ts'o 49809dd863 Make e2fsck Pass 1C header consistent with the other headers
Removed the period from the Pass 1C header to make it consistent with
the other e2fsck pass headers.
2005-07-04 13:08:37 -05:00
Theodore Ts'o 70f75dd76b Add missing changelog file for previous commit (hg changeset: 0502b63a5be9) 2005-07-04 13:04:05 -05:00
Theodore Ts'o 1f965c8d96 Update for e2fsprogs 1.38 release. 2005-06-30 20:06:45 -04:00
Theodore Ts'o d82f890355 defaults/e_script, run_e2fsck, d_loaddump, f_resize_inode,
f_swapfs, f_move_itable, f_resize_inode, test_config:
	Allow the diff options to be set in test_config so that
	diff -u can be used on platforms that have it.  (To be
	done: checking whether diff can support -u in the
	configure script.)
2005-06-16 15:08:00 -04:00
Theodore Ts'o 5e91614349 Don't offer to update or clone the resize inode when e2fsck deals with
multiply claimed blocks.
2005-04-14 17:10:14 -04:00
Theodore Ts'o 86a02b5d3d test_script.in: Make the test script driver exit with a non-zero
status if there are any failed tests.
2005-04-09 01:26:49 -04:00
Theodore Ts'o fd4b28efd3 Update for the e2fsprogs 1.37 release. 2005-03-21 22:37:03 -05:00
Theodore Ts'o ddbe33107e Add new test case which exercises the ea-in-inode checker in e2fsck. 2005-03-21 16:41:35 -05:00
Theodore Ts'o 3eee5e9eed Update for release of e2fsprogs 1.36. 2005-02-05 18:26:03 -05:00
Theodore Ts'o b7aa0d653e Remove *.pc files on a "make distclean"
Remove emacs backup files in tests/Makefile on a "make clean"
2005-02-05 15:48:49 -05:00
Theodore Ts'o 33db8f80f2 Remove support for --enable-clear-htree; this was
only needed during the early development of the htree patch.
2005-02-05 10:28:15 -05:00
Theodore Ts'o 1e87f8aea2 f_bad_inode, f_recnect_bad: Adjust test cases to take into
account the change which clears the i_file_acl field earlier.
2005-01-28 11:46:05 -05:00
Theodore Ts'o 6c313fd473 Fix e2fsck to not delete symlinks that contain an extended attribute after
the ext_attr feature flag has been cleared.  (Addresses Red Hat Bugzilla 
#146284)
2005-01-27 14:28:41 -05:00
Theodore Ts'o 550a4afa24 E2fsck will now check the individual block group inode and block free counts,
as well as the filesystem-wide inode and block free counts.  If any of the
free counts is too large, force a full filesystem check.  (Addresses 
Debian Bug #291571)
2005-01-25 03:09:24 -05:00
Theodore Ts'o 02f61b8874 Skip the r_resize_inode test if resize2fs is not compiled (due to
configure's --disable-resizer option)
2005-01-21 19:52:03 -05:00
Theodore Ts'o 484ae818e4 r_resize_inode, m_dasd_bs, m_large_file, m_meta_bg, m_no_opt,
m_read_opt, m_std, run_mke2fs, filter_dumpe2fs: Make tests
portable so they pass correctly on a FreeBSD system.
2005-01-19 18:06:45 -05:00
Theodore Ts'o 32237014a1 Various portability fixes for Solaris systems. 2005-01-17 19:13:39 -05:00
Matthias Andree ae181fb473 f_dup_de, r_resize_inode: change ">& /dev/null" to ">/dev/null 2>&1"
for compatibility with FreeBSD. In $DEBUGFS commands, move the
-R arg argument first so that systems with non-GNU getopt()
can see the request argument (they would otherwise stop
parsing at the first non-option argument).
2005-01-13 04:23:24 +01:00
Theodore Ts'o f90c9919b4 Add two new tests, f_resize_inode, and r_resize_inode, to the regression
test suite, which tests e2fsck and reszizefs2, respecitvely.
2004-12-24 01:47:50 -05:00
Theodore Ts'o f581372280 m_meta_bg, m_no_opt, m_raid_opt: Adjust tests to take into
account the resize inode patch.
2004-12-15 17:53:23 -05:00
Richard Mortimer 6e4fbbeb50 Attempt recovery if the journal contains illegal blocks 2004-10-04 17:56:24 +01:00
Theodore Ts'o 56eb4d4749 Remove XSI:isms for greater portability. (Addresses
Debian Bug #255589)
2004-09-17 19:54:22 -04:00
Theodore Ts'o b70b1167fe Update version number for e2fsprogs 1.35 release. 2004-02-28 10:52:35 -05:00
Theodore Ts'o ac0de52b4b Add f_selinux test case. 2004-01-30 01:59:42 -05:00
Theodore Ts'o 2e5fcce05e Fix bug in e2fsck: When reconnecting a directory, we may
need to create a lost+found directory.  This may
invalidate our pointer to the directory information, so we
must look it up again after calling
e2fsck_reconnect_file().  (Addresses Debian bug #219640).
2003-12-12 03:00:56 -05:00
Theodore Ts'o 89e9fc4d3c m_meta_bg: New test case to test the meta block group feature.
m_raid_opt: New test case to test raid striping

m_large_file: Fix description

run_e2fsck, run_mke2fs, filter_dumpe2fs: Add dumpe2fs output to
	the test output for comparison.  Add support for
	compressed expect scripts.
2003-09-03 09:51:52 -04:00
Theodore Ts'o 1cca86f5d8 Add regression tests for mke2fs.
Mke2fs has been modified to honor the MKE2FS_SKIP_PROGRESS, 
MKE2FS_DEVICE_SECTSIZE, and MKE2FS_SKIP_CHECK_MSG in order 
facilitate the regression testing.
2003-09-01 09:28:18 -04:00
Theodore Ts'o a435ec3449 Add support for backing up the journal inode location in the
superblock.  E2fsck will automatically save the journal information
in the superblock if it is not there already, and will use it if the
journal inode appears to be corrupted.  ext2fs_add_journal_inode() 
will also save the backup information, so that new filesystems
created by mke2fs and filesystems that have journals added via
tune2fs will also have journal location written to the superblock as
well.  Debugfs's logdump command has been enhanced so that it can
use the journal information in the superblock.

The debugfs man page has been improved to more fully describe the
logdump command.

Added two new functions, ext2fs_file_open2() and 
ext2fs_inode_io_intern2() which take a pointer to an inode structure;
this is needed so that e2fsck and debugfs can synthesize a
fake journal inode and use it to access the journal.
2003-08-21 00:40:26 -04:00
Theodore Ts'o 8b949fb581 Fix tests so that they work even with --disable-htree.
f_salveage_dir: Remove HTREE flag from the test image's
	superblock.  (It is not needed).

f_h_reindex: Skip this test of the htree is not enabled

f_dup_de: If htree is not enabled, clear the htree flag, and use
	alternate expect scripts for the test.
2003-08-01 13:25:26 -04:00
Theodore Ts'o 9c7ec17809 Update for 1.34 release. 2003-07-26 01:03:34 -04:00
Theodore Ts'o 71df0dc393 Update for 1.33 release.
Fix typo's in README.subset

Change debian control file so it doesn't bomb out if the EVMS FSIM
is not there, since it is not built on the Hurd.  Resolves Debian
bug #189687.
2003-04-21 16:17:09 -04:00
Theodore Ts'o 44b0ec1069 test_config: Define DYLD_LIBRAY_PATH so that "make check" works on
Darwin systems when building with shared libraries.
2003-04-19 14:22:19 -04:00
Theodore Ts'o 2a77a784a3 E2fsck now updates the global free block and
inode counters from the block group specific counters
quietly.  This is needed for an experimental patch which
eliminates locking the entire filesystem when allocating
blocks or inodes; if the filesystem is not unmounted
cleanly, the global counts may not be accurate.
2003-04-05 22:50:44 -05:00
Theodore Ts'o 1de6394526 f_h_badnode, f_h_badroot, f_h_reindex: Updated expect script to
remove the optimizing directories message.
2003-03-25 23:08:29 -05:00
Theodore Ts'o bc4066dabe f_dup_de: Added test case provided from Debian bug report #176814 2003-03-15 04:04:11 -05:00
Theodore Ts'o ed78c021c3 Fix up lots of portability problems that caused e2fsprogs not to build successfully
under Solaris.
2003-03-06 11:09:18 -05:00
Theodore Ts'o 38513011b9 Update files for 1.32 release. 2002-11-09 15:00:56 -05:00
Theodore Ts'o ae65b29f11 Update files for 1.31 release. 2002-11-08 20:08:48 -05:00
Theodore Ts'o feb44c6955 Skip byteswap tests on --disable-swapfs
Disable certain tests that depend on the byteswapping functions
being present so that "make check" succeeds even if --disable-swapfs
is passed to the configure script.
2002-11-08 14:55:38 -05:00