History log of /external/e2fsprogs/e2fsck/e2fsck.h
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/e2fsck.h
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/e2fsck.h
130e961a6fb9d38997c83c6397cf9ddb5ed2491f 03-Dec-2013 Theodore Ts'o <tytso@mit.edu> e2fsck: add support for 64-bit extended attribute block refcounting

If we have a 64-bit file system with extended attribute blocks, e2fsck
would not correctly handle EA blocks that were located beyond the
32-bit block number boundary. Fix this by teaching
e2fsck/ea_refcount.c to use 64-bit block numbers.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/e2fsck.h
974d57d3b1f896d2064ba854d7c037ab6478ecf8 03-Dec-2013 Theodore Ts'o <tytso@mit.edu> e2fsck: use errcode_t to suppress some -Wconversion warnings

We need to store some error codes using an int to keep recovery.c as
close as possible to the recovery.c source file in the kernel.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/e2fsck.h
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/e2fsck.h
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/e2fsck.h
b0e91c89257d906324d6081c952157f768dfc699 18-Mar-2012 Theodore Ts'o <tytso@mit.edu> e2fsck: add logging capability

Add the ability to log messages about a file system to a specified
directory, using a file name templace that can be specified in
/etc/e2fsck.conf. This allows us to suppress the output of overly
verbose e2fsck outputs while still allowing the full logging output to
go to an appropriate file.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/e2fsck.h
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/e2fsck.h
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/e2fsck.h
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/e2fsck.h
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/e2fsck.h
9b3018a82e843d860e05dc8d75f9358d4436547e 11-Aug-2011 Theodore Ts'o <tytso@mit.edu> e2fsck: catch termination signals and print information about them

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/e2fsck.h
a3efe4842054175d01b465fbe0b29b9be8b800a1 16-Jun-2011 Theodore Ts'o <tytso@mit.edu> e2fsck: fix mysterious "FILE SYSTEM WAS MODIFIED" with no changes

Commit 2a77a784a3 (firest released in e2fsprogs 1.33) compared
superblock summary free blocks and inode counts with the allocation
bitmap counts before starting the file system check proper, and if
they differed, set the superblock and marked it as dirty. If no other
file systme changes were required, this would cause a "*** FILE SYSTEM
WAS MODIFIED ***" message without any explanation of what e2fsck had
changed.

We fix this by only setting the superblock summary free block/inodes
counts if we are skipping a full check, and in non-preen mode, e2fsck
will now print an explicit message stating how the superblock had been
updated.

In a full check, any updates to the superblock free blocks/inodes
fields will be noted in pass5.

This change requires changing a few test results (essentially
reversing the changes made in commit 2a77a784a3).

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/e2fsck.h
25623feab4789b86880da8ded5605ff17ebf3908 17-Dec-2010 Theodore Ts'o <tytso@mit.edu> Merge branch 'master' into next

Conflicts:
e2fsck/e2fsck.h
e2fsck/unix.c
0358c9f9a43ce0ef33f7891ca9f9d67abd3b4853 13-Dec-2010 Theodore Ts'o <tytso@mit.edu> Merge branch 'maint' into next

Conflicts:
e2fsck/pass4.c
misc/dumpe2fs.c
resize/online.c
71873b17307993c08b38b97c9551bed231e6048c 13-Nov-2010 Bernd Schubert <bs_lists@aakef.fastmail.fm> e2fsck: add an option which causes it to only do a journal replay

As recently discussed on linux-ext4@vger.kernel.org add an option to e2fsck
to allow to replay the journal only. That will allow scripts, such as
pacemakers 'Filesystem' RA to first replay the journal and if that sets
an error state from the journal replay, further check for that error
(dumpe2fh -h | grep "Filesystem state:") and if that shows and error
to refuse to mount. It also allows automatic e2fsck scripts to first
replay the journal and on a second run after the real pass1 to passX checks
to test for the return code.

Signed-off-by: Bernd Schubert <bschubert@ddn.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/e2fsck/e2fsck.h
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/e2fsck.h
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/e2fsck.h
177839e2454dcc298244481da9c72a19b41836be 13-May-2010 Theodore Ts'o <tytso@mit.edu> e2fsck: Skip time-based checks if the time looks insane or broken_system_clock

