History log of /external/e2fsprogs/e2fsck/pass5.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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/pass5.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/pass5.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/pass5.c
69beadcfb285cb5ee254d7f53c64a3f0dc42e229 16-Dec-2013 Darrick J. Wong <darrick.wong@oracle.com> e2fsck: print cluster ranges when encountering bitmap errors

If pass5 finds bitmap errors in a range of clusters, don't print each
cluster number individually when we could print only the start and end
cluster number. e2fsck already does this for the non-bigalloc case.

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/pass5.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/pass5.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/pass5.c
c7e293251fa28aebb201a884c074f0b36cbacc20 16-Dec-2012 Theodore Ts'o <tytso@mit.edu> e2fsck: fix pass5 optimization for bigalloc file systems

Commit 53e3120c18 introduced a regression which would case e2fsck to
overrun an array boundary for bigalloc file systems, and most likely
crash. Fix this by correctly using blocks instead of clusters when
incrementing the loop counter in the fast path optimization case.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass5.c
53e3120c18c0cb88bc757a7800872a6ca794f163 25-Nov-2012 Theodore Ts'o <tytso@mit.edu> e2fsck: optimize pass 5 for CPU utilization

Add a fast path optimization in e2fsck's pass 5 for the common case
where the block bitmap is correct. The optimization works by
extracting each block group's block allocation bitmap into a memory
buffer, and comparing it with the expected allocation bitmap using
memcmp(). If it matches, then we can just update the free block
counts and be on our way, and skip checking each bit individually.

Addresses-Google-Bug: #7534813

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reviewed-by: Lukas Czerner <lczerner@redhat.com>
/external/e2fsprogs/e2fsck/pass5.c
2788cc879bbe667d28277e1d660b7e56514e5b30 24-Apr-2012 Andreas Dilger <adilger@whamcloud.com> e2fsck: quiet harmless inode/blocks errors

Don't consider only an error in the superblock summary as incorrect.
The kernel does not update this field except at unmount time, so
don't print errors during a "-n" run if there is nothing else wrong.
Any other unfixed errors will themselves mark the filesystem invalid.

Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass5.c
e64e6761aa22f31123a91206a5686526f7b9c6c0 05-Apr-2012 Theodore Ts'o <tytso@mit.edu> Fix gcc -Wall nitpicks

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass5.c
c15386cdeed2464736f46bf1b19ec80ba8812dbf 11-Mar-2012 Lukas Czerner <lczerner@redhat.com> e2fsck: do not discard itable if discard doen't zero data

We do not want to discard inode table if the underlying device does not
return zeros when reading non-provisioned blocks. The reason is that if
the inode table is not zeroed yet, then discard would not help us since
we would have to zero it anyway. In the case that inode table was
already zeroed, then the discard would cause subsequent reads to contain
non-deterministic data so we would not be able to assume that the inode
table was zeroed and we would need to zero it again, which does not
really make sense.

This commit adds check to prevent inode table from being discarded if
the discard does not zero data.

Signed-off-by: Lukas Czerner <lczerner@redhat.com>
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass5.c
f0fe5daecdb0c88afb76c23c77494bbe86e1cd2b 11-Mar-2012 Lukas Czerner <lczerner@redhat.com> e2fsck: do not discard when in read only mode

When argument '-n' was specified and should run in read-only mode, we
should not attempt to discard anything. In order to do that we have to
check for E2F_OPT_NO flag and clear E2F_OPT_DISCARD flag if E2F_OPT_NO
is set.

This commit fixes the problem when we would mark inode tables as zeroed
(EXT2_BG_INODE_ZEROED) even when e2fsck is running in read-only mode. We
also move the check for E2F_OPT_NO so we can clear E2F_OPT_DISCARD as
early as possible.

Signed-off-by: Lukas Czerner <lczerner@redhat.com>
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass5.c
d2c9c42a0b1c0776afe47c9bfbddbc170d8aa036 11-Mar-2012 Theodore Ts'o <tytso@mit.edu> e2fsck: optimize CPU usage in check_{block,inode}_bitmaps()

The boolean expression (!skip_group || csum_flag) is always true,
since if csum_flag is FALSE, skip_group must also be FALSE. Hence, we
can just remove the expression from the conditional altogether, thus
simplifying the code and making it easier to read/understand.

