History log of /external/e2fsprogs/e2fsck/pass1.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
07a7be75a7442ef6c6e84f12492382a4d8aeb735 15-Jul-2015 Theodore Ts'o <tytso@mit.edu> Add bare-bones encryption support to e2fsck

Bug: 22483407
Change-Id: I4e9c4e4c855454c7458c85afba47b01eb0111b20
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
e0ed7404719a9ddd2ba427a80db5365c8bad18c0 20-Mar-2014 JP Abgrall <jpa@google.com> Switch back to 1.42.9 now that there is a fix

Revert "Revert changes that moved from 1.41.14 to 1.42.9"

This reverts commit 65f0aab98b20b5994a726ab90d355248bcddfffd.
/external/e2fsprogs/e2fsck/pass1.c
65f0aab98b20b5994a726ab90d355248bcddfffd 06-Mar-2014 JP Abgrall <jpa@google.com> Revert changes that moved from 1.41.14 to 1.42.9

Revert "e2fsck: Don't use e2fsck_global_ctx unless HAVE_SIGNAL_H"
commit e80e74c41d85ff93f3d212ba6512340f48054a93.

Revert "Merge remote-tracking branch 'linaro/linaro-1.42.9' into aosp_master"
This reverts commit e97b2b6fc82f840e84dfc631b87f21be44ff2421, reversing
changes made to 7e2fb9d09c245eba70ee008b78007315e9c0f1df.

Revert "Prepare for upstream 1.42.9"
This reverts commit 7e2fb9d09c245eba70ee008b78007315e9c0f1df.

Bug: 13340735
Change-Id: If48b153a95ef5f69f7cdccb00e23524abff3c5a8
Signed-off-by: JP Abgrall <jpa@google.com>
/external/e2fsprogs/e2fsck/pass1.c
18a1444b4f1e6a0948fd38fa0de382d86cfe04de 31-Dec-2013 Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org> Add files that would normally be generated by the e2fsprogs build system

Android doesn't run ./configure and friends, so it has to rely on
pre-populated versions of the autogenerated files.

This is somewhat bogus (e.g. hardcoded little-endian reference in
lib/ext2fs/ext2_types.h) and should at some point be fixed, but it's
what Android has always done, not a regression from the 1.41.14 branch.

Also, don't #include config.h which we don't generate (we pass what it
usually contains as -D parameters from Android.mk) anywhere.

Add a new Android.mk file for the quota library.

Change-Id: I162c6327fee5bd06261d9cdcc34bda10f04a6f21
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
/external/e2fsprogs/e2fsck/pass1.c
f404167dda29a59d2be2882328aeb074b9899669 17-Dec-2013 Theodore Ts'o <tytso@mit.edu> Clean up sparse warnings

Mostly by adding static and removing excess extern qualifiers. Also
convert a few remaining non-ANSI function declarations to ANSI.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
3b6c0938ec5aa401c7ae6c95e94e5ad30a7b8562 11-Dec-2013 Darrick J. Wong <darrick.wong@oracle.com> libext2fs: fix tests that set LARGE_FILE

For each site where we test for a large file (> 2GB) and set the
LARGE_FILE feature, use a helper function to make the size test
consistent with the test that's in e2fsck. This fixes the fsck
complaints when we try to create a 2GB journal (not so hard with 64k
block size) and fixes the incorrect test in fileio.c.

Reviewed-by: Zheng Liu <wenqing.lz@taobao.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
2fe2d408a4e231eb5d2342b7f3dbd155563aa755 04-Dec-2013 Andreas Dilger <adilger@dilger.ca> mmp: fix 64-bit handling of s_mmp_block

Fix the checking of s_mmp_block in e2fsck_pass1() and
ext2fs_mmp_read() to handle the high 32 bits of s_blocks_count.
Remove redundant check of s_mmp_block in do_dump_mmp() right before
ext2fs_mmp_read() is called.

Also fix s_blocks_count_hi in check_backup_super_block(), since it
cannot use the ext2fs_blocks_count() helper easily.

Signed-off-by: Andreas Dilger <adilger@dilger.ca>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
3971bfe878d6c30f9b5be3a2c0310943982a4775 03-Dec-2013 Theodore Ts'o <tytso@mit.edu> e2fsck: use dgrp_t for block group numbers

Make e2fsck consistently use dgrp_t for bloc group numbers to avoid
-Wconveresion noise.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
3c7c6d73f1a0bd45835966f1179fc3e8236a7d9c 03-Dec-2013 Theodore Ts'o <tytso@mit.edu> e2fsck: use problem_t to suppress some -Wconversion warnings

All code which stores a problem code should use the problem_t type.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
4dbfd79d1458ce1259b951377e341aeb6197f8c1 07-Oct-2013 Darrick J. Wong <darrick.wong@oracle.com> e2fsprogs: fix blk_t <- blk64_t assignment mismatches

Fix all the places where we should be using a blk64_t instead of a
blk_t. These fixes are more severe because 64bit values could be
truncated silently.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
085757fcc22a86168ee6793dfad9a95d88fb09db 09-Sep-2013 Eric Whitney <enwlinux@gmail.com> e2fsck: don't report uninit extents past EOF invalid

Commit d3f32c2db8 introduced a regression that caused e2fsck failures
in xfstests generic 013, 070, 083, 091, and 263. Uninitialized
extents created by fallocate() at the end of file with the
FALLOC_FL_KEEP_SIZE flag were identified as invalid. However,
because the file size is not increased when FALLOC_FL_KEEP_SIZE is
used, uninitialized extents can correctly contain blocks located past
the end of file.

Fix this by filtering out possible invalid extents if they are
uninitialized and extend past the block containing the end of file.

Signed-off-by: Eric Whitney <enwlinux@gmail.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
dd50ef87432284d93b9f39178c4fab242d76654e 29-Jul-2013 Theodore Ts'o <tytso@mit.edu> e2fsck: check extent-mapped directories with really large logical blocks

E2fsck was missing a check for directories with logical blocks so
large that i_size > 2GB. Without this check the test image found in
the new test f_toobig_extent_dir will cause e2fsck to die with a
memory allocation failure:

Error storing directory block information (inode=12, block=0, num=475218819): Memory allocation failed
e2fsck: aborted

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reported-by: Andrey Melnikov <temnota.am@gmail.com>
/external/e2fsprogs/e2fsck/pass1.c
d3f32c2db8f11c87aa7939d78e7eb4c373f7034f 07-Jun-2013 David Jeffery <djeffery@redhat.com> e2fsck: detect invalid extents at the end of an extent-block

e2fsck does not detect extents which are outside their location in the
extent tree. This can result in a bad extent at the end of an extent-block
not being detected.

From a part of a dump_extents output:

1/ 2 37/ 68 143960 - 146679 123826181 2720
2/ 2 1/ 2 143960 - 146679 123785816 - 123788535 2720
2/ 2 2/ 2 146680 - 147583 123788536 - 123789439 904 Uninit <-bad extent
1/ 2 38/ 68 146680 - 149391 123826182 2712
2/ 2 1/ 2 146680 - 147583 18486 - 19389 904
2/ 2 2/ 2 147584 - 149391 123789440 - 123791247 1808

e2fsck does not detect this bad extent which both overlaps another, valid
extent, and is invalid by being beyond the end of the extent above it in
the tree.

This patch modifies e2fsck to detect this invalid extent and remove it.

Signed-off-by: David Jeffery <djeffery@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
/external/e2fsprogs/e2fsck/pass1.c
68477355a9f3b4ca46dfa6c34d05105dcc6682ad 20-May-2013 Theodore Ts'o <tytso@mit.edu> e2fsck: fix gcc -Wall nits

Perhaps the most serious fix up is a type-punning warning which could
result in miscompilation with overly enthusiastic compilers.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
10fc3a63d9b7efb14e810ee94ad1d2f254d44eae 25-Apr-2013 Eric Sandeen <sandeen@redhat.com> e2fsprogs: allow 0-length xattr values in e2fsck

e2fsck thinks that this:

# touch mnt/testfile1
# setfattr -n "user.test" mnt/testfile1

results in a filesystem with corruption:

Pass 1: Checking inodes, blocks, and sizes
Extended attribute in inode 12 has a value size (0) which is invalid
Clear? yes

but as far as I can tell, there is absolutely nothing wrong with
a 0-length value on an extended attribute. Just remove the check.

Reported-by: David Shaw <dshaw@jabberwocky.com>
Reported-by: Harald Reindl <h.reindl@thelounge.net>
Addresses-Red-Hat-Bugzilla: #557959
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
e3507739e4185bdb2394928eb6479e48f4e690a8 01-Jan-2013 Theodore Ts'o <tytso@mit.edu> Fix gcc -Wall nits

This fixes the last set of gcc -Wall complaints.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
29e8e74e02ae742874c8c37012da1e04a858eb2f 21-Dec-2012 Theodore Ts'o <tytso@mit.edu> e2fsck: make sure the extent tree is consistent after bogus node in the tree

Commit 789bd401c3 ("e2fsck: fix incorrect interior node logical start
values") surfaced a bug where if e2fsck finds and removed an invalid
node in the extent tree, i.e.:

Inode 12 has an invalid extent node (blk 22, lblk 0)
Clear? yes

It was possible for starting logical blocks found in the interior
nodes of the extent tree. Commit 789bd401c3 added the ability for
e2fsck to discover this problem, which resulted in the test
f_extent_bad_node to fail when the second pass of e2fsck reported the
following complaint:

Interior extent node level 0 of inode 12:
Logical start 0 does not match logical start 3 at next level. Fix? yes

This patch fixes this by adding a call to ext2fs_extent_fix_parents()
after deleting the bogus node in the extent tree.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
789bd401c3bce85d3c2ae4504ca62509aa0a8b88 20-Dec-2012 Eric Sandeen <sandeen@redhat.com> e2fsck: fix incorrect interior node logical start values

An index node's logical start (ei_block) should
match the logical start of the first node (index
or leaf) below it. If we find a node whose start
does not match its parent, fix all of its parents
accordingly.

If it finds such a problem, we'll see:

Pass 1: Checking inodes, blocks, and sizes
Interior extent node level 0 of inode 274258:
Logical start 3666 does not match logical start 4093 at next level. Fix<y>?

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
2ae49fd0cc964aca40e846b47d9bc347b05716eb 24-Nov-2012 Theodore Ts'o <tytso@mit.edu> e2fsck: optimize pass1 for CPU time

Optimize e2fsck pass 1 by marking entire extents as being in use at a
time, instead of block by block. This optimization only works for
non-bigalloc file systems for now (it's tricky to handle bigalloc file
systems since this code is also responsible for dealing with blocks
that are not correctly aligned within a cluster). When the
optimization works, the CPU savings can be significant: ove a full CPU
minute for a mostly full 4T disk.

Addresses-Google-Bug: #7534813

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reviewed-by: Lukas Czerner <lczerner@redhat.com>
/external/e2fsprogs/e2fsck/pass1.c
2d2abcc64604c831c2db1da03fe701baefa1cb68 06-Jul-2012 Andreas Dilger <adilger@whamcloud.com> e2fsck: rename "bool" variables

Since "bool" is a valid C type, declarations of the form "int bool"
will cause compiler errors if <stdbool.h> is included. Rename these
variables to avoid this name clash.

Signed-off-by: Andreas Dilger <adilger@dilger.ca>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
9c40d14841f04811097a123d6e8555e78ce56811 11-Jun-2012 Theodore Ts'o <tytso@mit.edu> e2fsck: only check for zero-length leaf extents

The on-disk format for interior nodes in the extent tree does not
encode the length of each entry in the interior node; instead, it is
synthesized/simulated by the extent library code in libext2fs.
Unfortunately, this simulation is not perfect; in particular it does
not work for the last extent in the extent tree if there are
uninitialized blocks allocated using fallocate with
FALLOC_FL_KEEP_SIZE, and it leads to e2fsck incorrectly complaining
about an invalid zero-length extent.

We only need to worry about the extent length for the leaves of the
tree, since it is there were we are checking an on-disk value, as
opposed to a software-generated simulation. So restrict the check of
extent length to leaf nodes in the extent tree.

Reported-by: Tao Ma <tm@tao.ma>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
9b01faa8b24909fca2d220efbdc989285796f6c4 22-May-2012 Theodore Ts'o <tytso@mit.edu> e2fsck: fix precedence bug in built-in quota support

The operator precedence bug means that we might pay atteion to
s_grp_quota_inum even if the RO_COMPAT_QUOTA feature flag is clear.
However, fortunately, this is unlikely to happen in practice.

Cc: Aditya Kali <adityakali@google.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
010dc7b90d97b93907cbf57b3b44f1c1cad234f6 23-Mar-2012 Lukas Czerner <lczerner@redhat.com> e2fsck: remove EXT4_EOFBLOCKS_FL flag handling

We've decided to remove EOFBLOCKS_FL from the ext4 file system entirely,
because it is not actually very useful and it is causing more problems
than it solves. We're going to remove it from e2fsprogs first and then
after the new e2fsprogs version is common enough we can remove the
kernel part as well.

This commit changes e2fsck to not check for EOFBLOCKS_FL. Instead we
simply search for initialized extents past the i_size as this should not
happen. Uninitialized extents can be past the i_size as we can do
fallocate with KEEP_SIZE flag.

Also remove the EXT4_EOFBLOCKS_FL from lib/ext2fs/ext2_fs.h since it is
no longer needed.

Signed-off-by: Lukas Czerner <lczerner@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
26c09eb8145a16dcba6c40810d46a78712d253f2 11-Mar-2012 Theodore Ts'o <tytso@mit.edu> e2fsck: check for zero length extent

If an extent has e_len set to zero, the kernel will oops with a
BUG_ON. Unfortunately, e2fsck wasn't catching this case. The kernel
needs to be fixed to notice this case and call ext4_error() instead of
failing an assertion check, but e2fsck should catch this case and
repair it (by deleting the errant extent).

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
830b44f4385eb255d08fe0c8b200f8d8e3e97a8d 16-Dec-2011 Theodore Ts'o <tytso@mit.edu> e2fsck: use different bitmap types as appropriate

Now that we have multiple backend implementations of the bitmap code,
this commit teaches e2fsck to use either the most appropriate backend
for each use case.

Since we don't know for sure if we will get it all right, the default
choices can be overridden via e2fsck.conf. The various definitions
are shown here, with the current defaults (which may change as we add
more bitmap implementations and as learn what works better).

; EXT2FS_BAMP64_BITARRAY is 1
; EXT2FS_BMAP64_RBTREE is 2
; EXT2FS_BMAP64_AUTODIR is 3
[bitmaps]
inode_used_map = 2 ; pass1
inode_dir_map = 3 ; pass1
inode_reg_map = 2 ; pass1
block_found_map = 2 ; pass1
inode_bad_map = 2 ; pass1
inode_imagic_map = 2 ; pass1
block_dup_map = 2 ; pass1
block_ea_map = 2 ; pass1
inode_link_info = 2 ; pass1
inode_dup_map = 2 ; pass1b
inode_done_map = 3 ; pass3
inode_loop_detect = 3 ; pass3
fs_bitmaps = 2

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
24c91184d6577271f7387962c90626c973389f00 16-Dec-2011 Theodore Ts'o <tytso@mit.edu> e2fsck: fix use of uninitialized value in the MMP code

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
66df14687d6a905aa111ec7327357a3ae1ad3236 26-Nov-2011 Kazuya Mio <k-mio@sx.jp.nec.com> e2fsck: fix the max size calculation for non-extent file

When I create a non-extent file with the maximum size in ext4,
e2fsck detects the following error:

Pass 1: Checking inodes, blocks, and sizes
Inode 12, i_size is 4402345721856, should be 4402345721856. Fix?

As we know, e2fsck checks the size field of the inode in pass 1.
However, in case of the ext4 with the feature of ^extent and huge_file,
the maximum file size calculated in e2fsck is less than the real one.
The patch fixes this problem.

Signed-off-by: Kazuya Mio <k-mio@sx.jp.nec.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
0c80c44bd08c60f3cd0ad87f12a71a75cac3bcaa 17-Oct-2011 Theodore Ts'o <tytso@mit.edu> libext2fs: ext2fs_[set_]file_acl_block needs to check for 64-bit feature flag

The ext2fs_file_acl_block() and ext2fs_set_file_acl_block() needs to
only check i_file_acl_high if the 64-bit flag is set. This is needed
because otherwise we will run into problems on Hurd systems which
actually use that field for h_i_mode_high.

This involves an ABI change since we need to pass ext2_filsys to these
functions. Fortunately these functions were first included in the
1.42-WIP series, so it's OK for us to change them now. (This is why
we have 1.42-WIP releases. :-)