There are broken embedded devices that have system clocks that always
reset to January 1, 1970 whenever they boot (even if no power is
lost). There are also systems that have super cheap clock crystals
that can be very inaccurate. So if the option broken_system_clock is
given, disable all time based checks. E2fsck will also try to detect
incorrect system clock times, and automatically mark the system clock
as insane.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/e2fsck.h
59119646bd7e079aaed70366c405322d2dc7fa53 15-Mar-2010 Theodore Ts'o <tytso@mit.edu> e2fsck: Don't blow up if the physical device is too big

If the user grows a partition bigger than 2**32 blocks, e2fsprogs
1.41.x is not going to be able to support resizing the filesystem,
since it doesn't have > 2**32 block support. However, e2fsck should
still work, so the system administrator doesn't get stuck.

Addresses-Launchpad-Bug: #521648

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/e2fsck.h
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/e2fsck.h
6267ee49be64035d8a9772c3bafed18a09874fa5 28-May-2009 Andreas Dilger <adilger@sun.com> e2fsck: only restart e2fsck once for inodes in uninit range

Restart e2fsck only once in case of multiple inodes in uninit range.
Display correct inode number during BG_INO_UNINIT and INOREF_IN_USED errors.

Signed-off-by: Kalpak Shah <kalpak.shah@sun.com>
Signed-off-by: Andreas Dilger <adilger@sun.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/e2fsck/e2fsck.h
69d0edfd01ef81efd9f880231999975582ea8b60 23-Apr-2009 Theodore Ts'o <tytso@mit.edu> e2fsck: Don't test the resize_inode if the filesystem is clean

Move check_resize_inode() out of check_super_block(), since we only
need to test the resize_inode for correctness only if the filesystem
requires checking. This change avoids a lot of I/O operations which
slows down a 1 second boot.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/e2fsck.h
b0258cbcd89862b927707258c67f2eeac769adc2 22-Apr-2009 Theodore Ts'o <tytso@mit.edu> e2fsck: Fix warn_unused_result warnings from gcc

Fixed a potential bug where by partial returns from the write(2)
system call could lost characters to be sent to external progress bar
display program.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/e2fsck.h
7dca4c88f166561031011ed27287818eaa343486 24-Dec-2008 Theodore Ts'o <tytso@mit.edu> e2fsck: When repacking directories, leave slack space for more efficiency

If the directory is packed with no slack space, as soon as any new
directory entries are added, leaf nodes end up getting split and
directory ends up getting very inefficient.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/e2fsck.h
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/e2fsck.h
80875db58a6db58e3e2f01caf1adabca068d3ffb 13-Oct-2008 Theodore Ts'o <tytso@mit.edu> e2fsck: Offer to clear the test_fs flag if ext4 is available

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/e2fsck.h
79cc33628256e817610e921ddf600f72e4f879e1 11-Oct-2008 Eric Sandeen <sandeen@redhat.com> e2fsck: exit from preenhalt if IO errors were encountered

If a block device is read-only, e2fsck -p gets into an infinite loop
trying to preenhalt, closing and flushing the fs, which tries to flush
the cache, which gets a write error and calls preenhalt which tries to
close and flush the fs ... ad infinitum.

Per Ted's suggestion just flag the ctx as "exiting" and short-circuit
the infinite loop.

Tested by running e2fsck -p on a block device set read-only by BLKROSET.

Thanks to Vlado Potisk for reporting this.

Addresses-Red-Hat-Bugzilla: #465679

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/e2fsck/e2fsck.h
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/e2fsck.h
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/e2fsck.h
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/e2fsck.h
51d12cebb61ca00f5455fe6e25938cd79fea15ab 24-May-2008 Theodore Ts'o <tytso@mit.edu> Add CRC32 (big-endian) routine for use by journal checksums

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/e2fsck.h
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/e2fsck.h
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/e2fsck.h
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/e2fsck.h
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/e2fsck.h
2628a1d3e1e581512d136486768685542d2649b1 06-Oct-2007 Theodore Ts'o <tytso@mit.edu> Merge branch 'maint'
0c37f456d929dac47fcf87374f1c1b9a9a96c9fa 01-Oct-2007 Theodore Ts'o <tytso@mit.edu> e2fsck: backup superblocks if key constants have changed