Also, in the case where the bit is set in the bitmap, there's no point
repeatedly setting first_free to be ext2fs_block_count(fs->super).

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass5.c
deae60a087fceb3418efb8dd23ab557b767f925a 05-Mar-2012 Lukas Czerner <lczerner@redhat.com> e2fsck: do not forget to discard last block group

Previously when running e2fsck with '-E discard' argument the end of
the last group has not been discarded. This patch fixes it so we
always discard the end of the last group if needed.

Signed-off-by: Lukas Czerner <lczerner@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass5.c
467953263ebb406dcf27c92146d6e394bf2f94e5 11-Mar-2012 Lukas Czerner <lczerner@redhat.com> e2fsck: remove last argument from e2fsck_discard_blocks()

Simple code cleanup.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass5.c
57581c1064493b5eceff961b82b70cde6b41fc17 11-Mar-2012 Lukas Czerner <lczerner@redhat.com> e2fsck: discard only unused parts of inode table

When calling e2fsck with '-E discard' option it might happen that
valid inodes are discarded accidentally. This is because we just
discard the part of inode table which lies past the free inode count.
This is terribly wrong (sorry!).

This patch fixes it so only the free parts of an inode table
is discarded, leaving used inodes intact. This was tested with highly
fragmented inode tables with block size 4k and 1k.

Signed-off-by: Lukas Czerner <lczerner@redhat.com>
Reported-by: Phillip Susi <psusi@ubuntu.com>
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass5.c
e35ff9b92ac8e1038f9ab972e6f3a73e0091d3ee 17-Dec-2011 Theodore Ts'o <tytso@mit.edu> e2fsck: fix pass5 bug when using two different bitmap backends

The pass5 checks would fail if the expected and current {inode,block}
bitmaps used different back ends that returned different non-zero
values from the test_*_bitmap() functions. Fix this by changing
"(actual == bitmap)" to "(!actual == !bitmap)".

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass5.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/pass5.c
32318ff20f848a18d39e22c93ca06d5444651cd1 16-Sep-2011 Yongqiang Yang <xiaoqiangnk@gmail.com> e2fsck: fix error in computing blocks of the ending group

If the blocks of a filesystem is a multiple of blocks_per_group,
blocks of the ending group is computed wrongly. Use the
new ext2fs_group_blocks_count() helper instead.

Eric Sandeen: Converted to use new blocks per group helper

Signed-off-by: Yongqiang Yang <xiaoqiangnk@gmail.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass5.c
765e03f0374b655ba99c0881aebf6c101098c282 16-Sep-2011 Lukas Czerner <lczerner@redhat.com> e2fsck: do not attempt to discard if -n was specified

If '-n' option is specified there should be no changes made to the file
system hence we should not attempt to discard the file system. This
commit adds a check into the e2fsck_discard_blocks() condition so it skip
discard if E2F_OPT_NO flag is set.

Signed-off-by: Lukas Czerner <lczerner@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass5.c
fe75afbf33389f71f8588af388d0c01db0cbf753 16-Jun-2011 Theodore Ts'o <tytso@mit.edu> Fix superblock field s_blocks_count for bigalloc file systems

Treat the s_blocks_count field in the superblock as a free block count
(instead of the number of free clusters) for bigalloc file systems.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass5.c
3385a25408f7ecc1eac3bfcb619a2bf474687a14 16-Jun-2011 Theodore Ts'o <tytso@mit.edu> e2fsck: Fix pass5 handling for bigalloc && uninit_bg file systems

The code which simulated handling uninitialized block bitmaps didn't
take bigalloc file systems into account correctly. Fix it.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass5.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/pass5.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/pass5.c
efa1a355a1e4142b2d057be06931eb8fc0903ba3 18-Nov-2010 Lukas Czerner <lczerner@redhat.com> e2fsck: Discard free data and inode blocks.

In Pass 5 when we are checking block and inode bitmaps we have great
opportunity to discard free space and unused inodes on the device,
because bitmaps has just been verified as valid. This commit takes
advantage of this opportunity and discards both, all free space and
unused inodes.

I have added new set of options, 'nodiscard' and 'discard'. When the
underlying devices does not support discard, or discard ends with an
error, or when any kind of error occurs on the filesystem, no further
discard attempt will be made and the e2fsck will behave as it would
with nodiscard option provided.