Addresses-Sourceforge-Bug: #3379227

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
96a8afa7c134ef9239a70f264c35e709737f42cd 28-Sep-2011 Theodore Ts'o <tytso@mit.edu> e2fsck: check for invalid bad block inode

In some cases the bad block inode gets corrupted. If it looks insane,
offer to clear it before trying to interpret it does more harm than
good.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
0f5eba7501f467f757792ee449d16c9259b994fd 24-Sep-2011 Andreas Dilger <adilger@whamcloud.com> ext2fs: add multi-mount protection (INCOMPAT_MMP)

Multi-mount protection is feature that allows mke2fs, e2fsck, and
others to detect if the filesystem is mounted on a remote node (on
SAN disks) and avoid corrupting the filesystem. For e2fsprogs this
means that it checks the MMP block to see if the filesystem is in use,
and marks the filesystem busy while e2fsck is running on the system.

This is useful on SAN disks that are shared between high-availability
servers, or accessible by multiple nodes that aren't in HA pairs. MMP
isn't intended to serve as a primary HA exclusion mechanism, but as a
failsafe to protect against user, software, or hardware errors.

There is no requirement that e2fsck updates the MMP block at regular
intervals, but e2fsck does this occasionally to provide useful
information to the sysadmin in case of a detected conflict.

For the kernel (since Linux 3.0) MMP adds a "heartbeat" mechanism to
periodically write to disk (every few seconds by default) to notify
other nodes that the filesystem is still in use and unsafe to modify.

Originally-by: Kalpak Shah <kalpak@clusterfs.com>

Signed-off-by: Johann Lombardi <johann@whamcloud.com>
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
d1154eb460efe588eaed3d439c1caaca149fa362 18-Sep-2011 Theodore Ts'o <tytso@mit.edu> Shorten compile commands run by the build system

The DEFS line in MCONFIG had gotten so long that it exceeded 4k, and
this was starting to cause some tools heartburn. It also made "make
V=1" almost useless, since trying to following the individual commands
run by make was lost in the noise of all of the defines.

So fix this by putting the configure-generated defines in lib/config.h
and the directory pathnames to lib/dirpaths.h.

In addition, clean up some vestigal defines in configure.in and in the
Makefiles to further shorten the cc command lines.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
f85a9ae6397ff074193322a12ed721dbf5751e41 16-Sep-2011 Eric Sandeen <sandeen@redhat.com> e2fsck: Don't store old_op from ehandler_operation if we don't restore it.

old_op is set but never used, because we restore "0"
not old_op. So don't bother with it.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
89efc88e65136ece22708cc28ec4124a33feeecd 15-Sep-2011 Theodore Ts'o <tytso@mit.edu> libext2fs: add metadata checksum and snapshot feature flags

Reserve EXT4_FEATURE_RO_COMPAT_METADATA_CSUM and
EXT2_FEATURE_COMPAT_EXCLUDE_BITMAP. Also reserve fields in the
superblock and the inode for the checksums. In the block group
descriptor, reserve the exclude bitmap field for the snapshot feature,
and checksums for the inode and block allocation bitmaps.

With this commit, the metadata checksum and exclude bitmap features
should have reserved all of the fields they need in ext4's on-disk
format.

This commit also fixes an a missing byte swap for s_overhead_blocks.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Cc: Darrick J. Wong <djwong@us.ibm.com>
Cc: Amir Goldstein <amir73il@gmail.com>
/external/e2fsprogs/e2fsck/pass1.c
624e4a6466dba9889f5f80dc168f2bb7c2a3f5d0 20-Jul-2011 Aditya Kali <adityakali@google.com> e2fsck: add support for checking the built-in quota files

This patch adds support for doing quota accounting during full
e2fsck scan if the 'quota' feature was set on the superblock.
If user-visible quota inodes are in use, they will be hidden
and converted to the reserved quota inodes.

Signed-off-by: Aditya Kali <adityakali@google.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
95a7f15f4606fe69b2b025e061ebd230baae2bb4 10-Jul-2011 Theodore Ts'o <tytso@mit.edu> e2fsck: teach e2fsck how to deal with bigalloc in non-extent-mapped inodes

Currently the bigalloc implementation in the kernel requires extents,
but this restriction might get relaxed in the future. Also, old
versions of mke2fs that supported bigalloc during early testing
created the root and lost+found directories without using
extent-mapped inodes. This makes it possible for e2fsck to better
support these old legacy file systems if it comes across them.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
0bd0e5932046401049502ee99529b984d7cd316e 09-Jul-2011 Andreas Dilger <adilger@whamcloud.com> misc: use EXT2_I_SIZE() consistently to get size

Use the EXT2_I_SIZE() macro consistently to access the inode size.
The i_size/i_size_high combination is open coded in several places.

Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
b2e6c86d61fccc39956c0cb8a8333f42d1569e8d 16-Jun-2011 Theodore Ts'o <tytso@mit.edu> mke2fs, e2fsck: fix i_blocks handling for bigalloc file systems

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
cf5301d7f2c3bbed3d26600335102414cbf0c4ba 11-Jun-2011 Andreas Dilger <adilger@whamcloud.com> misc: clean up compiler warnings

Fix several types of compiler warnings (unused variables/labels),
uninitialized variables, etc that are hit with gcc -Wall.

Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
44fe08f1fa1e9a994ff304aa02022c53c9341519 11-Jun-2011 Theodore Ts'o <tytso@mit.edu> e2fsck: add basic bigalloc support to check (but not yet repair) file systems

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
b70506bffba208daa2dc176be9370bc198ecd221 25-Sep-2010 Theodore Ts'o <tytso@mit.edu> e2fsck: Set i_blocks_hi when correcting the i_blocks field in pass #1

For file systems with 64-bit block numbers, we need to make sure we
correct the i_blocks_hi field as well as the i_blocks field when
setting it to the correct value.

Thanks to Justin Maggard for pointing this out.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
6dc64392c052839f373b7bbbb58efa3048bfb355 13-Jun-2010 Valerie Aurora Henson <vaurora@redhat.com> e2fsck: Fix up to be 64-bit block number safe

Signed-off-by: Valerie Aurora Henson <vaurora@redhat.com>
Signed-off-by: Nick Dokos <nicholas.dokos@hp.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
97d26ce9e3589e9f5fa17014467a9730a884d158 07-Jun-2010 Theodore Ts'o <tytso@mit.edu> Merge branch 'maint' into next

Conflicts:
e2fsck/journal.c
e2fsck/pass1.c
e2fsck/pass2.c
misc/mke2fs.c
ae2272f8459f75c064b2644320db4ec5213d40a9 19-May-2010 Eric Sandeen <sandeen@redhat.com> e2fsck: correct test for EOFBLOCKS

This test, added to e2fsprogs-1.41.12, is backwards.

If EOFBLOCKS is set, then the size -should- be less than
the last physical block...

xfstests 013 caught this.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
e6238d3708d328851bfdff7580d1b8504c7cf2e4 15-May-2010 Theodore Ts'o <tytso@mit.edu> e2fsck: Explicitly reject extents that begin at physical block 0 as illegal

In the case where s_first_data_block is 1, we need to explictly reject
an extent whose starting physical block is zero.

Thanks to Jiaying Zhang <jiayingz@google.com> for finding this bug.

Addresses-Google-Bug: #2573806

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
ee74cf16b5aa98fc210da23ba3a6c64d5a63289d 17-Mar-2010 Theodore Ts'o <tytso@mit.edu> e2fsck: Fix segmentation fault when checking a file system

If a corrupted file system causes us to want to delete an extent, and
that causes us to want to release a block in e2fsck pass #1, it would
be preferable if e2fsck didn't seg fault. This tends to get users
craky, as users are wont to do. :-)

Thanks to Dirk Reiners for reporting this bug:

e2fsck crashes fixing a corrupted 3.5 TB filesystem:

0x0000000000432002 in ext2fs_unmark_generic_bitmap (bitmap=0x0, bitno=623386749)
at gen_bitmap.c:183
183 if ((bitno < bitmap->start) || (bitno > bitmap->end)) {
(gdb) bt
bitno=623386749) at gen_bitmap.c:183
block=623386749) at ../../lib/ext2fs/bitops.h:319
inuse=-1) at alloc_stats.c:78
extent.c:1509
pb=0x7fffffffdfe0, start_block=0, ehandle=0x6dcf50) at pass1.c:1709
pb=0x7fffffffdfe0, start_block=0, ehandle=0x6dcf50) at pass1.c:1737
pctx=0x7fffffffe100, pb=0x7fffffffdfe0) at pass1.c:1842
block_buf=0x6c4330 "\373\212#") at pass1.c:1920

The source of the NULL bitmap is fs on stack frame 2:

(gdb) up 2
inuse=-1) at alloc_stats.c:78
78 ext2fs_unmark_block_bitmap(fs->block_map, blk);

Addresses-SourceForge-Bug: #2971800

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
65d71894c9f254ea1a5eb836e454dd263b13a867 30-Mar-2010 Eric Sandeen <sandeen@redhat.com> e2fsck: make block counting variable in pass1 64 bits

Justin reported that creating a 4T file with posix_fallocate led
to fsck errors:

e2fsck 1.41.10 (10-Feb-2009)
Pass 1: Checking inodes, blocks, and sizes
Inode 12, i_blocks is 8589935432, should be 840. Fix? yes

This looks like a 32-bit overflow.

commmit 8a8f36540bbf5d4397cf476e216e9a720b5c1d8e added handling of
the high i_blocks number, but we accumulate blocks in the num_blocks
field, and that's still just 32 bits.

Note: we don't need to expand max_blocks for now, that's only used
in the non-extents case, and those files have smaller max sizes.