If the primary superblock differs from the backup superblock in
certain key respects, force a full check (if e2fsck was invoked in
preen mode). If the filesystem check passes cleanly, and the
filesystem was opened in read/write mode, then write the primary
superblock to all of the backups.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/e2fsck.h
60702c267d83bc75ca22e8efb5eff0e1a8821800 23-Sep-2007 Theodore Ts'o <tytso@mit.edu> Work around lame Ubuntu init scripts / installer bugs

The Ubuntu init scripts don't properly set the system time correctly
from hardware clock if the hardware clock is configured to tick local
time instead of GMT time.

Work around this as best as we can by providing an option in
/etc/e2fsck.conf which can be set on Ubuntu systems:

[options]
buggy_init_scripts = 1

Addresses-Debian-Bug: #441093
Addresses-Ubuntu-Bug: #131201

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/e2fsck.h
1a855cb21f3c5d1c1b0acaf2beab879e9b5cd118 11-Aug-2007 Theodore Ts'o <tytso@mit.edu> Remove e2fsck's -s and -S options to byte-swap ancient PPC filesystems

The need for fixing byte-swapped filesystems is long-gone, and this is
getting in the way of cleaning up e2fsprogs's bitmaps code. So let's
get rid of it; modern kernels haven't been able to deal with a
byte-swapped filesystem in in about 9 years.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/e2fsck.h
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/e2fsck.h
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/e2fsck.h
d2af1bdd0526603b762c875630e82e0dd9eff059 04-Jun-2007 Theodore Ts'o <tytso@mit.edu> Fix e2fsck's get_size logic so it will work with the Linux floppy driver

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

Addresses Debian Bug: #410569

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/e2fsck.h
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/e2fsck.h
28db82a84a33fab19f22da12bb2a8a3c558ae97b 05-Apr-2007 Theodore Ts'o <tytso@mit.edu> Rework e2fsck's dirinfo abstraction to be more friendly for databases

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

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/e2fsck.h
d0ff90d5202428583c78a60c3042e7b60d88bc45 12-Sep-2006 Eric Sandeen <esandeen@redhat.com> Fix signed vs unsigned printf format strings for block and inode numbers

There were still some %d's lurking when we print blocks & inodes; also
many of the counters in the e2fsck_struct were signed, and probably
need to be unsigned to avoid overflows.

Signed-off-by: Eric Sandeen <esandeen@redhat.com>
/external/e2fsprogs/e2fsck/e2fsck.h
5656612910a9662a9d39054fd91b7482e865cb9a 28-Jun-2006 Andreas Dilger <adilger@clusterfs.com> Minor fix to prevent e2fsck.h being included twice:

Signed-off-by: Andreas Dilger <adilger@clusterfs.com>
/external/e2fsprogs/e2fsck/e2fsck.h
9e0cbba89b3a7ba9d91d00c163de78a318517504 30-May-2006 Matthias Andree <matthias.andree@gmx.de> Add prototype for e2fsck_write_inode_full.

Signed-off-by: Matthias Andree <matthias.andree@gmx.de>
/external/e2fsprogs/e2fsck/e2fsck.h
b1c52b26a44efeb366402985763c242a4b21aeb1 10-Mar-2006 Theodore Ts'o <tytso@mit.edu> Enhance e2fsck so it can fix external journal hint in the superblock