As an addition, when there is any not-yet-zeroed inode table and
discard zeroes data, then inode table is marked as zeroed.

Signed-off-by: Lukas Czerner <lczerner@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass5.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/pass5.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/pass5.c
cd65a24e756b8f6770a5961fd94c67eb00dd7baa 26-Oct-2009 Theodore Ts'o <tytso@mit.edu> libext2fs: Convert ext2fs_bg_flag_test() to ext2fs_bg_flags_test()

After cleaning up ext2fs_bg_flag_set() and ext2fs_bg_flag_clear(),
we're left with ext2fs_bg_flag_test(). Convert it to
ext2fs_bg_flags_test().

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass5.c
e633b58ac75f2f544b7d6572e37d4b63da31e59c 26-Oct-2009 Eric Sandeen <sandeen@redhat.com> libext2fs: clean up ext2fs_bg_flags_ interfaces

The ext2fs_bg_flag* functions were confusing.

Currently we have this:

void ext2fs_bg_flags_set(ext2_filsys fs, dgrp_t group, __u16 bg_flags);
void ext2fs_bg_flags_clear(ext2_filsys fs, dgrp_t group,__u16 bg_flags);

(_set (unused) sets exactly bg_flags; _clear clears all and ignores bg_flags)

and these, which can twiddle individual bits in bg_flags:

void ext2fs_bg_flag_set(ext2_filsys fs, dgrp_t group, __u16 bg_flag);
void ext2fs_bg_flag_clear(ext2_filsys fs, dgrp_t group, __u16 bg_flag);

A better interface, after the patch below, is just:

ext2fs_bg_flags_zap(fs, group) /* zeros bg_flags */
ext2fs_bg_flags_set(fs, group, flags) /* adds flags to bg_flags */
ext2fs_bg_flags_clear(fs, group, flags) /* clears flags in bg_flags */

and remove the original ext2fs_bg_flags_set / ext2fs_bg_flags_clear.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass5.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/pass5.c
c5b7b6babe658a2037af6c9d2b7a3c23208f98f1 08-Sep-2009 Valerie Aurora Henson <vaurora@redhat.com> Fix overflow in calculation of total file system blocks

Blocks per group and group desc count are both 32-bit; multiplied they
produce a 32-bit quantity which overflowed.

Signed-off-by: Valerie Aurora Henson <vaurora@redhat.com>
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass5.c
732c8cd58ff30ffae0d3276c411a08920717a46c 08-Sep-2009 Theodore Ts'o <tytso@mit.edu> Use accessor functions fields for bg_flags in the block group descriptors

Signed-off-by: Valerie Aurora Henson <vaurora@redhat.com>
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass5.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/pass5.c
20f2ccb3262b11d3a7b892cb9a11ea1c8c2ddd3b 12-Jul-2009 Jose R. Santos <jrs@us.ibm.com> Use new ext2fs_super_and_bgd_loc2 call in libext2fs

The new ext2fs_super_and_bgd_loc2() function has some changes aside
from just blk64_t support. Lets make sure that the interfaces are
sane by adding libext2fs support early to get the new API tested here.

Signed-off-by: Jose R. Santos <jrs@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass5.c
479463aaf641d9b2c46bd4cda4e5e941fd767c73 09-Jul-2009 Kazuya Mio <k-mio@sx.jp.nec.com> e2fsck: Speed up pass 5 processing for ext4 filesystems

e2fsck_pass5() checks whether the inode and block allocation bitmaps
are consistent. However, if EXT2_BG_[INODE/BLOCK]_BITMAP is set to a
ext4's block group, most of its bitmap is uninitialized (0). In that
case, we can optimize e2fsck's pass 5 by checking the entire range of
an uninitalized block group instead of checking bit by bit.

This can speed up e2fsck pass 5 by up to 80%:

+-----+--------------------+--------------------+
| | old e2fsck | new e2fsck |
|Pass | time(s) | time(s) |
| | real | user |system| real | user |system|
+-----+------+------+------+------+------+------+
| 1 | 5.70| 3.29| 0.50| 5.66| 3.21| 0.54|
| 2 | 3.33| 0.80| 0.19| 3.40| 0.82| 0.23|
| 3 | 0.01| 0.00| 0.00| 0.01| 0.00| 0.00|
| 4 | 1.04| 1.04| 0.00| 1.05| 1.04| 0.00|
| 5 | 19.60| 17.27| 0.06| 3.53| 1.21| 0.05|
+-----+------+------+------+------+------+------+
|Total| 29.94| 22.57| 0.80| 13.90| 6.47| 0.86|
+-----+------+------+------+------+------+------+