I haven't been able to replicate the problem, oddly, but Justin
reports that this patch fixed his situation.

Reported-by: Justin Maggard <jmaggard10@gmail.com>
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
a6217f5ae2ca02f2f12c259b34615cbd7f4110d6 13-May-2010 Theodore Ts'o <tytso@mit.edu> e2fsck: Fix a number of problems that were inappropriately using PROMPT_ABORT

There were a number of problems that were prompting the user whether
or not to ABORT, but then would abort regardless of whether the user
answered yes or no. Change those to be PROMPT_NONE, PR_FATAL.

Also, fix PR_1_RESIZE_INODE_CREATE so that it recovers appropriately
after failing to create the resize inode. This problem now uses
PROMPT_CONTINUE instead of PROMPT_ABORT, and if the user says, "no",
the code will abort.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
2291fbb0358be8251df0d611913f49fbb9beb740 10-May-2010 Theodore Ts'o <tytso@mit.edu> e2fsck: Check for cases where EOFBLOCKS_FL is unnecessarily set

Some kernels will crash if EOFBLOCKS_FL is set when it is it not
needed, and this if it is left set when it isn't needed, it is a sign
of a kernel bug.

Addresses-Google-Bug: #2604224

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
d9af85b50bbabf6f099d6732e77d6b1443e651cf 08-Apr-2010 Theodore Ts'o <tytso@mit.edu> Revert "e2fsck: fix spurious complaints about i_size caused by preallocated blocks"

This reverts commit 0ea910997b3c2ba09b65b852b9bb4dd7b4d68999.

Since the Linux kernel now has support for the EXT4_EOFBLOCKS_FL flag
starting in 2.6.34, we don't need this workaround any more.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
19f433a5214e720a95bdbf78bdcdca353c25b770 17-Mar-2010 Theodore Ts'o <tytso@mit.edu> e2fsck: Fix segmentation fault when checking a file system

If a corrupted file system causes us to want to delete an extent, and
that causes us to want to release a block in e2fsck pass #1, it would
be preferable if e2fsck didn't seg fault. This tends to get users
craky, as users are wont to do. :-)

Thanks to Dirk Reiners for reporting this bug:

e2fsck crashes fixing a corrupted 3.5 TB filesystem:

0x0000000000432002 in ext2fs_unmark_generic_bitmap (bitmap=0x0, bitno=623386749)
at gen_bitmap.c:183
183 if ((bitno < bitmap->start) || (bitno > bitmap->end)) {
(gdb) bt
bitno=623386749) at gen_bitmap.c:183
block=623386749) at ../../lib/ext2fs/bitops.h:319
inuse=-1) at alloc_stats.c:78
extent.c:1509
pb=0x7fffffffdfe0, start_block=0, ehandle=0x6dcf50) at pass1.c:1709
pb=0x7fffffffdfe0, start_block=0, ehandle=0x6dcf50) at pass1.c:1737
pctx=0x7fffffffe100, pb=0x7fffffffdfe0) at pass1.c:1842
block_buf=0x6c4330 "\373\212#") at pass1.c:1920

The source of the NULL bitmap is fs on stack frame 2:

(gdb) up 2
inuse=-1) at alloc_stats.c:78
78 ext2fs_unmark_block_bitmap(fs->block_map, blk);

Addresses-SourceForge-Bug: #2971800

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
c5b23f6c0e17503630455fb16d1b2035f844acc9 15-Mar-2010 Theodore Ts'o <tytso@mit.edu> Merge branch 'maint' into next
4ffafee26cf791c0c651c08d3dcefcdd363bf127 24-Feb-2010 Eric Sandeen <sandeen@redhat.com> e2fsck: don't complain about i_size for known blocks past EOF

This is the userspace side of Jiaying's EOFBLOCKS patch. With
Aneesh's patches for .33, Jiaying's patch, and this one, xfstests
013/fsstress (even with direct IO enabled) has held up through many
runs.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
cc84d866e2f29d92b5a732fead4df2dd9f814f2b 11-Feb-2010 Theodore Ts'o <tytso@mit.edu> Merge branch 'maint' into next

Conflicts:
e2fsck/pass1.c
1ec42a00a5354c342f213722382a4d1987af74ca 05-Feb-2010 Nick Dokos <nicholas.dokos@hp.com> e2fsck: Fix the check if a file is really a directory to understand extents

Pass 1 has a test to see if a special file is really a directory.

Signed-off-by: Nick Dokos <nicholas.dokos@hp.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
2d07b3ad98bfe1db5fb1071f53a5338ab6c35522 31-Jan-2010 Theodore Ts'o <tytso@mit.edu> Merge branch 'maint' into next

Conflicts:
configure
lib/ext2fs/alloc_tables.c
misc/mke2fs.c
2884320016e633d987203c0286a9dbf9e62a3fd4 31-Jan-2010 Theodore Ts'o <tytso@mit.edu> e2fsck: Remove some erroneously leftover blk_t casts

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
8a2cbe2c6deb93ccfed58fd755c886fce16586a3 29-Nov-2009 Theodore Ts'o <tytso@mit.edu> e2fsck: Try to update on-disk bitmap in e2fsck_get_alloc_block() callback

The e2fsck_get_alloc_block() callback is used so that if the ext2fs
library needs to allocate blocks internally (most notably by the
extents functions), e2fsck's internal block usage map is consulted
since it is the only thing that can be trusted during a large part of
e2fsck's operation.

Change it to update the on-disk bitmap if it is loaded. This reduces
the number of spurious differences found in pass #5.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
4607ef7d53304c00f6259ab671e597d5493b9786 29-Nov-2009 Theodore Ts'o <tytso@mit.edu> e2fsck: detect holes in extent-mapped directories

Directories are not allowed to be sparse; the code for scanning
extent-mapped directories was not calling ext2fs_add_dir_block() for
missing directory blocks, so we weren't catching this form of file
system corruption. Fix this.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
a49249d2e314d503f203ed1cce73fdf7f5d09ddc 28-Nov-2009 Theodore Ts'o <tytso@mit.edu> e2fsck: Move check to add an index to a directory after fixing i_size

The check that determines whether an directory needs to be have an
index added to it depends on i_size. So move it after we have fixed
up i_size so that we reliable will rehash a directory that needs it,
even if its i_size field was originally incorrect. Otherwise, a
second run of e2fsck would be needed before the directory gets an
index added.

Thanks to Mikulas Patocka for providing a sample file system which
demonstrated this problem.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
4dbe79bcf3c693f9ae607506850eda7ea92892ab 28-Nov-2009 Theodore Ts'o <tytso@mit.edu> e2fsck: Fix directory with holes even when i_size is wrong

The old method for detecting directories with holes depended on i_size
being correct, even though the correct value of i_size hadn't been
calculated yet. Hence, a directory inode with holes and an i_size of
0 would require two e2fsck passes to fix completely.

The replacement method for determining whether or not
ext2fs_add_dir_block() should be called is more reliable, and reduces
the size of e2fsck and makes the code more readable as a bonus.

Thanks to Mikulas Patocka for providing a sample file system which
demonstrated this problem.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
b49f78fe6e19fe63b6f989d5e1afb04f59069197 26-Oct-2009 Theodore Ts'o <tytso@mit.edu> Convert ext2fs_group_{first,last}_block() to *block2()

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
d7cca6b06f366f998ed43346f9b6fca9e163692f 26-Oct-2009 Valerie Aurora Henson <vaurora@redhat.com> Convert to use block group accessor functions

Convert direct accesses to use the following block group accessor
functions: ext2fs_block_bitmap_loc(), ext2fs_inode_bitmap_loc(),
ext2fs_inode_table_loc(), ext2fs_bg_itable_unused(),
ext2fs_block_bitmap_loc_set(), ext2fs_inode_bitmap_loc_set(),
ext2fs_inode_table_loc_set(), ext2fs_bg_free_inodes_count(),
ext2fs_ext2fs_bg_used_dirs_count(), ext2fs_bg_free_inodes_count_set(),
ext2fs_bg_free_blocks_count_set(), ext2fs_bg_used_dirs_count_set()

Signed-off-by: Valerie Aurora Henson <vaurora@redhat.com>
Signed-off-by: Nick Dokos <nicholas.dokos@hp.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
72a729dbf962e8fba58a06ee0a11a01b15e743fc 24-Oct-2009 Theodore Ts'o <tytso@mit.edu> Merge branch 'maint' into next

Conflicts:
configure
configure.in
8a8f36540bbf5d4397cf476e216e9a720b5c1d8e 13-Oct-2009 Theodore Ts'o <tytso@mit.edu> e2fsck: Fix handling of non-zero i_blocks_high field

E2fsck was not properly printing the i_blocks field in filesystem
corruption messages, and it was not properly checking i_blocks_hi and
i_blocks_lo, either. This commit fixes this.

Thanks to Felipe Conteras for pointing this out.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
4efbac6fed75c29d3d5f1b676b932754653a2ac5 08-Sep-2009 Valerie Aurora Henson <vaurora@redhat.com> Convert uses of super->s_*_blocks_count to ext2fs_*_blocks_count()

Signed-off-by: Valerie Aurora Henson <vaurora@redhat.com>
Signed-off-by: Nick Dokos <nicholas.dokos@hp.com>
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
a63745e81cbb476b90c75ca3ca60b9ba4be95cae 08-Sep-2009 Valerie Aurora Henson <vaurora@redhat.com> Use ext2fs_file_acl_block() instead of using .i_file_acl directly

This provides support for 48-bit file acl blocks.

Signed-off-by: Valerie Aurora Henson <vaurora@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
24a117abd0340d247befbf7687ffb70547fdf218 08-Sep-2009 Valerie Aurora Henson <vaurora@redhat.com> Convert to use io_channel_read_blk64() and io_channel_write_blk64()

Signed-off-by: Valerie Aurora Henson <vaurora@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
c5d2f50dee996e48e96066155f85d7c925fcba0d 23-Aug-2009 Valerie Aurora Henson <vaurora@redhat.com> e2fsck: Convert e2fsck to new bitmap interface

Signed-off-by: Valerie Aurora Henson <vaurora@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
9a7fe4bdc9725bbf84af0c174c9102e8ac05983c 19-Aug-2009 Theodore Ts'o <tytso@mit.edu> e2fsck: Only ask to relocate a block group's inode table once

If multiple blocks of a block group's inode table overlaps with other
file system blocks, only ask once for each block group.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
617446e4aad5acdc82bad8bb36d896f9ad480cf8 19-Aug-2009 Theodore Ts'o <tytso@mit.edu> e2fsck: Teach new_table_block() to allocate new itables/bitmaps with FLEX_BG

If the filesystem feature FLEX_BG is enabled, the inode table and
bitmap blocks can be located anywhere in the inode table. So for
FLEX_BG filesystems, new_table_block() now tries allocate in the block
group's flex_bg first, and if there is no space in the local flex_bg,
then try to allocate from the whole filesystem.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
8a480350952f6f0fdbce54326b6d847e66368897 22-Jun-2009 Theodore Ts'o <tytso@mit.edu> Fix encoding for rec_len in directories for >= 64k blocksize file systems

Previously e2fsprogs interpreted 0 for a rec_len of 65536 (which could
occur if the directory block is completely empty in 64k blocksize
filesystems), while the kernel interpreted 65535 to mean 65536. The
kernel will accept both to mean 65536, and encodes 65535 to be 65536.
This commit changes e2fsprogs to match.

We add the encoding agreed upon for 128k and 256k filesystems, but we
don't enable support for these larger block sizes, since they haven't
been fully tested.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
84b239aea4da04c7a569b428d3abf6c720e82645 19-May-2009 number9652 <number9652@yahoo.com> libext2fs: add ext2fs_extent_open2

The patch below adds a function, ext2fs_extent_open2(), that behaves
as ext2fs_extent_open(), but will use the user-supplied inode
structure when opening an extent instead of reading the inode from
disk. It also changes several of the calls to extent_open() to use
this enhancement.

Signed-off-by: Nic Case <number9652@yahoo.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
9facd076ae8af6e908e228392cea866ce0faf1bc 28-May-2009 Ken Chen <kenchen@google.com> Add empty function for init_resource_track() and print_resource_track()
in the case of ! defined RESOURCE_TRACK, so that we can clean up #ifdef
throughout e2fsck source.

Signed-off-by: Ken Chen <kenchen@google.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
0a68b181c1c1d59a284c9cb524b301d183825099 17-May-2009 Theodore Ts'o <tytso@mit.edu> e2fsck: Don't crash if an inode with a bad extent header is not cleared

If ext2fs_extent_open() fails due to a corrupt extent header, and the
user declines to clear the inode, check_blocks_extents() should bail
out; otherwise, it will cause a core dump due a null pointer
dereference.

Addresses-Sourceforge-Bug: #2791794

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
911ec6261568ca56d2d7b9a15f00578c4d127cf4 24-Apr-2009 Theodore Ts'o <tytso@mit.edu> e2fsck: On a 32-bit filesystem, make sure i_file_acl_high is zero

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
7518c176867099eb529502103106501861a71280 26-Dec-2008 Theodore Ts'o <tytso@mit.edu> e2fsck: Fix an unhandled corruption case in scan_extent_node()