Check to see if the superblock hint for the external journal needs to
be updated, and if so, offer to update it. (Addresses Debian Bug:
#355644)

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/e2fsck.h
1017f65179f4aa313f699109b471b79f99f38d3d 31-Dec-2005 Theodore Ts'o <tytso@mit.edu> Read in /etc/e2fsck.conf configuration file at startup

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/e2fsck.h
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/e2fsck.h
c3ffaf833b7ddb3c1d422c71f59e1623029ede0c 24-Dec-2004 Theodore Ts'o <tytso@mit.edu> Add support to detect corrupted resize_inode's to e2fsck.
/external/e2fsprogs/e2fsck/e2fsck.h
2e8ca9a26b0bd7dae546a3f9a98df67b043fe3be 30-Nov-2004 Theodore Ts'o <tytso@mit.edu> Add support for passing options to the io layer using the URL syntax. For
example, /tmp/test.img?offset=1024. Multiple options can separated using
the & character, although at the moment the only option implemented is
the offset option in the unix_io layer.
/external/e2fsprogs/e2fsck/e2fsck.h
6c7d61da00f10aa228d1da5bcc10ce1d4c044014 11-Dec-2003 Theodore Ts'o <tytso@mit.edu> e2fsck.h (E2F_FLAG_RESTARTED): Assign a unique flag bitfield to
E2F_FLAG_RESTARTED. This fixes a bug where if the user
specifies an alternate superblock, and the journal needs
to be replayed, e2fsck would erroneously assume that
journal had been run already without clearing the
NEEDS_RECOVERY flag, and bomb out with an error.
/external/e2fsprogs/e2fsck/e2fsck.h
3ddf2f662eaccf2376dd99c65a2fe93fcf75c3e7 02-Dec-2003 Theodore Ts'o <tytso@mit.edu> When testing a disk using e2fsck -c, use the list
of new bad blocks to replace the current list of bad
blocks. This way "e2fsck -c" can be used to recover from
a corrupted bad block inode.
/external/e2fsprogs/e2fsck/e2fsck.h
54a31a3b2e432c124aa03442f2983c4f4d4a974c 19-Aug-2003 Theodore Ts'o <tytso@mit.edu> e2fsck.h, unix.c (PRS, e2fsck_clear_progbar,
e2fsck_simple_progress): Don't print the ^A and ^B
characters which bracket the progress bar when the e2fsck
program is talking directly to a tty, but only when it is
being piped to another program. (Addresses Debian bug
#204137)
unix.c: Move some initialized variables to the BSS segment to
shrink the size of the e2fsck executable.
/external/e2fsprogs/e2fsck/e2fsck.h
113e405bb668efaaea523c9c4b5247c3df98e3be 18-May-2003 Theodore Ts'o <tytso@mit.edu> unix.c (show_stats), e2fsck.h: Use ngettext (abbreivated with
the macro P_(str1, str2, n)) to simplify the statistics
reporting.
/external/e2fsprogs/e2fsck/e2fsck.h
a04eba3f8868af1d9b7b504d3d430c55ed3dc777 03-May-2003 Theodore Ts'o <tytso@mit.edu> Update to gettext 0.11.5. We now enable NLS support by default.