Comparison of e2fsck time on an ext4 500GB partition (20% blocks used)

Machine environment:
CPU: Intel(R) Xeon(TM) CPU 3.00GHz
Memory: 1GB
Kernel: linux-2.6.29-git2

Signed-off-by: Kazuya Mio <k-mio@sx.jp.nec.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass5.c
e31b32721df24a0794de4f8925112e21dc4699b4 06-Jul-2009 Kazuya Mio <k-mio@sx.jp.nec.com> e2fsck: remove unused variable in check_block_bitmap()

check_block_bitmap() calculates the block number of superblock in the current
block group but it's not used.

Signed-off-by: Kazuya Mio <k-mio@sx.jp.nec.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass5.c
01ec1268a57b3cc0689ee17035613bebfaea9f87 06-Jul-2009 Kazuya Mio <k-mio@sx.jp.nec.com> e2fsck: optimize loop counter when fixing bitmap padding

If unused range of the bitmap has an unmarked bit, check_[inode/block]_end()
marks all bits in the range. However, we know that the checked bits are marked.
So this patch fixes loop counter to mark from the unmarked bit.

Signed-off-by: Kazuya Mio <k-mio@sx.jp.nec.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass5.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/pass5.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/pass5.c
16b851cdae98244e117fe91d93b267fcad1102b3 21-Apr-2008 Theodore Ts'o <tytso@mit.edu> Remove LAZY_BG feature

This simplifies the code, and using the uninit_bg with the inode table
lazily initialized is just as good.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass5.c
4a2924eaa371da712d610062367b7e9c3478b055 19-Apr-2008 Theodore Ts'o <tytso@mit.edu> e2fsck: Fix pass5 handling of meta_bg and uninit_bg combination

The pass5 lazy block group support didn't understand meta_bg formats
correctly. Fix this.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass5.c
49a7360ba6b986242d9f0f33e102291d2e0dfb47 22-Oct-2007 Jose R. Santos <jrs@us.ibm.com> Make e2fsck uninit block group aware

This patch has all the necesary pieces to open and fix filesystems created
with the uninit block group feature.

Signed-off-by: Jose R. Santos <jrs@us.ibm.com>
Signed-off-by: Andreas Dilger <adilger@clusterfs.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass5.c
5d38ef1d049bf56d1c1e88b8b4d287c0f9470e61 30-Aug-2007 Valerie Clement <valerie.clement@bull.net> libext2fs: cleanup usage of unsigned int or __u32 and replace it with blk_t

Signed-off-by: Valerie Clement <valerie.clement@bull.net>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass5.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/pass5.c
f1f115a78f5ea599fc5f8815a741d43fedd5840d 23-Jul-2007 Theodore Ts'o <tytso@mit.edu> libext2fs: 32-bit bitmap refactorization, part 3

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

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

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

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

Coverity ID: 39: Resource Leak
Coverity ID: 40: Resource Leak

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
/external/e2fsprogs/e2fsck/pass5.c
5830d6be9c33e23bb20c339036083e6e4fa6795e 30-Aug-2006 Eric Sandeen <esandeen@redhat.com> Detect overflows in loop counters

For loops such as:

for (i=1; i <= fs->super->s_blocks_count; i++) {
<do_stuff>
}

if i is an int and s_blocks_count is (2^32-1), the condition is never false.
Change these loops to:

for (i=1; i <= fs->super->s_blocks_count && i > 0; i++) {
<do_stuff>
}

to stop the loop when we overflow i

Signed-off-by: Eric Sandeen <esandeen@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass5.c
f5fa20078bfc05b554294fe9c5505375d7913e8c 09-May-2006 Theodore Ts'o <tytso@mit.edu> Add support for EXT2_FEATURE_COMPAT_LAZY_BG