A corrupted interior node in an extent tree would cause e2fsck to
crash with the error message:

Error1: Corrupt extent header on inode 107192
Aborted (core dumped)

Handle this and related failures when scanning an inode's extent tree
more robustly.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
d5a74ff10be2afe155f8b7c1397c75f4275ebeba 09-Dec-2008 Theodore Ts'o <tytso@mit.edu> e2fsck: Fix double-counting of non-contiguous extent-based inodes

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
100d4701d5338807a99565aa528970da644e0953 09-Dec-2008 Theodore Ts'o <tytso@mit.edu> e2fsck: Enhance fragcheck report with file/directory information

Report whether a fragmented inode is a directory or a file, as this is
highly useful for determining what is going on with an ext4 filesystem.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
ce44d8cafa36e5c57f056be5b340d51c8ab819c6 09-Dec-2008 Theodore Ts'o <tytso@mit.edu> e2fsck: In verbose mode, distinguish between fragmented directories/files

Track the number of non-contiguous files and directories so we can
give more detailed information in verbose mode.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
03fa6f8ae28a87018325c892f731097cc97d9eac 16-Nov-2008 Theodore Ts'o <tytso@mit.edu> Fix various signed/unsigned gcc warnings

Some of these could affect filesystems between 2^31 and 2^32-1 blocks.

Thanks to Valerie Aurora Henson for pointing out the problems in
lib/ext2fs/alloc_tables.c, which led me to do a "make gcc-wall" scan
over the source tree.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
0eeec8ac61bf1eaa31533b2be825cd75580829c9 12-Sep-2008 Theodore Ts'o <tytso@mit.edu> Fix compiling under diet libc

Some recent changes had caused diet libc support to bitrot. Fix up
missing header files and other portability fixups needed for dietlibc.
(Many of these changes also improve general portability.)

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
efc6f628e15de95bcd13e4f0ee223cb42115d520 28-Aug-2008 Theodore Ts'o <tytso@mit.edu> Remove trailing whitespace for the entire source tree

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
5dd77dbe5a0ac6d78c1c6441fae4087be56d9088 26-Aug-2008 Theodore Ts'o <tytso@mit.edu> Add support for with empty directory blocks in 64k blocksize filesystems

The rec_len field in the directory entry is 16 bits, so if the
filesystem is completely empty, rec_len of 0 is used to designate
65536, for the case where the directory entry takes the entire 64k
block.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
0ea910997b3c2ba09b65b852b9bb4dd7b4d68999 18-Aug-2008 Theodore Ts'o <tytso@mit.edu> e2fsck: fix spurious complaints about i_size caused by preallocated blocks

For inodes with blocks preallocated with FALLOC_FL_KEEP_SIZE, e2fsck
complained about i_size being too small. Fix this.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
3ec7be439ab8fafb7b82632948e0adb067dde6ab 17-Aug-2008 Theodore Ts'o <tytso@mit.edu> e2fsck: Fix max size calculation for extent files

A misunderstanding C's precedence rules and the meaning of
s_log_block_size meant that we were capping the maximum size of
extent-based files at 8GB instead of the 64TB that it should be for
filesystems with 4k block sizes.

Addresses-Kernel-Bugzilla: #11341

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
8da6d1a18a29d505b97231f98470c8f24a538d4e 14-Aug-2008 Theodore Ts'o <tytso@mit.edu> e2fsck: Fix ind/dind/tind statistics and add extent depth statistics

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
f4e2c991efb1e31990a2515b59a7c3c20711fbe6 13-Aug-2008 Theodore Ts'o <tytso@mit.edu> e2fsck: Fix signed/unsigned error in fragcheck report for indirect blocks

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
63b5e354d926413d365eeff8a6d5347b3fb212d0 11-Aug-2008 Theodore Ts'o <tytso@mit.edu> e2fsck: Fix check to see if an extent-based file is fragmented

Also added support for "e2fsck -E fragcheck" which issues a
comprehensive report of discontiguous file extents.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
7c1e090ce129e093c88403087ed03509d6d07d6a 07-Jul-2008 Eric Sandeen <sandeen@redhat.com> e2fsck: Fix i_size checking for large extent-based files

This:

Truncating bigfile to 14680064000000
Pass 1: Checking inodes, blocks, and sizes
Inode 49154, i_size is 14680064000000, should be 0. Fix<y>?

is a bit unexpected. It's because the size is being checked against
the max sizes for bitmap files, not extent-based files.

Nick saw this with his 14TB file.

Patch below applies different size limits to the different file
formats.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
2acad6b4895a0e218f9d9eece1ade23c2cf4ffc7 07-Jun-2008 Theodore Ts'o <tytso@mit.edu> Fix gcc -Wall warnings in e2fsck

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
d5a8f9a9f25a85b69335915e5dac2a359334b5d7 03-Jun-2008 Theodore Ts'o <tytso@mit.edu> e2fsck: Detect unordered extents in an extent node

The logical block numbers must be monotonically increasing, and there
must not be any overlapping extents. If any are found, report them as
filesystem corruption.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
16bd349e1f9e24e5c936a409953264b09b1231db 02-Jun-2008 Theodore Ts'o <tytso@mit.edu> e2fsck: Wire up callback functions for _alloc_block() and _block_alloc_stats()

Wire up callback functions for ext2fs_alloc_block() and
ext2fs_block_alloc_stats() so that we use the ctx->block_found_map
block bitmap to determine which new block we should allocate, and then
to update the block_found_map bitmap if the extent functions need to
allocate or release blocks.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
11de9261c156e2b274aab0997808a1eb3cf1ddb5 30-May-2008 Theodore Ts'o <tytso@mit.edu> e2fsck: Don't double count an extent after deleting the last extent

ext2fs_extent_delete() will leave the extent handle pointing at the
next extent --- except if the last extent in the node. To deal with
this last case, call ext2fs_get_extent_info() and stop scanning after
processing info->num_entries extents.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
73e5abcfe43d6bbd5b4793769d41d097ba7aed84 28-May-2008 Theodore Ts'o <tytso@mit.edu> e2fsck: Don't skip an extent after deleting an invalid extent

ext2fs_delete_extent() deletes the current extent and moves to the
next extent (if present). So we need to skip moving to the next
extent and get the (new) current extent and check it before moving on.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
7a1eac2fbe8bcd6588a198af51f66347bb10f5ab 02-Apr-2008 Eric Sandeen <sandeen@redhat.com> e2fsck: Only check PR_1_EXTENT_ENDS_BEYOND for leaf nodes

pass1 was checking that an "extent's" start+len did not extend
past the last filesystem block, but unless we are at a leaf
block, the physical block is that of a node in the tree, and
the length may include sparseness. The test is only valid
for leaf blocks.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
1ca1059fd0126fd2c065f272a566c18f14bab16d 09-Apr-2008 Theodore Ts'o <tytso@mit.edu> Add support for the HUGE_FILE feature

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
dfc870c718d22054ee6e8d607fcec76dd6f8e17d 01-Apr-2008 Eric Sandeen <sandeen@redhat.com> e2fsck: Fix extent flag validity tests in pass1 on big endian boxes.

Extent data is shared with the i_block[] space in the inode,
but it is always swapped on access, not when the inode is read.

In e2fsck/pass1.c we must be careful when checking validity
of the extents flag on the inode. If the flag was set when
the inode was read & swapped, then the extents data itself
(in ->i_block[]) was NOT swapped, so testing for a valid
extent header requires some swapping first. Then, if we
ultimately set the extents flag, all of i_block[] must be
re/un-swapped.

This passes the f_extent regression test on both ppc & x86.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
cb23cad5b750084212ca068a7212618e4b903730 24-Mar-2008 Theodore Ts'o <tytso@mit.edu> e2fsck: Don't object to extents flags on deleted fast symlinks

Thanks to Aneesh Kumar for pointing this out.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
85b59c40f4b37e43e58aef188b07a3b6678ce782 19-Mar-2008 Eric Sandeen <sandeen@redhat.com> Fix ext2fs_extent_get for uninit leaf extents

The ext2fs_extent_get() function was not OR-ing together UNINIT
and LEAF flags in the case where an extent was both; so if we
had an extent which was both uniint and leaf, pass1 would bail
out where depth == max_depth but was not marked as leaf, and
e2fsck (from the next branch) would abort with:

e2fsck 1.40.8 (13-Mar-2008)
Pass 1: Checking inodes, blocks, and sizes
Error1: No 'down' extent
Aborted

Also, if the error is encountered again, print the inode number
to aid debugging until it's properly handled, at least.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
ee19c902e6f09ae058577f6b742d60692e7fb853 14-Mar-2008 Theodore Ts'o <tytso@mit.edu> e2fsck: Check for fast symlinks that have EXTENTS_FL set

These shouldn't show up in the wild, but if they do, e2fsck will offer
to clear them.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
7cadc57780f3e3e8e644e8976e11a336902d4a25 14-Mar-2008 Theodore Ts'o <tytso@mit.edu> e2fsck: Support long symlinks which use extents

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
a040a99b6cc4bf9f10d39747ca6947f0462a2eb2 13-Mar-2008 Theodore Ts'o <tytso@mit.edu> Merge branch 'maint'

Conflicts:

lib/ext2fs/ext2_err.et.in
2cd12338395fda301826a88ec7005f4362cc756e 13-Mar-2008 Theodore Ts'o <tytso@mit.edu> e2fsck: Fix directory i_size handling

If a directory's i_size is bigger than the number of blocks, don't try
to allocate extra empty blocks to the end of the directory; there's no
real point to do that. Also, if a directory's i_size is not a
multiple of the blocksize, flag that as a mistake so it can be fixed.

This more elegantly addresses the problem which was found on Bas van
Schaik's filesystem.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
7dc099887c3f922834e88dc55907dc0fa385b346 22-Feb-2008 Theodore Ts'o <tytso@mit.edu> e2fsck: Account for index nodes in the extent tree for i_blocks

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
fefaef39e046781ddc75d15a8f12369f17dbd17d 02-Feb-2008 Andreas Dilger <adilger@sun.com> Improve support for in-inode EA's

Add vertificaton of the in-inode EA information, and allow in-inode
EA's to have a checksum.

Signed-off-by: Andreas Dilger <adilger@clusterfs.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
15d482ba6e46b6979d8d9e9b3b28e0942b626c2e 21-Aug-2007 Theodore Ts'o <tytso@mit.edu> e2fsck: Add support for extents

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
e3df15abdb288c3519000c639ed40429a82b63cd 15-Sep-2007 Theodore Ts'o <tytso@mit.edu> e2fsck: factor out code to clear an inode into e2fsck_clear_inode()

Factor out code to clear a bogus inode and update e2fsck's internal
data structures accordingly into a common routine,
e2fsck_clear_inode(). This saves about 200 bytes in the compiled x86
e2fsck executable, and makes the code more maintainable in the
long-term.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
d9099eec8e8f801932f01b707513b330908080d7 01-Nov-2007 Theodore Ts'o <tytso@mit.edu> Merge branch 'cl/remove-masix' into next
5b57d921b4b9d9b0c4c678e2078887776eb43bbf 23-Aug-2007 Coly Li <coyli@suse.de> e2fsck: remove masix support

This patch remove masix support from e2fsck.

Signed-off-by: Coly Li <coyli@suse.de>
/external/e2fsprogs/e2fsck/pass1.c
da938f20ac22a6b748640206b76e60616fde2668 20-Oct-2007 Dmitry V. Levin <ldv@altlinux.org> 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>
/external/e2fsprogs/e2fsck/pass1.c
aef2283196667d3b843a55c0fd6e6ebd8b6239c7 04-Aug-2007 Theodore Ts'o <tytso@mit.edu> Merge branch 'maint'
9f0288d3bbbf47bb05e5abf1e570df368476a8cd 04-Aug-2007 Theodore Ts'o <tytso@mit.edu> 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>
/external/e2fsprogs/e2fsck/pass1.c
6d96b00d57d236e2746f8245df6c8ea64abc64c1 04-Aug-2007 Theodore Ts'o <tytso@mit.edu> 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>
/external/e2fsprogs/e2fsck/pass1.c
a34c6ffd687aef4941bbc32793078c13914d3864 22-Jun-2007 Andreas Dilger <adilger@clusterfs.com> 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>
/external/e2fsprogs/e2fsck/pass1.c
f954ba012fbff61730890115308e78de6720ad5f 23-May-2007 Theodore Ts'o <tytso@mit.edu> Fix gcc -Wall issues in e2fsck sources

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Signed-off-by: Andreas Dilger <adilger@clusterfs.com>
/external/e2fsprogs/e2fsck/pass1.c
1a8c2c4a89d380db07e9e95c49fdd8b46d893417 08-May-2007 Kalpak Shah <kalpak@clusterfs.com> 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>
/external/e2fsprogs/e2fsck/pass1.c
0eeb15493755329fe4d85be913d5eff657cefec3 14-Apr-2007 Theodore Ts'o <tytso@mit.edu> 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>
/external/e2fsprogs/e2fsck/pass1.c
e94bc631648299dca43a6015520b18f6232d50df 14-Apr-2007 Theodore Ts'o <tytso@mit.edu> 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>
/external/e2fsprogs/e2fsck/pass1.c
34b9f7963933daeb1c3fb3f21a70a1673d098154 07-Apr-2007 Theodore Ts'o <tytso@mit.edu> 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>
/external/e2fsprogs/e2fsck/pass1.c
86bc90f4f11df090f86dc764a4ea2d6dd5c13ffe 05-Apr-2007 Theodore Ts'o <tytso@mit.edu> 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>
/external/e2fsprogs/e2fsck/pass1.c
fbc3f90194ca557e377c25f71db242c38c78f836 02-Apr-2007 Theodore Ts'o <tytso@mit.edu> e2fsck: Recover a special file which looks an awful lot like a directory

