Age | Commit message (Collapse) | Author | Files | Lines |
|
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
|
|
- 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>
|
|
Signed-off-by: Eric Sandeen <esandeen@redhat.com>
|
|
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>
|
|
Signed-off-by: Eric Sandeen <esandeen@redhat.com>
|
|
Don't do a structure copy via an assignment in e2fsck's pass #1 when
it is a no-op in order to avoid false positives from valgrind.
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
|
|
can be overridden using the E2FSCK_TIME environment
variable, for better reproducibility for regression tests.
|
|
just the last write time) looks insane, then assume that
we can't do the LOW_DTIME checks.
|
|
stored in inodes into e2fsck.
There are a number of bug fixes and enhancements over the original lustre fsck
BK repository. The biggest one is that this extended attribute values must
be aligned on 4-byte boundaries.
|
|
attribute block is so big that i_blocks wraps to zero.
|
|
|
|
is taken from Fedora Core 3's e2fsprogs 1.35-11.2.src.rpm's
e2fsprogs-resize.patch.
|
|
32 MB to 2GB.
|
|
int -> unsigned for 1 bit wide bitfields - we cannot have a value and a sign in 1 bit.
Fixes some of the Intel C++ 8.0 warnings (-w1 level).
|
|
|
|
|
|
problem.c (PR_1_BB_FS_BLOCK, PR_1_BBINODE_BAD_METABLOCK_PROMPT):
Fix up the handling of corrupted indirect blocks in the
bad block. We now correctly handle the case where there
is an overlap between a block group descriptor or
a superblock and a bad block indirect block. In the case
where the indirect block is corrupted, we now suggest
"e2fsck -c".
|
|
the superblock and block group descriptors into two functions:
ext2fs_reserve_super_and_bgd, found in lib/ext2fs/alloc_sb.c, and
ext2fs_super_and_bgd_lock, found in lib/ext2fs/close.c.
Change e2fsck/pass1.c (mark_table_blocks), lib/ext2fs/closefs.c
(ext2fs_flush), lib/ext2fs/initialize.c (ext2fs_initialize),
and misc/dumpe2fs.c (list_desc) to use these functions.
e2fsck/ChangeLog
pass1.c (mark_table_blocks): Use the new function
ext2fs_reserve_super_and_bgd to calculate the blocks to be
reserved.
lib/ext2fs/ChangeLog
closefs.c (ext2fs_super_and_bgd_loc): New function which
centralizes the calculation of the superblock and block
group descriptors.
(ext2fs_flush): Use ext2fs_super_and_bgd_lock to figure
out where to write the superblock and block group
descriptors.
alloc_sb.c (ext2fs_reserve_super_and_bgd): New function which
reserves space in the block bitmap using
ext2fs_super_and_bgd_loc.
initialize.c (ext2fs_initialize): Use
ext2fs_reserve_super_and_bgd to initialize the block bitmap.
misc/ChangeLog
dumpe2fs.c (list_desc): Use ext2fs_super_and_bgd_loc to
determine the locations of the superblock and block group
descriptors.
|
|
all now take a 'void *' instead of a 'void **' in order to
avoid pointer aliasing problems with GCC 3.x.
|
|
|
|
|
|
superblock and block group descriptors when important changes
are made to those data structures.
|
|
whether or not we can safely do the LOW_DTIME checks.
(Addresses Sourceforge bug #620980)
|
|
Fix bug in meta_bg support in mke2fs, e2fsck, and dumpe2fs; we were
incorrectly reserving the legacy block groups desriptor blocks.
|
|
|
|
Fix format bug if NLS is in use.
Add extra so that the info directory looks OK on OpenWall.
|
|
inode table, and shrink code by reorganizing the while loop so
to eliminate duplicate calls to ext2fs_get_next_inode().
|
|
Let e2fsck allow use of the TEA hash.
Mke2fs will no longer abort if it can't zero blocks at the end of the
filesystem. (Addresses Debian Bug #155007)
|
|
respect to the latest V2 bestbits ACL code.
|
|
the dirs_to_hash list, since we don't want to reindex
directories if the filesystem is opened read-only.
|
|
|
|
Add HTREE root node tests.
|
|
|
|
|
|
would cause i_size to be too big), and offer to truncate the inode.
Remove old bogus i_size checks.
Add test case which tests e2fsck's handling of large sparse files.
Older e2fsck with the old(er) bogus i_size checks didn't handle
this correctly.
|
|
and check for EXT2_INDEX_FL for special devices, and consider them to
be invalid if they are set.
|
|
Improve the f_badsymlinks test case for these new tests.
|
|
|
|
and to make the page size determined at run-time instead of
compile time.
|
|
We complain if you try to create such a filesystem on a system with 4096
byte PAGE_SIZE.
Add checks for valid inode size for undocumented -I option.
|
|
error message could be printed on an malloc() failure, and e2image
was optimized to avoid needless system calls by using the stashed
inode functions.
|
|
any sectors in the same filesystem block after the superblock.
The latter will remove (for example) swapspace signatures
on 4kB+ blocksize filesystems. Also when zeroing the "end"
of the filesystem don't actually zero the start of a very
small device (less than 128kB).
|
|
either be zero or a regular file (for compatibility with
Andreas's on-line resizing programs).
|
|
Stop checking for strdup in the configure script since we don't
care about that symbol.
|
|
non-zero, then assume that the device/socket/fifo inode
is bogus.
|
|
only offered to clear the inode size fields if both size
and i_size_high were zero.
|
|
Andreas's symlink code; check_blocks() was unconditionally testing
inode_bad_map without checking to see if it existed first. Fixed
problem a different way; we now no longer check inode_bad_map at all,
since the file might not get deleted in pass 2 anyway. We move the
large file feature reconciliation code to to e2fsck_pass2(), and in
deallocate_inode() in pass2.c, we decrement the large files counter if
we're about to delete a large file.
|
|
Also cleaned up the symlink handling code to make it a bit more
compact and to test for a bad symlink block earlier.
|
|
too long i_size for slow and fast symlinks, i_size_high set, multiple
blocks for slow symlinks.
|
|
immutable flag set (and offer to clear them).
|