This feature is initially intended for testing purposes; it allows an
ext2/ext3 developer to create very large filesystems using sparse files
where most of the block groups are not initialized and so do not require
much disk space. Eventually it could be used as a way of speeding up
mke2fs and e2fsck for large filesystem, but that would be best done by
adding an RO_COMPAT extension to the filesystem to allow the inode table
to be lazily initialized on a per-block basis, instead of being entirely initialized
or entirely unused on a per-blockgroup basis.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/pass5.c
544349270e4c74a6feb971123884a8cf5052a7ee 07-Dec-2003 Theodore Ts'o <tytso@mit.edu> Fix gcc -Wall nitpicks
/external/e2fsprogs/e2fsck/pass5.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/pass5.c
546a1ff18cc912003883ff67ba3e87c69f700fc4 08-Mar-2002 Theodore Ts'o <tytso@mit.edu> Fix various gcc -Wall complaints.
/external/e2fsprogs/e2fsck/pass5.c
f122632e6bb8a51126da2c71bdb95fbcb52f51bc 07-Mar-2002 Theodore Ts'o <tytso@mit.edu> E2fsck now prints ranges in pass 5 when printing deltas in
the block and inode bitmaps.
/external/e2fsprogs/e2fsck/pass5.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/pass5.c
bbd47d76b7c12e98f9bf79b7c2582173252b4db6 10-Jun-2000 Theodore Ts'o <tytso@mit.edu> ChangeLog, pass5.c, problem.c, problem.h:
pass5.c (check_block_bitmaps, check_inode_bitmaps): Add error checking
for a "should never happen case".
problem.c, problem.h (PR_5_COPY_IBITMAP_ERROR,
PR_5_COPY_BBITMAP_ERROR): Add new error codes.
/external/e2fsprogs/e2fsck/pass5.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/pass5.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/pass5.c
e79d1b23edd7ce551030128bfe12821f4412cc89 18-Jun-1999 Theodore Ts'o <tytso@mit.edu> ChangeLog, pass5.c:
pass5.c (check_block_end): Fix fencepost condition where when clearing
the block padding we were missing the last position in the bitmap.
/external/e2fsprogs/e2fsck/pass5.c
efac9a1b8d87d753b1c7989d9c05979c3c9c1a53 07-May-1998 Theodore Ts'o <tytso@mit.edu> ChangeLog, e2fsck.8.in, e2fsck.h, pass5.c, unix.c:
unix.c (PRS): Added new option -C, which causes e2fsck to print
progress updates so that callers can keep track of the completion
progress of e2fsck. Designed for use by progress, except for -C 0,
which prints a spinning report which may be useful for some users.
pass5.c (e2fsck_pass5): Use a finer-grained progress reporting scheme
(useful for larger filesystems).
e2fsck.h: Add progress_fd and progress_pos, for use by the Unix
progress reporting functions.
/external/e2fsprogs/e2fsck/pass5.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/pass5.c
63c4969c54cdb91f5644fde33d301b5b417e6995 20-Feb-1998 Theodore Ts'o <tytso@mit.edu> ChangeLog, pass5.c:
pass5.c (check_block_bitmaps, check_inode_bitmaps): Don't call
end_problem_latch() unless there was actually a problem latched.
Simplifies semantics of the latch processing.
/external/e2fsprogs/e2fsck/pass5.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/pass5.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/pass5.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/pass5.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/pass5.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/pass5.c
21c84b71e205b5ab13f14343da5645dcc985856d 29-Apr-1997 Theodore Ts'o <tytso@mit.edu> Many files:
Checked in e2fsprogs-1.07
/external/e2fsprogs/e2fsck/pass5.c
50e1e10fa0ac12a3e2a9d20a75ee9041873cda96 26-Apr-1997 Theodore Ts'o <tytso@mit.edu> Many files:
Checked in e2fsprogs 0.5c
/external/e2fsprogs/e2fsck/pass5.c
f3db3566b5e1342e49dffc5ec3f418a838584194 26-Apr-1997 Theodore Ts'o <tytso@mit.edu> Many files:
Checkin of e2fsprogs 0.5b
/external/e2fsprogs/e2fsck/pass5.c
3839e65723771b85975f4263102dd3ceec4523c0 26-Apr-1997 Theodore Ts'o <tytso@mit.edu> Many files:
Checkin of e2fsprogs 0.5b
/external/e2fsprogs/e2fsck/pass5.c