This is probably only useful in artificial test cases, but it will be
useful if we ever do the "inodes in directory" idea for ext4.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
441ab1e02096e3c968cae6ddfde73140fcad8199 01-Apr-2007 Theodore Ts'o <tytso@mit.edu> Fix edge case when i_size doesn't get fixed until second e2fsck run

Don't assume that a special device is bogus just because i_blocks is
non-zero. The i_blocks field could get adjusted later, and if this
happens it will confuse the e2fsck_process_bad_inode() in pass 2. In
practice true garbage inodes will have random non-zero in
i_blocks[4..15], so there's no point doing the check for an illegal
i_blocks value.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
9d45b6ef7e6b87323309670165b90a0f1ac2f3a3 28-Mar-2007 Brian Behlendorf <behlendorf1@llnl.gov> [COVERITY] Fix (error case only) memory leak in e2fsck pass #1

Coverity ID: 37: Resource Leak
Coverity ID: 38: Resource Leak

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
/external/e2fsprogs/e2fsck/pass1.c
5469d76759a8a2c14f5b05177dc156af981a213a 28-Mar-2007 Brian Behlendorf <behlendorf1@llnl.gov> [COVERITY] Fix memory leak when parsing extended options in e2fsck

Coverity ID: 36: Resource Leak

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
/external/e2fsprogs/e2fsck/pass1.c
642935c082ca22e1186fc9926fe06e4207d5ab56 15-Nov-2006 Theodore Ts'o <tytso@mit.edu> Fix misc. gcc -Wall complaints in the misc and e2fsck directories

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass1.c
5d17119d14fe1276936c85d7986695a4543b1aa1 11-Nov-2006 Theodore Ts'o <tytso@mit.edu> 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>
/external/e2fsprogs/e2fsck/pass1.c
d1b4b85c3a201705c5d3d2916c7a9ca00a04e44c 12-Sep-2006 Eric Sandeen <esandeen@redhat.com> Fix more rounding overflows for filesystems that have 2**32-1 blocks

Signed-off-by: Eric Sandeen <esandeen@redhat.com>
/external/e2fsprogs/e2fsck/pass1.c
abf23439d51a3ddbca475b931abebd381ff7ceea 12-Sep-2006 Eric Sandeen <esandeen@redhat.com> 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>
/external/e2fsprogs/e2fsck/pass1.c
62c6d1403ea00dd72890862c761a41baa10a7ad4 12-Sep-2006 Eric Sandeen <esandeen@redhat.com> Remove unused variables

Signed-off-by: Eric Sandeen <esandeen@redhat.com>
/external/e2fsprogs/e2fsck/pass1.c
274315957221e81be28fd0c2265dc553207f9a3b 25-Jul-2005 Theodore Ts'o <tytso@mit.edu> Fix false positives from valgrind: memcpy via no-op structure copy

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>
/external/e2fsprogs/e2fsck/pass1.c
1f3ad14a5ad5df3ac4012d41ef5d76411cd8fff3 14-Apr-2005 Theodore Ts'o <tytso@mit.edu> Use a centrally stored current time for "now" which
can be overridden using the E2FSCK_TIME environment
variable, for better reproducibility for regression tests.
/external/e2fsprogs/e2fsck/pass1.c
4147d9f02959a1358080762679420344c7574fde 06-Apr-2005 Theodore Ts'o <tytso@mit.edu> pass1.c (e2fsck_pass1): If the superblock last mount time (not
just the last write time) looks insane, then assume that
we can't do the LOW_DTIME checks.
/external/e2fsprogs/e2fsck/pass1.c
cebe48a1ece8b9f61271c73ead83b59c8b36233e 21-Mar-2005 Theodore Ts'o <tytso@mit.edu> Integrate code from Alex Thomas at Clusterfs to check extended attributes
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.
/external/e2fsprogs/e2fsck/pass1.c
dc71f23e634724f6571a556e6c6ec26d0e882211 20-Mar-2005 Theodore Ts'o <tytso@mit.edu> Fix bug in e2fsck where we don't notice if a file with an extended
attribute block is so big that i_blocks wraps to zero.
/external/e2fsprogs/e2fsck/pass1.c
c3ffaf833b7ddb3c1d422c71f59e1623029ede0c 24-Dec-2004 Theodore Ts'o <tytso@mit.edu> Add support to detect corrupted resize_inode's to e2fsck.
/external/e2fsprogs/e2fsck/pass1.c
d323f8fb369089b97d6f3bf0f8d64ceeab0b10f5 15-Dec-2004 Theodore Ts'o <tytso@mit.edu> Add support for on-line resizing ala the resize inode. This patch
is taken from Fedora Core 3's e2fsprogs 1.35-11.2.src.rpm's
e2fsprogs-resize.patch.
/external/e2fsprogs/e2fsck/pass1.c
8421fb67f26ce99e5a13735067ea2745b1695df7 27-Jul-2004 Theodore Ts'o <tytso@mit.edu> pass1.c (process_block): Change the limit of directory size from
32 MB to 2GB.
/external/e2fsprogs/e2fsck/pass1.c
83e692e88bf2d01edb089010bdfc07b7dcc78642 30-Mar-2004 Matthias Andree <matthias.andree@gmx.de> unix_io.c, pass1.c:
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).
/external/e2fsprogs/e2fsck/pass1.c
b969b1b8a5c13992cadb026114731958644540d8 28-Dec-2003 Matthias Andree <matthias.andree@gmx.de> Fix more compiler warnings.
/external/e2fsprogs/e2fsck/pass1.c
544349270e4c74a6feb971123884a8cf5052a7ee 07-Dec-2003 Theodore Ts'o <tytso@mit.edu> Fix gcc -Wall nitpicks
/external/e2fsprogs/e2fsck/pass1.c
000ba4046fbcc11ff70ef840988854d82235e5b5 21-Nov-2003 Theodore Ts'o <tytso@mit.edu> pass1.c (e2fsck_pass1), problem.h (PR_1_BB_FS_BLOCK),
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".
/external/e2fsprogs/e2fsck/pass1.c
ef344e13d2125e9dae3764b98f9fe3a170cd79e2 21-Nov-2003 Theodore Ts'o <tytso@mit.edu> Centeralize calculation of which blocks are reserved/used for
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.
/external/e2fsprogs/e2fsck/pass1.c
c4e3d3f374b409500e3dd05c0b0eca6ac98a6b4e 01-Aug-2003 Theodore Ts'o <tytso@mit.edu> ext2fs_getmem(), ext2fs_free_mem(), and ext2fs_resize_mem()
all now take a 'void *' instead of a 'void **' in order to
avoid pointer aliasing problems with GCC 3.x.
/external/e2fsprogs/e2fsck/pass1.c
f364093b1956def0b0f1d037852cbb645284d5f2 02-Mar-2003 Theodore Ts'o <tytso@mit.edu> Update debugfs and e2fsck to use the blkid library.
/external/e2fsprogs/e2fsck/pass1.c
4f489285b63a9146b0408d0672d53d4871735f96 23-Jan-2003 Theodore Ts'o <tytso@mit.edu> pass1.c (check_blocks): Use the EXT2_I_SIZE macro.
/external/e2fsprogs/e2fsck/pass1.c
299d742427776629ef07b4563f41a4e00fc23aa0 08-Nov-2002 Theodore Ts'o <tytso@mit.edu> Change e2fsck to force out changes to the backup copies of the
superblock and block group descriptors when important changes
are made to those data structures.
/external/e2fsprogs/e2fsck/pass1.c
be93ef0c14c11f9891094d66563d2998b917eb6c 01-Nov-2002 Theodore Ts'o <tytso@mit.edu> pass1.c (e2fsck_pass1): Check the superblock write time to see
whether or not we can safely do the LOW_DTIME checks.
(Addresses Sourceforge bug #620980)
/external/e2fsprogs/e2fsck/pass1.c
76dd5e5c2842fb1a7b858aad3e68b5e9c16890c9 31-Oct-2002 Theodore Ts'o <tytso@mit.edu> Add support for the meta_bg feature flag to the resize2fs program.

Fix bug in meta_bg support in mke2fs, e2fsck, and dumpe2fs; we were
incorrectly reserving the legacy block groups desriptor blocks.
/external/e2fsprogs/e2fsck/pass1.c
c046ac7f2e4c53e20cf1e909bbe511f91074b396 20-Oct-2002 Theodore Ts'o <tytso@mit.edu> Add support for the meta_blockgroup filesystem format.
/external/e2fsprogs/e2fsck/pass1.c
3e69906495d5898849a6154b0311b5d4a84a27ae 14-Oct-2002 Theodore Ts'o <tytso@mit.edu> Fix gcc -Wall nits.

Fix format bug if NLS is in use.

Add extra so that the info directory looks OK on OpenWall.
/external/e2fsprogs/e2fsck/pass1.c
d237a78e4eb9f4d72b40270c10c641159bf7bb46 03-Oct-2002 Theodore Ts'o <tytso@mit.edu> Handle BAD_BLOCK_IN_INODE_TABLE even at the beginning of the
inode table, and shrink code by reorganizing the while loop so
to eliminate duplicate calls to ext2fs_get_next_inode().
/external/e2fsprogs/e2fsck/pass1.c
f044b4d8a02ef9f95e27b8bdf6adc6548e5dc4a9 17-Aug-2002 Theodore Ts'o <tytso@mit.edu> Update and clarify man pages (addresses Debian Bug #145044).

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)
/external/e2fsprogs/e2fsck/pass1.c
0684a4f33b5c268fe12f57fcbc77a880c79ab282 17-Aug-2002 Theodore Ts'o <tytso@mit.edu> Overhaul extended attribute handling. Should now be correct with
respect to the latest V2 bestbits ACL code.
/external/e2fsprogs/e2fsck/pass1.c
3214a453db281839f217fa753c7309d965958acc 23-Jul-2002 Theodore Ts'o <tytso@mit.edu> pass1.c (e2fsck_pass1): If e2fsck is run with -n, don't create
the dirs_to_hash list, since we don't want to reindex
directories if the filesystem is opened read-only.
/external/e2fsprogs/e2fsck/pass1.c
b7a00563b22b0ea47ddc7117508c0b8e0d65df43 20-Jul-2002 Theodore Ts'o <tytso@mit.edu> Add support to e2fsck to reindex directories to use hash trees.
/external/e2fsprogs/e2fsck/pass1.c
503f9e7f6eb331c5b75d7f1ad126f71bcdcfb4e3 26-Jun-2002 Theodore Ts'o <tytso@mit.edu> Add support for the half-MD4 HTREE hash.