Fixed up support for using the internal intl library.
/external/e2fsprogs/e2fsck/e2fsck.h
520ead378ec5ddef828a8d206434cc3a444b2e9e 19-Apr-2003 Theodore Ts'o <tytso@mit.edu> Fix gcc -Wall warnings.
/external/e2fsprogs/e2fsck/e2fsck.h
b0700a1b6083f2f0c19c349f07ca80e70ec456be 14-Mar-2003 Theodore Ts'o <tytso@mit.edu> Change e2fsck to detect and offer to delete or rename duplicate
filenames in directories when rebuilding directories using
"e2fsck -fD /dev/XXX"
/external/e2fsprogs/e2fsck/e2fsck.h
f364093b1956def0b0f1d037852cbb645284d5f2 02-Mar-2003 Theodore Ts'o <tytso@mit.edu> Update debugfs and e2fsck to use the blkid library.
/external/e2fsprogs/e2fsck/e2fsck.h
b92ae1535c7bba947100819d8efbad05b41c17f0 02-Jan-2003 Theodore Ts'o <tytso@mit.edu> Detect if there is an attempt to run the journal twice, and
abort the e2fsck run with an error if this is the case.
(Address IBM Bugzilla bug #1226)
/external/e2fsprogs/e2fsck/e2fsck.h
ee895139d79c364aa43e6c0113c3f060081cb9fe 07-Nov-2002 Theodore Ts'o <tytso@mit.edu> e2fsck.h, unix.c (main, check_mount): Fix e2fsck so that it
returns the appropriate exit code, so that the boot
scripts will be told that they need to automatically
reboot.
/external/e2fsprogs/e2fsck/e2fsck.h
ad4fa4660404ed88a3231fee338397af11e041b4 30-Sep-2002 Theodore Ts'o <tytso@mit.edu> Avoid counting directory entries during a directory salvage.

Add additional checks to HTREE directories. We now check the count
and limit fields in the htree header, as well as assuring that the
hash table in each interior node is in ascending order. We also
check to make sure all leaf nodes are have the expected depth in
the tree.

Updated test cases to deal with all of the above.
/external/e2fsprogs/e2fsck/e2fsck.h
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/e2fsck.h
850d05e9aa405497e57c72090b9561af98b1b661 25-Jul-2002 Theodore Ts'o <tytso@mit.edu> Add e2fsck -D option which optimizes/compresses directories.

General cleanup of rehash code. (Fixed a few bugs, reformatted
code to make it more maintainable, etc.)
/external/e2fsprogs/e2fsck/e2fsck.h
4cae04529eda0e482ceaa86b48e532f9c8d35f24 21-Jul-2002 Theodore Ts'o <tytso@mit.edu> Add SIGINT and SIGTERM handling to fsck and e2fsck. For e2fsck,
make sure we gracefully clean up and only exit at safe points.
For fsck, we pass the SIGINT/SIGTERM signal to the child processes,
so they can do their own cleanup.
/external/e2fsprogs/e2fsck/e2fsck.h
b7a00563b22b0ea47ddc7117508c0b8e0d65df43 20-Jul-2002 Theodore Ts'o <tytso@mit.edu> Add support to e2fsck to reindex directories to use hash trees.
/external/e2fsprogs/e2fsck/e2fsck.h
8fdc9985c1e2a4467630b33719b7feb281b7b33b 26-Jun-2002 Theodore Ts'o <tytso@mit.edu> Add initial support for htree directories.
/external/e2fsprogs/e2fsck/e2fsck.h
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/e2fsck.h
3ed57c27df0ba0942a19c71bc065c8eec3036567 24-Dec-2001 Theodore Ts'o <tytso@mit.edu> In mke2fs and e2fsck, specifying the -c option twice will now do
a read/write test on the disk. Update the man pages to encourage
using the -c option, and to discouraging running badblocks separately,
since users tend to forget to set the blocksize when running
badblocks.
/external/e2fsprogs/e2fsck/e2fsck.h
f1a1761d678a5ac539419f62676ce4c1bbd0767e 24-Dec-2001 Theodore Ts'o <tytso@mit.edu> Enhnaced the get backup superblock function so that it does
the right thing if the filesystem superblock is unavailable;
it will search for the superblock by iterating over possible
blocksizes.
/external/e2fsprogs/e2fsck/e2fsck.h
d37066a9fa14ff3c0e7f4ea95e07204fce95f41a 22-Dec-2001 Theodore Ts'o <tytso@mit.edu> Give the opportunity for e2fsck to run the journal even if
recovery flag is cleared. If we're using a backup
superblock, run the journal by default.
/external/e2fsprogs/e2fsck/e2fsck.h
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/e2fsck.h
773fd8a1d4202af708a37bdc7754134e6fdcfe22 07-Oct-2001 Theodore Ts'o <tytso@mit.edu> e2fsck.h, journal.c (e2fsck_move_ext3_journal): Add new function
which will automatically relocate the ext3 journal from a
visible file to an invisible journal file if the
filesystem has been opened read/write.

super.c (check_super_block): Add call to e2fsck_move_ext3_journal

problem.c, problem.h (PR_0_MOVE_JOURNAL, PR_0_ERR_MOVE_JOURNAL):
Add new problem codes.
/external/e2fsprogs/e2fsck/e2fsck.h
ae6cdcf74a4c665b7404374bf52e0c91c31422a9 19-Sep-2001 Theodore Ts'o <tytso@mit.edu> e2fsck: If a superblock is specified explicitly by the
user, don't try to automatically fall back to an
alternate superblock.
/external/e2fsprogs/e2fsck/e2fsck.h
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/e2fsck.h
adee8d75db09dc8ecb2a32f59a8c64d3f4c64b0e 23-Jul-2001 Theodore Ts'o <tytso@mit.edu> Add support for use of an external journal (so long as the external
journal only has one filesystem).
/external/e2fsprogs/e2fsck/e2fsck.h
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/e2fsck.h
342d847db355d81299218e07a1e58ece82080a04 02-Jul-2001 Theodore Ts'o <tytso@mit.edu> Add initial support for extended attribute blocks
/external/e2fsprogs/e2fsck/e2fsck.h
54c637d4d29af3e6365779f8b12976abe95a4753 14-May-2001 Theodore Ts'o <tytso@mit.edu> Many files:
badblocks.c, chattr.c, dumpe2fs.c, e2image.c, findsuper.c, lsattr.c,
mke2fs.c, mklost+found.c, tune2fs.c, util.c: Change location of
ext2_fs.h to be ext2fs/ext2_fs.h
ChangeLog, Makefile.in, resize2fs.h:
resize2fs.h: Change location of ext2_fs.h to be ext2fs/ext2_fs.h
ChangeLog, Makefile.in, debugfs.h:
debugfs.h: Change location of ext2_fs.h to be ext2fs/ext2_fs.h
ChangeLog, Makefile.in, e2fsck.h, scantest.c:
e2fsck.h, scantest.c: Change location of ext2_fs.h to be
ext2fs/ext2_fs.h
ChangeLog, Makefile.in, tst_uuid.c, uuid_time.c:
tst_uuid.c, uuid_time.c: Remove unneeded #include of ext2_fs.h
ChangeLog, Makefile.in, e2p.h:
e2p.h: Change location of ext2_fs.h to be ext2fs/ext2_fs.h
ChangeLog, Makefile.in, test_icount.c, test_rel.c:
test_icount.c, test_rel.c: Change location of ext2_fs.h to be
ext2fs/ext2_fs.h
/external/e2fsprogs/e2fsck/e2fsck.h
424cd2beb7c40a3e4cf96b5bf28b24e48554a754 14-May-2001 Theodore Ts'o <tytso@mit.edu> ChangeLog, e2fsck.h, journal.c, problem.c, problem.h, super.c:
super.c (check_super_block): Be more strict on checking
s_r_blocks_count superblock field.
problem.c, problem.h (PR_0_JOURNAL_UNSUPP_ROCOMPAT,
PR_0_JOURNAL_UNSUPP_INCOMPAT, PR_0_JOURNAL_RESET_COMPAT): New problem
codes.
journal.c (e2fsck_journal_load): Use a problem code to report
unsupported feature flags. There is code to clear unsupported flags,
but since this is dangerous, it's not allowed in the problem code
table.
journal.c (e2fsck_journal_reset_super): initialize the journal
sequence number to a random value to avoid recovering bad transactions
from a corrupt journal.
/external/e2fsprogs/e2fsck/e2fsck.h
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/e2fsck.h
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/e2fsck.h
3b5386dca8e0008e13351be5de6323576329aa58 14-Aug-2000 Theodore Ts'o <tytso@mit.edu> Many files:
journal.c: implement loading of ext3 journal for recovery code
problem.c (fix_problem): return answer from PR_AFTER_CODE to caller.
Add journal problems.
recovery.c (journal_recover): user-space ext3 journal recovery code
unix.c (main) : check journal and do recovery in separate steps
jfs.h, recovery.c: Files ext3 kernel code.
jfs_compat.h: Compatibility header file to allow kernel code to be
linked to e2fsck.
/external/e2fsprogs/e2fsck/e2fsck.h
17390c047f5470eec005c5461a7926d03d6bbbe7 07-Jul-2000 Theodore Ts'o <tytso@mit.edu> ChangeLog, Makefile.in, e2fsck.h, journal.c, unix.c:
unix.c (check_if_skip): Modify algorithm for checking s_max_mnt_count
to match with the kernel. (If s_max_mnt_count is negative, ignore the
mnt_count check.)
unix.c (e2fsck_update_progress): Adjust the width of the progress bar
dynamically, based on the filesystem name that we need to display.
unix.c (main): If the ext3 needs_recovery flag is set, call
e2fsck_run_ext3_journal() and then restart the e2fsck run.
journal.c (e2fsck_run_ext3_journal): New file which contains logic to
recover the ext3 journal. This version relies on the kernel being
able to mount the filesystem in order to run the journal.
/external/e2fsprogs/e2fsck/e2fsck.h
0601232332e080aac1a19748e78c22021c7815c4 12-Feb-2000 Theodore Ts'o <tytso@mit.edu> ChangeLog, e2fsck.h, unix.c:
unix.c (e2fsck_update_progress): Limit the number of updates to the
progress bars to 8 times a second. This allows a 9600 baud console
link to keep up.
/external/e2fsprogs/e2fsck/e2fsck.h
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/e2fsck.h
28ffafb09c6fd8a9ebe716c06b02143771a9b17f 08-Feb-2000 Theodore Ts'o <tytso@mit.edu> ChangeLog, bitops.h:
bitops.h (ext2fs_mark_generic_bitmap, ext2fs_unmark_generic_bitmap,
ext2fs_mark_block_bitmap, ext2fs_unmark_block_bitmap,
ext2fs_mark_inode_bitmap, ext2fs_unmark_inode_bitmap): Change to
return the previous state of the bit that is being marked or unmarked.
For speed optimization.
ChangeLog, pass3.c:
pass3.c (check_directory): Only do the loop detection algorithm if
we've searched over 2048 parent directories and haven't found the end
yet. This means that in the common case, we don't allocate or clear
the inode_loop_detection bitmap, which for large systems, merely
clearing the bitmap for each directory was turning out to be quite
expensive. Thanks to Jani Jaakkola (jjaakkol@cs.helsinki.fi) for
identifying this problem.
ChangeLog, Makefile.in, e2fsck.h, unix.c:
Makefile.in: Call sync after finishing building all in this directory.
unix.c (PRS): sync the filesystem before trying to use BLKFLSBUF, to
minimize the chance of causing dirty blocks to get dropped.
e2fsck.h: Manually define BLKFLSBUF if not defined, and we're on a
Linux/i386 system.
/external/e2fsprogs/e2fsck/e2fsck.h
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/e2fsck.h
80e808fceb61c2061b32593c610893bf07a863ee 02-Feb-2000 Theodore Ts'o <tytso@mit.edu> ChangeLog, debugfs.c:
debugfs.c (dump_inode): Remove #ifdef for i_version vs. i_generation
since we know it will always be i_generation now.
ChangeLog, e2fsck.h, flushb.c, scantest.c:
e2fsck.h, flushb.c, scantest.c: Remove uneeded include of linux/fs.h
bmap.c:
Fix silly spelling typo.
ChangeLog, getsize.c, ismounted.c, swapfs.c:
getsize.c, ismounted.c: Remove unneeded include of linux/fs.h
swapfs.c: Remove #ifdef HAVE_EXT2_INODE_VERSION since it's not needed
any more; we know it will always be i_generation. Add support for
swapping the high bits of the uid and gid.
/external/e2fsprogs/e2fsck/e2fsck.h
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/e2fsck.h
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/e2fsck.h
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/e2fsck.h
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/e2fsck.h
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/e2fsck.h
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/e2fsck.h
17dba281a042d3f8122ef7ce6933035a8eae074a 30-Mar-1998 Theodore Ts'o <tytso@mit.edu> ChangeLog, e2fsck.h, pass4.c, super.c:
super.c, e2fsck.h: Always declare e2fsck_get_device_size() as an
extern in e2fsck.h to prevent -Wall warnings.
pass4.c (e2fsck_pass4): Remove unused variable 'j'.
super.c (check_super_block): Fix broken superblock sanity check when
calculating blocks_per_group if s_log_frag_size != s_log_block_size.
Since we don't support fragments, this isn't a bug deal, but it's good
to get it fixed.
ChangeLog, Makefile.elf-lib:
Makefile.elf-lib (installdirs): Change use of DLL_INSTALL_DIR to
ELF_INSTALL_DIR. (Doesn't make a difference currently, but it's
correct this way.)
ChangeLog, fgetversion.c, getversion.c:
getversion.c (getversion): Return 0 if there's no error.
fgetversion.c (fgetversion): Pass the address of the temporary
variable instead of the unitialized variable to the
EXT2_IOC_GETVERSION ioctl.
/external/e2fsprogs/e2fsck/e2fsck.h
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/e2fsck.h
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/e2fsck.h
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/e2fsck.h
4313932cd77c9323fbfe4cacf4d1dc84c95a39de 16-Feb-1998 Theodore Ts'o <tytso@mit.edu> ChangeLog, e2fsck.8.in, e2fsck.h, pass3.c, pass4.c, super.c:
e2fsck.h: Add new field, priv_data to the e2fsck context structure.
It should be used by callers of the e2fsck functions only, and not by
anything in e2fsck itself.
super.c: Instead of call ext2fs_get_device_size(), define and call
e2fsck_get_device_size(). (This function may be stubbed out in
special versions of e2fsck.)
pass3.c, pass4.c: Remove extra calls to the progress function that
weren't needed.
mke2fs.8.in: Update man page to note that the format of the bad block
file is the same as the one generated by badblocks.
/external/e2fsprogs/e2fsck/e2fsck.h
54be2ccc2251784fd771590a5e72827afd82df40 01-Feb-1998 Theodore Ts'o <tytso@mit.edu> ChangeLog, dirinfo.c, e2fsck.c, e2fsck.h, super.c:
dirinfo.c, e2fsck.c: Don't include com_err.h; it isn't needed.
e2fsck.h: Include <time.h> since it is needed
super.c: If EXT2_SKIP_UUID is defined, then skip the UUID processing.
/external/e2fsprogs/e2fsck/e2fsck.h
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/e2fsck.h
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/e2fsck.h
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/e2fsck.h
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/e2fsck.h
b2da22d14b6ac5aa5080c39cab46b4aa4178f90f 20-Oct-1997 Theodore Ts'o <tytso@mit.edu> ChangeLog, e2fsck.h, super.c:
super.c: Remove excess #includes which are not necessary.
e2fsck.h: Add #ifdef's for HAVE_SYS_TYPES_H and HAVE_SYS_TIME_H
/external/e2fsprogs/e2fsck/e2fsck.h
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/e2fsck.h
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/e2fsck.h
521e36857227b21e7ab47b0a97f788d2af9f9717 29-Apr-1997 Theodore Ts'o <tytso@mit.edu> Many files:
Checked in e2fsprogs 1.08.
/external/e2fsprogs/e2fsck/e2fsck.h
21c84b71e205b5ab13f14343da5645dcc985856d 29-Apr-1997 Theodore Ts'o <tytso@mit.edu> Many files:
Checked in e2fsprogs-1.07
/external/e2fsprogs/e2fsck/e2fsck.h
1e3472c5f37ca3686dd69b079d4d02a302f5798d 29-Apr-1997 Theodore Ts'o <tytso@mit.edu> Many files:
Checked in e2fsprogs 1.05
/external/e2fsprogs/e2fsck/e2fsck.h
74becf3c0a065f8d64e07ce4d31f9fe53be91d62 26-Apr-1997 Theodore Ts'o <tytso@mit.edu> Many files:
Checkin of e2fsprogs 1.02.
/external/e2fsprogs/e2fsck/e2fsck.h
50e1e10fa0ac12a3e2a9d20a75ee9041873cda96 26-Apr-1997 Theodore Ts'o <tytso@mit.edu> Many files:
Checked in e2fsprogs 0.5c
/external/e2fsprogs/e2fsck/e2fsck.h
f3db3566b5e1342e49dffc5ec3f418a838584194 26-Apr-1997 Theodore Ts'o <tytso@mit.edu> Many files:
Checkin of e2fsprogs 0.5b
/external/e2fsprogs/e2fsck/e2fsck.h
3839e65723771b85975f4263102dd3ceec4523c0 26-Apr-1997 Theodore Ts'o <tytso@mit.edu> Many files:
Checkin of e2fsprogs 0.5b
/external/e2fsprogs/e2fsck/e2fsck.h