Add HTREE root node tests.
/external/e2fsprogs/e2fsck/pass1.c
8fdc9985c1e2a4467630b33719b7feb281b7b33b 26-Jun-2002 Theodore Ts'o <tytso@mit.edu> Add initial support for htree directories.
/external/e2fsprogs/e2fsck/pass1.c
0d63467ddb76ef0c08481b74dae1fc7d6f364d1d 22-May-2002 Theodore Ts'o <tytso@mit.edu> Update to support the V2 Bestbits EA format.
/external/e2fsprogs/e2fsck/pass1.c
da307041e75bdf3b24c1eb43132a4f9d8a1b3844 22-May-2002 Theodore Ts'o <tytso@mit.edu> Check for inodes which are too big (either too many blocks, or
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.
/external/e2fsprogs/e2fsck/pass1.c
bcf9c5d4016975c3c2afdb4a4b358569bd3c8681 21-May-2002 Theodore Ts'o <tytso@mit.edu> Fix up Andreas' changeset. Avoid use of dynamic automatic arrays,
and check for EXT2_INDEX_FL for special devices, and consider them to
be invalid if they are set.
/external/e2fsprogs/e2fsck/pass1.c
b94a052a25d0c524209782e408c31d8ff25a6fe1 18-May-2002 Andreas Dilger <adilger@clusterfs.com> Add more complete tests for symlinks: nul termination of long links and length
Improve the f_badsymlinks test case for these new tests.
/external/e2fsprogs/e2fsck/pass1.c
7823dd65722c50eeca98b2dde1c9a629e72fffe7 18-May-2002 Theodore Ts'o <tytso@mit.edu> Fix fencepost error in allocating space for array.
/external/e2fsprogs/e2fsck/pass1.c
31e29a12d1e22745c74afe47bf172a3c73280dd9 17-May-2002 Theodore Ts'o <tytso@mit.edu> Fix up Andreas's 8k blocksize changes to fix a number of bugs,
and to make the page size determined at run-time instead of
compile time.
/external/e2fsprogs/e2fsck/pass1.c
932a489cdf6bc83d69e59d3f8e0a57b733799ce1 16-May-2002 Andreas Dilger <adilger@clusterfs.com> Add support for creating and checking 8192-byte blocksize filesystems.
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.
/external/e2fsprogs/e2fsck/pass1.c
4ea7bd04390935e1f8b473c8b857e518df2e226b 17-Dec-2001 Theodore Ts'o <tytso@mit.edu> Fix various gcc -Wall nits. Fixed a bug in mke2fs where a bogus
error message could be printed on an malloc() failure, and e2image
was optimized to avoid needless system calls by using the stashed
inode functions.
/external/e2fsprogs/e2fsck/pass1.c
59f27247f81fb662ef3b2589b3cceb198ff4dbca 30-Aug-2001 Andreas Dilger <adilger@clusterfs.com> mke2fs.c (main): Zap the second sector of the disk, along with
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).
/external/e2fsprogs/e2fsck/pass1.c
b1f204f7f9f5d318c27c7719491933a0e49140ac 30-Aug-2001 Theodore Ts'o <tytso@mit.edu> pass1.c (e2fsck_pass1): For EXT2_RESIZE_INO, allow its i_mode to
either be zero or a regular file (for compatibility with
Andreas's on-line resizing programs).
/external/e2fsprogs/e2fsck/pass1.c
53abed0afafec661fd923cb9cd9f0eee891ccbde 27-Aug-2001 Theodore Ts'o <tytso@mit.edu> Deal with libc5's lack of strnlen.

Stop checking for strdup in the configure script since we don't
care about that symbol.
/external/e2fsprogs/e2fsck/pass1.c
a40ecbb1fc4811201c6ab40292ac3aef1bca54af 13-Aug-2001 Theodore Ts'o <tytso@mit.edu> e2fsck/pass1.c (e2fsck_pass1_check_device_inode): If i_blocks is
non-zero, then assume that the device/socket/fifo inode
is bogus.
/external/e2fsprogs/e2fsck/pass1.c
85645a6ff34c4c6c4daa92839a93499cb9f4a778 13-Aug-2001 Theodore Ts'o <tytso@mit.edu> pass1.c (check_size): Fix logic in check_size; the previous code
only offered to clear the inode size fields if both size
and i_size_high were zero.
/external/e2fsprogs/e2fsck/pass1.c
a47426914745b7d50bb58a3d44b3509c647c637e 09-Aug-2001 Theodore Ts'o <tytso@mit.edu> pass1.c, pass2.c, problem.c, problem.h: Fix bug introduced by
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.
/external/e2fsprogs/e2fsck/pass1.c
d007cb4cbb4b8b190ffd9a597f0e88ea365926c5 05-Aug-2001 Theodore Ts'o <tytso@mit.edu> Cleanup changes to Andreas' symlink patch. Remove use of EXT2_LINK_DIR

Also cleaned up the symlink handling code to make it a bit more
compact and to test for a bad symlink block earlier.
/external/e2fsprogs/e2fsck/pass1.c
67052a8aeeca8cd80d1dd33c2792f917573accc8 04-Aug-2001 Andreas Dilger <adilger@clusterfs.com> Add extra checks for bad symlinks, including zero length symlinks,
too long i_size for slow and fast symlinks, i_size_high set, multiple
blocks for slow symlinks.
/external/e2fsprogs/e2fsck/pass1.c
fd77b2c78a28a6c706a38c43c0b558ac9e8486ce 28-Jul-2001 Theodore Ts'o <tytso@mit.edu> pass1.c (e2fsck_pass1): Check for symlinks that have the
immutable flag set (and offer to clear them).
/external/e2fsprogs/e2fsck/pass1.c
24ceb248abfb0ee0cd0e7861e2bc83e6c8c61ad7 26-Jul-2001 Theodore Ts'o <tytso@mit.edu> pass1.c (e2fsck_pass1): Free ctx->block_ea_map at the end of pass 1.
This avoids increasing the memory footprint of e2fsck by 10%!
/external/e2fsprogs/e2fsck/pass1.c
14fe1c33145fc6af4f4338792bccf240088d43a0 26-Jul-2001 Theodore Ts'o <tytso@mit.edu> Apply fixes reported by Andreas Gruenbacher:

pass1.c (check_ext_attr): Skip zero-length EA entries.

problem.c: PR_1_EA_ALLOC_COLLISION shouldn't abort, but should prompt
to clear the EA block.
/external/e2fsprogs/e2fsck/pass1.c
55fd07ed0a5f4ed3dcc770526ee1ad3be967ac98 19-Jul-2001 Theodore Ts'o <tytso@mit.edu> This patch completes the initial extended attribute/ACL support for
e2fsck. We now check the entire EA block to make sure that the all
of the EA entries look sane.
/external/e2fsprogs/e2fsck/pass1.c
b5acdb6ae2a05212b1014a3dee7cbcf385446b3b 08-Jul-2001 Theodore Ts'o <tytso@mit.edu> pass1.c (e2fsck_pass1): Defer inodes which have an extended attribute
block for later processing to avoid extra seeks across the disk.
(process_inode_cmp): If there is no indirect block, sort by the
extended attribute (i_file_acl) block.
/external/e2fsprogs/e2fsck/pass1.c
e8a3ee628ad693cbae231089b18886e6ba0e59d3 07-Jul-2001 Theodore Ts'o <tytso@mit.edu> Add code to check and fix incorrect reference counts in the extended
attribute blocks.
/external/e2fsprogs/e2fsck/pass1.c
342d847db355d81299218e07a1e58ece82080a04 02-Jul-2001 Theodore Ts'o <tytso@mit.edu> Add initial support for extended attribute blocks
/external/e2fsprogs/e2fsck/pass1.c
fdbdea09b87dbd8e39c23286f22653e7641599ae 02-Jun-2001 Theodore Ts'o <tytso@mit.edu> ChangeLog, pass1.c, pass2.c, problem.c, problem.h:
pass1.c (mark_inode_bad): Replace alloc_bad_map with a function which
sets the bit in the bad inode bitmap.
(e2fsck_pass1): Check for fast symlinks with an invalid size, and set
the bad inode map in that case.
pass2.c (e2fsck_process_bad_inode): Check for fast symlinks with an
invalid size and prompt the user if the inode should be cleared.
problem.h, problem.c (PR_2_SYMLINK_SIZE): Added new problem code.
/external/e2fsprogs/e2fsck/pass1.c
71d521c6097f1c2588fb0b13f43968371d4bfabb 01-Jun-2001 Theodore Ts'o <tytso@mit.edu> ChangeLog, pass1.c, pass1b.c:
pass1.c (pass1_get_blocks, pass1_read_inode, pass1_write_inode,
pass1_check_directory): Add a safety check to make sure
ctx->stashed_inode is non-zero.
pass1b.c (pass1b): Use e2fsck_use_inode_shortcuts() to disable the
inode shortcut processing, instead of manually clearing only half of
the function pointers that needed to be NULL'ed out. This caused
nasty bugs if the last inode in the filesystem needed dup block
processing.
pass1b.c (clone_file_block): When cloning a directory's metadata
block, don't try to update the directory block list database, since
indirect blocks aren't stored in the database and the resulting error
will abort the file clone operation.
/external/e2fsprogs/e2fsck/pass1.c
21afac096df642708ebf63dc4354575883f11174 14-May-2001 Theodore Ts'o <tytso@mit.edu> ChangeLog, pass1.c, problem.c, problem.h, problemP.h:
pass1.c: Treat inodes with a low dtime (that were from a corrupted
orphan list) specially.
problem.c, problem.h: Add new problem codes PR_1_LOW_DTIME and
PR_1_ORPHAN_LIST_REFUGEES, and a new latch group, PR_LATCH_LOW_DTIME.
problemP.h: Expand the size of the problem flag to be an int instead
of a short. Expand space in the flag word which is reserved for
problem latch flags from 3 bits to 8 bits.
ChangeLog, expect.1, expect.2, image.gz, name:
f_badorphan: New test which verifies corrupted orphan list handling.
/external/e2fsprogs/e2fsck/pass1.c
a5c33f26db87fd8af41e7f49d46ffba7e7f03f54 18-Jan-2001 Theodore Ts'o <tytso@mit.edu> ChangeLog, pass1.c:
pass1.c (check_blocks): Fix large file checking code so that files >
2GB are considered large files, and restrict directories from being >
2GB.
version.h:
Update for WIP release.
/external/e2fsprogs/e2fsck/pass1.c
a9ca2016e14b5b56e5f0b61a73d52c4caee718bc 12-Jan-2001 Theodore Ts'o <tytso@mit.edu> ChangeLog, pass1.c, problem.c, problem.h:
pass1.c (e2fsck_pass1): Cap the maximum legal size of a file by the
limit caused by the fact that i_blocks is in 512 byte units, and that
the Linux buffer cache also fundamentally assumes 512 byte sectors.
Make sure that the journal inode is a regular file, and when clearing
an unused journal inode, make sure the icount db is updated.
problem.c, problem.h (PR_1_JOURNAL_BAD_MODE): Add new problem code.
ChangeLog, journal.c:
journal.c (e2fsck_journal_fix_unsupported_super): Remove unused
function. Add FIXME notes to e2fsck_get_journal(), from Andreas
Dilger.
/external/e2fsprogs/e2fsck/pass1.c
5ba23cb149f2ff629446fb8cb5f1012c05f7a4f4 11-Jan-2001 Theodore Ts'o <tytso@mit.edu> ChangeLog, e2fsck.h, flushb.c, iscan.c, unix.c:
iscan.c, unix.c, e2fsck.h: Don't use NOARGS, and use
ext2fs_sync_device() instead of using BLKFLSBUF.
flushb.c: Don't use NOARGS anymore; everything is STDC these days.
ChangeLog, pass1.c:
pass1.c (process_block): Remove dead code which was never getting
executed.
/external/e2fsprogs/e2fsck/pass1.c
86c627ec1136446409a0170d439e60c148e6eb48 11-Jan-2001 Theodore Ts'o <tytso@mit.edu> Many files:
dirinfo.c, e2fsck.h, emptydir.c, iscan.c, jfs_user.h, journal.c,
message.c, pass1.c, pass1b.c, pass2.c, pass3.c, pass4.c, pass5.c,
problem.h, scantest.c, super.c, swapfs.c: Change ino_t to ext2_ino_t.
/external/e2fsprogs/e2fsck/pass1.c
53ef44c40a3e425d2c700d8fd77a6b655aa121fe 06-Jan-2001 Theodore Ts'o <tytso@mit.edu> Many files:
journal.c, pass1.c, pass1b.c, pass3.c, recovery.c, revoke.c, super.c,
unix.c, util.c: Fix random gcc -Wall complaints.
jfs_user.h: Use more sophisticated inline handling to allow building
with --enable-gcc-wall
/external/e2fsprogs/e2fsck/pass1.c
f18996c8eb7f530a7a408b8ede4a99fd52c02533 03-Jan-2001 Theodore Ts'o <tytso@mit.edu> ChangeLog, pass1.c, problem.c, problem.h:
pass1.c (e2fsck_pass1): Moved journal inode handling out to its own
block; if the journal inode is not in use, and it contains data, offer
to clear it.
problem.h, problem.c (PR1_JOURNAL_INODE_NOT_CLEAR): Add new problem
code.
problem.c: Modified problem table to use a new abbreviations.
/external/e2fsprogs/e2fsck/pass1.c
5dd8f963d04fa4099a003cb3b13ffae05ab29210 01-Jan-2001 Theodore Ts'o <tytso@mit.edu> ChangeLog, journal.c, pass1.c, super.c, unix.c:
journal.c, pass1.c, super.c, unix.c: Replace use of struct ext2fs_sb
with struct ext2_super_block.
ChangeLog, debugfs.c:
debugfs.c Replace use of struct ext2fs_sb with struct ext2_super_block.
/external/e2fsprogs/e2fsck/pass1.c
f5ae75e5f0e1b509311fac5944167bc0d8674c38 01-Jan-2001 Theodore Ts'o <tytso@mit.edu> ChangeLog, pass1.c:
pass1.c (check_blocks): Remove use of EXT2_HAS_*_FEATURE macros.
/external/e2fsprogs/e2fsck/pass1.c
8188c9e6b3dc73c528ebaa6c65e7a96ccef807d1 13-Dec-2000 Theodore Ts'o <tytso@mit.edu> ChangeLog, pass1.c:
pass1.c (e2fsck_pass1): Offer to update the filesystem revision level
if we need to set large files flag. Patch from Andreas Dilger.
/external/e2fsprogs/e2fsck/pass1.c
b09a4b0c906db2e520296b31855b7947e889f514 24-Oct-2000 Theodore Ts'o <tytso@mit.edu> ChangeLog, pass1.c:
pass1.c (e2fsck_pass1): Don't check the i_mode field for the journal
inode, if it is in use.
/external/e2fsprogs/e2fsck/pass1.c
9cbfb8d0d97f6c5400f94d86bcbedb094f970072 04-Jul-2000 Theodore Ts'o <tytso@mit.edu> ChangeLog, pass1.c:
pass1.c (e2fsck_pass1): Check to see if the ext3 s_last_orphan field
is set; if so, clear it, so that ext3 mounting code won't get confused
by the fact that we've cleared out the orphaned inodes.
/external/e2fsprogs/e2fsck/pass1.c
d647a1ea4db5fa4e4ed48573c63a1bde56e071db 27-May-2000 Theodore Ts'o <tytso@mit.edu> ChangeLog, pass1.c, problem.c, problem.h:
pass1.c (pass1, check_size): Apply patch from Chris Wedgewood
(cw@foof.org) which checks to see if special devices have a non-zero
size, and deals with it.
problem.c, problem.h (PR1_SET_NONZSIZE): Add new problem code.
/external/e2fsprogs/e2fsck/pass1.c
01fbc701413a4975e6ed551ae6ccb8bb791ea515 03-Apr-2000 Theodore Ts'o <tytso@mit.edu> ChangeLog, pass1.c, problem.c:
pass1.c (check_immutable, e2fsck_pass1_check_device_inode): Check for
the append-only as well as the immutable flag.
problem.c (PR_1_SET_IMMUTABLE): Adjust message to include append-only
flag. Fix comment for compression flag.
/external/e2fsprogs/e2fsck/pass1.c
1917875fcd16428d14eb5a86acf414472bc216f1 11-Feb-2000 Theodore Ts'o <tytso@mit.edu> Many files:
unix.c (main): If compression is enabled on the filesystem, print a
warning message (for now).
message.c: Add new compression shortcut: @c == compress
problem.c, problem.h (PR_1_COMPR_SET): Add new error code.
pass1.c (check_blocks): If the inode has EXT2_COMPRBLK_FL flag set,
check to see if the filesystem supports compression. If it does pass
this information down to process_block() so it can treat the
compressed block flag words correctly. If not, offer to clear the
flag, since it shouldn't be set.
(process_block): If an inode has the compressed inode flag set, allow
EXT2FS_COMPRESSED_BLKADDR.
pass1b.c (process_pass1b_block, delete_file_block, clone_file_block):
pass2.c (deallocate_inode_block): Use HOLE_BLKADDR to check to see if
the block can be skipped.
ChangeLog, Makefile.in:
Makefile.in: Exclude the internationalization files from being
distributed.
ChangeLog, configure, configure.in:
configure.in: Add support for --enable-compression. This is
experimental code only for now, which is why it's under --enable test.
Once it's stable, it will always be compiled in.
TODO:
Commit additional TODO items.
/external/e2fsprogs/e2fsck/pass1.c
80c5d7e45ffa2d2e6d95eef99598c64e9a96d9c0 09-Feb-2000 Theodore Ts'o <tytso@mit.edu> ChangeLog, e2fsck.h, pass1.c, pass1b.c:
e2fsck.h:
pass1.c (mark_table_blocks, e2fsck_pass1): Remove
ctx->block_illegal_map, since it's not needed by pass1, and pass1b has
been modified to calculate it manually if needed. This reduces the
memory footprint needed by e2fsck.
pass1b.c (check_if_fs_block): New static function which returns
whether or not a block overlaps with filesystem metadata. This
replaces consulting the block_illegal_map bitmap.
util.c:
Make resource tracking message more concise.
/external/e2fsprogs/e2fsck/pass1.c
0c4a07264e55b42c6e30230e66b1dea7d4b94ea9 07-Feb-2000 Theodore Ts'o <tytso@mit.edu> Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
/external/e2fsprogs/e2fsck/pass1.c
86a63e92eb4a957d8e24795cefd2f7058e4aec30 23-Nov-1999 Theodore Ts'o <tytso@mit.edu> ChangeLog, pass1.c:
pass1.c (process_inodes): Add shortcut handling; if
process_inodes_count is zero, return right away, to avoid calling
qsort with a non-positive count.
/external/e2fsprogs/e2fsck/pass1.c
6fdc7a325c8bff67fc3a0489d0858bc7c48dc1a3 10-Nov-1999 Theodore Ts'o <tytso@mit.edu> ChangeLog, e2fsck.h, pass1.c, pass2.c, pass3.c, problem.c, problem.h, util.c:
pass1.c (e2fsck_pass1): If the filesystem does not support imagic
inodes, if an inode has the imagic flag set, offer to clear the imagic
flag. If a valid device/fifo/socket has the immutable flag set, call
the new helper function check_immutable() to offerto clear the
immutable flag.
pass2.c (check_filetype): Use the new ext2_file_type() helper function
instead of calculating the file_type information manually.
pass3.c (e2fsck_reconnect_file): When adding a link to lost+found,
calculate the filetype information so that ext2fs_link() can use the
information if applicable. (get_lost_and_found): Create the
/lost+found directory with the correct filetype information if
applicable.
util.c (ext2_file_type), e2fsck.h: New function which returns the
directory entry file type information given the inode's mode bits.
problem.c, problem.h: Added new problem codes PR_1_SET_IMAGIC and
PR_1_SET_IMMUTABLE.
ChangeLog, mke2fs.8.in:
mke2fs.8.in: Update manual page so that the sparse_option filesystem
option is properly named.
/external/e2fsprogs/e2fsck/pass1.c
aa4115a47c554a936fdf5e6679e72a9329fecf45 21-Oct-1999 Theodore Ts'o <tytso@mit.edu> Many files:
pass4.c (e2fsck_pass4): If an inode is set in the inode_imagic_map
bitmap, don't check to see if it is disconnected from the inode tree
(because it almost certainly will be). Free inode_imagic_map at the
end of pass 4.
pass2.c (check_dir_block, check_filetype): If the FILETYPE feature is
set, check the directory entry's filetype information field, and
fix/set it if necessary. (e2fsck_pass2): Free the inode_reg_map
bitmap at the end of pass 2.
pass1.c (e2fsck_pass1, alloc_imagic_map): Allocate and fill in
information for inode_reg_map and inode_imagic_map, which indicates
which inodes are regular files and AFS inodes, respectively.
Since only the master superblock is written during a restart, force
that superblock to be used after a restart; otherwise changes to the
block group descriptors end up getting ignored.
problem.c, problemP.h: If e2fsck is run -n, make def_yn variable be 0
for "no". Add support for a new flag, PR_NO_NOMSG, which supresses
the problem message if e2fsck is run with the -n option.
problem.c, problem.h (PR_2_SET_FILETYPE, PR_2_BAD_FILETYPE): Add new
problem codes.
message.c (expand_dirent_expression): Add support for %dt which prints
the dirent type information.
e2fsck.c (e2fsck_reset_context): Free new bitmaps (inode_reg_map and
inode_imagic_map).
e2fsck.h (e2fsck_t): Add new inode_reg_map and inode_magic_map to the
context structure.
ChangeLog, nt_io.c:
nt_io.c: New file which supports I/O under Windows NT.
ChangeLog, gen_uuid_nt.c:
gen_uuid_nt.c: New file which creates a UUID under Windows NT.
Many files:
Add support for non-Unix compiles
/external/e2fsprogs/e2fsck/pass1.c
5596defa1e212242c1bf1b028139143fbb7777a0 19-Jul-1999 Theodore Ts'o <tytso@mit.edu> Many files:
unix.c: Add support for calculating a progress bar if the -C0 option
is given. The function e2fsck_clear_progbar() clears the progress bar
and must be called before any message is issued. SIGUSR1 will enable
the progress bar, and SIGUSR2 will disable the progress bar. This is
used by fsck to handle parallel filesystem checks. Also, set the
device_name from the filesystem label if it is available.
e2fsck.h: Add new flags E2F_FLAG_PROG_BAR and E2F_FLAG_PROG_SUPRESS.
Add new field in the e2fsck structure which contains the last tenth of
a percent printed for the user.
message.c (print_e2fsck_message): Add call to e2fsck_clear_progbar().
pass1.c (e2fsck_pass1):
pass2.c (e2fsck_pass2):
pass3.c (e2fsck_pass3):
pass4.c (e2fsck_pass4):
pass5.c (e2fsck_pass5): Add call to e2fsck_clear_progbar when printing
the resource tracking information.
pass5.c (check_block_bitmaps, check_inode_bitmaps): If there is an
error in the bitmaps, suppress printing the progress bar using the
suppression flag for the remainder of the check, in order to clean up
the display.
/external/e2fsprogs/e2fsck/pass1.c
e72a9ba39471364ad2f9397f645ca547090e3485 25-Jun-1999 Theodore Ts'o <tytso@mit.edu> ChangeLog, e2fsck.h, pass1.c, pass2.c, pass4.c, swapfs.c:
e2fsck.h:
pass1.c (pass1_get_blocks, pass1_read_inode, pass1_write_inode,
pass1_check_directory, e2fsck_use_inode_shortcuts): Make pass1_* be
private static functions, and create new function
e2fsck_use_inode_shortcuts which sets and clears the inode shortcut
functions in the fs structure.
e2fsck.h:
pass2.c (e2fsck_process_bad_inode): Make process_bad_inode() an
exported function.
pass4.c (e2fsck_pass4): Call e2fsck_process_bad_inode to check if a
disconnected inode has any problems before connecting it to
/lost+found. Bug and suggested fix by Pavel Machek <pavel@bug.ucw.cz>
ChangeLog, swapfs.c:
swapfs.c (ext2fs_swap_inode): Add compatibility for Linux 2.3 kernels
that use i_generation instead of i_version. Patch supplied by Jon
Bright <sircus@sircus.demon.co.uk>.
ChangeLog, mke2fs.8.in:
mke2fs.8.in: Fix typo in man page which caused the badblocks command
to not show up in the "SEE ALSO" section.
ChangeLog, expect.1, expect.2, image.gz, name:
f_recnect_bad: New test which checks the case where a disconnect inode
also bad inode fields; we need to make sure e2fsck offers to fix the
inode (or clear the inode, as necessary).
/external/e2fsprogs/e2fsck/pass1.c
1dde43f0c1176f61dd0bf91aff265ce8cd1c5fd6 14-Nov-1998 Theodore Ts'o <tytso@mit.edu> ChangeLog, mke2fs.c, tune2fs.8.in:
tune2fs.8.in: Fix minor display bug in the nroff.
mke2fs.c (show_stats, write_inode_tables): Use the log10 function to
calculate the display of block numbers so that things look nice on an
80 character display.
mke2fs.c (usage): Add the sparse-super-flag to the usage message.
ChangeLog, e2fsck.c, pass1.c, pass2.c, problem.c, problem.h, unix.c:
unix.c (main): Move ext2fs_close() after e2fsck_free_context() since
e2fsck_free_context may reference data in ctx->fs.
e2fsck.c (e2fsck_reset_context): Make sure ctx->fs is non-NULL before
checking ctx->fs->dblist.
pass1.c (e2fsck_pass1): Use the device check subroutine on FIFO's and
Socket's, so that we catch bogus immutable inodes.
pass2.c (process_bad_inode): Process bad socket and fifo's.
problem.h, problem.c: Define new problem codes PR_2_BAD_FIFO and
PR_2_BAD_SOCKET.
/external/e2fsprogs/e2fsck/pass1.c
874b4d262e9664c08622611087c341f6aa242bc8 06-Jul-1998 Theodore Ts'o <tytso@mit.edu> ChangeLog, pass1.c:
pass1.c (e2fsck_pass1): Use ext2fs_sb structure for compatibility with
older kernels.
/external/e2fsprogs/e2fsck/pass1.c
9d1bd3de8dd44603a8141dbe4f0b2057dbdc5ea7 10-Jun-1998 Theodore Ts'o <tytso@mit.edu> ChangeLog, pass1.c, problem.h:
pass1.c, problem.h: Change blkcnt_t to be e2_blkcnt_t to avoid
collision with LFS API.
pass1.c (e2fsck_pass1): Fix bug so that ext2_max_sizes is properly
initialized.
(e2fsck_pass1): Don't allow the the boot loader inode to be a
directory (clear the inode mode field if so).
/external/e2fsprogs/e2fsck/pass1.c
4c77fe50d97a773e32a4756c79dade3adbb6a601 30-Apr-1998 Theodore Ts'o <tytso@mit.edu> ChangeLog, e2fsck.h, pass1.c, super.c:
pass1.c (process_inode_cmp): Use EXT2_QSORT_TYPE to define the
appropriate return type for comparison functions for qsort.
e2fsck.h: Add #ifdef protection for unistd.h
super.c: Remove header files already included by e2fsck.h
ChangeLog, dblist.c, ext2fs.h:
ext2fs.h: Define EXT2_QSORT_TYPE appropriately for the return type for
comparison functions for qsort.
dblist.c (dir_block_cmp): Use EXT2_QSORT_TYPE in function declaration.
ChangeLog, extent.c:
extent.c (ext2fs_create_extent_table): Use ext2fs_free_mem instead of
free().
(extent_cmp): Use EXT2_QSORT_TYPE to define the appropriate return
type for comparison functions for qsort.
/external/e2fsprogs/e2fsck/pass1.c
4c27e6dd1bfa181ff09c9964d3ed323b3f3be26e 28-Mar-1998 Theodore Ts'o <tytso@mit.edu> pass1.c:
Change "long long" to be __s64
/external/e2fsprogs/e2fsck/pass1.c
246501c612cb8309dc81b354b785405bbeef05ce 24-Mar-1998 Theodore Ts'o <tytso@mit.edu> Many files:
unix.c: Fix bug in check of feature set, to make sure we can really
fix this filesystem.
problem.h: Make blkcount type to be of type blkcnt_t. Make the num
field be a 64 bit type. Add the problem code PR_1_FEATURE_LARGE_FILES
problem.c: Add table entry for the problem code PR_1_FEATURE_LARGE_FILES.
pass1.c (e2fsck_pass1): A non-zero i_dir_acl field is only a problem
for directory inodes. (Since it is also i_size_high now.) If there
are no large_files, then clear the LARGE_FLAG feature flag. If there
are large_files, but the LARGE_FLAG feature flag is not set, complain
and offer to fix it.
(check_blocks): Add support to deal with non-directory inodes that
have i_size_high set (i.e., large_files). Don't give an error if a
directory has preallocated blocks, to support the DIR_PREALLOC
feature.
(process_block, process_bad_block): The blockcnt variable is a type of
blkcnt_t, for conversion to the new block_iterate2.
pass2.c (process_bad_inode): A non-zero i_dir_acl field is only a
problem for directory inodes. (Since it is also i_size_high now.)
message.c (expand_inode_expression): Print a 64-bits of the inode size
for non-directory inodes. (Directory inodes can only use a 32-bit
directory acl size, since i_size_high is shared with i_dir_acl.) Add
sanity check so that trying to print out the directory acl on a
non-directory inode will print zero. (expand_percent_expression): %B
and %N, which print pctx->blkcount and pctx->num, can now be 64 bit
variables. Print them using the "%lld" format if EXT2_NO_64_TYPE is
not defined.
e2fsck.h: Add the large_flagsfield to the e2fsck context.
e2fsck.c (e2fsck_reset_context): Clear the large_flags field.
ChangeLog, expect.1:
f_messy_inode: Modify test to deal with changes to support 64-bit size
files. (/MAKEDEV had i_dir_acl, now i_size_high, set.)
/external/e2fsprogs/e2fsck/pass1.c
2df1f6aa071e09527d1767e0d5178f29b4e9a73c 27-Feb-1998 Theodore Ts'o <tytso@mit.edu> ChangeLog, e2fsck.c, e2fsck.h, pass1.c:
e2fsck.c (e2fsck_run): Since E2F_FLAG_SIGNAL_MASK doesn't
include EXT2_FLAG_RESTART anymore, we need to adjust this
routine so that it *does* return in the case of it seeing
EXT2_FLAG_RESTART.
pass1.c (e2fsck_pass1): ext2_get_next_inode() may call the group done
callback function, which may set context abort flags. So we need to
test the context abort flags after we call ext2_get_next_inode().
(process_inodes): If we abort due out of process_inodes, do a clean
exit by breaking out of the for loop instead of just returning.
e2fsck.h (E2F_FLAG_SIGNAL_MASK): EXT2_FLAG_RESTART shouldn't be
considered a SIGNAL mask (i.e., requiring an immediate abort of
processing to restart). FLAG_RESTART just means that we want to
restart once pass 1 is complete.
/external/e2fsprogs/e2fsck/pass1.c
a02ce9df5ff5db2982462aec7162f7142dc18131 24-Feb-1998 Theodore Ts'o <tytso@mit.edu> Many files:
Change the progress function to return an integer; if returns 1, then
the progress function is expected to have set the e2fsck context flag
signalling a user abort, and the caller should also initiate a user
abort.
/external/e2fsprogs/e2fsck/pass1.c
54dc7ca2869897ae8cb81a9ab9880ebff11680bc 19-Jan-1998 Theodore Ts'o <tytso@mit.edu> Many files:
e2fsck.h: If EXT2_FLAT_INCLUDES is defined, then assume all of
the ext2-specific header files are in a flat directory.
dirinfo.c, ehandler.c, pass1.c, pass1b.c, pass2.c, pass5.c,
super.c, swapfs.c, unix.c: Explicitly cast all assignments
from void * to be compatible with C++.
unix.c (sync_disk): Remove sync_disk and calls to that function,
since ext2fs_close() now takes care of this.
pass1.c, pass1b.c, pass2.c, pass3.c, swapfs, badblocks.c,
ehandler.c, unix.c: Change use of private to be priv_data, to
avoid C++ reserved name clash.
/external/e2fsprogs/e2fsck/pass1.c
7fdfabd3217ebe23b36063d561fc79960275db42 24-Nov-1997 Theodore Ts'o <tytso@mit.edu> ChangeLog, pass1.c, util.c:
pass1.c (e2fsck_pass1_check_device_inode): For now, only check to make
sure the extra i_blocks in a device are cleared if the immutable flag
is set.
util.c (print_resource_track): Fix typo which caused the time/resource
tracking to print "Pass 1 :" instead of "Pass 1: ".
version.h:
Change version to 1.12-WIP, in preparation for an e2fsprogs 1.12 release.
/external/e2fsprogs/e2fsck/pass1.c
8039c4802ff1ac433026202de19c4d141214de40 19-Nov-1997 Theodore Ts'o <tytso@mit.edu> ChangeLog, pass1.c:
Fix bug where first_block wasn't getting incremented, which caused
user to get a "Programming error?" warning if there was a bad block in
a non-primary superblock/group_descriptor. Also fixed another bug so
that ext2fs_bg_has_super() is consulted, to avoid problems when using
a filesystem with the sparse_groups option set and there are bad
blocks at the beginning of a group which doesn't have a superblock.
/external/e2fsprogs/e2fsck/pass1.c
f8188fff23dc2d9c9f858fb21264e46b17672825 14-Nov-1997 Theodore Ts'o <tytso@mit.edu> Many files:
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c: Add calls to the progress
indicator function.
pass1.c (scan_callback): Add call to the progress feedback function
(if it exists).
super.c (check_super_block): Skip the device size check if the
get_device_size returns EXT2_EXT_UNIMPLEMENTED.
iscan.c (main): Don't use fatal_error() anymore.
pass1b.c, swapfs.c, badblocks.c: Set E2F_FLAG_ABORT instead of calling
fatal_error(0).
problem.c, pass3.c (PR_3_ROOT_NOT_DIR_ABORT,
PR_3_NO_ROOT_INODE_ABORT): New problem codes.
problem.c, pass2.c (PR_2_SPLIT_DOT): New problem code.
problem.c, pass1.c (PR_1_SUPPRESS_MESSAGES): New problem code.
problemP.h: New file which separates out the private fix_problem data
structures.
util.c, dirinfo.c, pass1.c, pass1b.c, pass2.c, pass5.c, super.c,
swapfs.c util.c: allocate_memory() now takes a e2fsck context as its
first argument, and rename it to be e2fsck_allocate_memory().
problemP.h:
New file which contains the private problem abstraction definitions.
Makefile.pq:
Remove include of MAKEFILE.STD, which doesn't exist at this point.
/external/e2fsprogs/e2fsck/pass1.c
08b213017f8371ce4b56ad4d368eb0f92211d04e 03-Nov-1997 Theodore Ts'o <tytso@mit.edu> Many files:
Change ext2fs_read_inode, ext2fs_write_inode to take the e2fsck
context as their first argument.
Change dir_info.c routines to take an e2fsck_context, renamed them to
start with e2fsck_ to avoid namespace issues, and changed them to
store the directory information inside the e2fsck context.
Added e2fsck_run() which calls all of the e2fsck passes in the correct
order, and which handles the return of abort codes.
Added abort processing, both via setjmp/longjmp and via flags in the
e2fsck context.
Use a flag in the e2fsck context instead of the restart_e2fsck global
variable.
Change uses of free and malloc to ext2fs_free_mem and ext2fs_get_mem.
/external/e2fsprogs/e2fsck/pass1.c
291c9049ba70bb6256099a066243cec1359c9c15 31-Oct-1997 Theodore Ts'o <tytso@mit.edu> ext2fs.h, ext2_err.et.in, ChangeLog, pass1.c, pass3.c:
Rename new error codes to _ET_ in them for consistency.
ChangeLog, et_c.awk, et_h.awk:
Remove support for non STDC compilers, since the workarounds caused
problems with the header file.
Makefile.pq:
Checkpoint of powerquest work.
/external/e2fsprogs/e2fsck/pass1.c
c555aebde40afdc0d15d674f2c81c0e05cfded3f 25-Oct-1997 Theodore Ts'o <tytso@mit.edu> Many files:
alloc.c (ext2fs_alloc_block): New function which allocates a
block and updates the filesystem accounting records
appropriately.
ext2_err.et.in: Added new error codes: EXT2_NO_MEMORY,
EXT2_INVALID_ARGUMENT, EXT2_BLOCK_ALLOC_FAIL, EXT2_INODE_ALLOC_FAIL,
EXT2_NOT_DIRECTORY
Change various library files to use these functions instead of EINVAL,
ENOENT, etc.
ChangeLog, pass1.c, pass3.c:
pass3.c (get_lost_and_found): Check error return of
EXT2_FILE_NOT_FOUND instead of ENOTDIR
pass1.c (pass1_check_directory): Return EXT2_NO_DIRECTORY instead of
ENOTDIR
expect.icount:
Change expected error string to be "Invalid argument passed to ext2 library"
instead of just "Invalid argument"
/external/e2fsprogs/e2fsck/pass1.c
8bf191e8660939687ef35c013066d2082cb16722 20-Oct-1997 Theodore Ts'o <tytso@mit.edu> Many files:
Place #ifdef RESOURCE_TRACK around code which uses init_resource_track
and print_resource_track. (Not all systems have timeval)
/external/e2fsprogs/e2fsck/pass1.c
1b6bf1759af884957234b7dce768b785f792abd0 03-Oct-1997 Theodore Ts'o <tytso@mit.edu> Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
/external/e2fsprogs/e2fsck/pass1.c
7cf73dcd3d173d88ceab26d381f4abac362d8518 14-Aug-1997 Theodore Ts'o <tytso@mit.edu> ChangeLog, e2fsck.h, message.c, pass1.c, pass2.c, problem.c, problem.h:
message.c: Add compression for the word "Illegal"
problem.c: Added entries for PR_2_BAD_CHAR_DEV and PR_2_BAD_BLOCK_DEV
pass1.c (pass1, check_device_inode), pass2.c (process_bad_inode): Use
a more stringent test for a valid device.
ChangeLog, Makefile.in:
Makefile.in (install): Fix rm command to use $(DESTDIR) appropriately.
/external/e2fsprogs/e2fsck/pass1.c
da2e97f7cf048b0c089ab5d0f756d0b40275ed59 12-Jun-1997 Theodore Ts'o <tytso@mit.edu> ChangeLog, pass1.c, problem.c:
pass1.c (mark_table_blocks): Mark the superblock and group descriptor
blocks first, so that any conflicts between these and the bitmap or
inode table blocks is noticed.
problem.c: Fix message printed out when a block or inode bitmap
conflicts with other fs data, has the correct group number in it.
/external/e2fsprogs/e2fsck/pass1.c
521e36857227b21e7ab47b0a97f788d2af9f9717 29-Apr-1997 Theodore Ts'o <tytso@mit.edu> Many files:
Checked in e2fsprogs 1.08.
/external/e2fsprogs/e2fsck/pass1.c
21c84b71e205b5ab13f14343da5645dcc985856d 29-Apr-1997 Theodore Ts'o <tytso@mit.edu> Many files:
Checked in e2fsprogs-1.07
/external/e2fsprogs/e2fsck/pass1.c
5c576477ccb2f0ca8c5d5af2e2354fd8eeff1589 29-Apr-1997 Theodore Ts'o <tytso@mit.edu> Many files:
Checked in e2fsprogs 1.06
/external/e2fsprogs/e2fsck/pass1.c
1e3472c5f37ca3686dd69b079d4d02a302f5798d 29-Apr-1997 Theodore Ts'o <tytso@mit.edu> Many files:
Checked in e2fsprogs 1.05
/external/e2fsprogs/e2fsck/pass1.c
7f88b04341d88c5df0360d930832c38040303b61 26-Apr-1997 Theodore Ts'o <tytso@mit.edu> Many files:
Checkin of e2fsprogs 1.03.
/external/e2fsprogs/e2fsck/pass1.c
74becf3c0a065f8d64e07ce4d31f9fe53be91d62 26-Apr-1997 Theodore Ts'o <tytso@mit.edu> Many files:
Checkin of e2fsprogs 1.02.
/external/e2fsprogs/e2fsck/pass1.c
50e1e10fa0ac12a3e2a9d20a75ee9041873cda96 26-Apr-1997 Theodore Ts'o <tytso@mit.edu> Many files:
Checked in e2fsprogs 0.5c
/external/e2fsprogs/e2fsck/pass1.c
f3db3566b5e1342e49dffc5ec3f418a838584194 26-Apr-1997 Theodore Ts'o <tytso@mit.edu> Many files:
Checkin of e2fsprogs 0.5b
/external/e2fsprogs/e2fsck/pass1.c
3839e65723771b85975f4263102dd3ceec4523c0 26-Apr-1997 Theodore Ts'o <tytso@mit.edu> Many files:
Checkin of e2fsprogs 0.5b
/external/e2fsprogs/e2fsck/pass1.c