History log of /external/e2fsprogs/e2fsck/unix.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/unix.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/unix.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/unix.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/unix.c
45ff69ffeb700012a7c052f5e45882557a40be7e 16-Dec-2013 Andreas Dilger <adilger@dilger.ca> build: quiet LLVM non-literal string format warning

Compiling with LLVM generates a large number of warnings due
to the use of _() for wrapping strings for i18n:

warning: format string is not a string literal
(potentially insecure) [-Wformat-security]
./nls-enable.h:4:14: note: expanded from macro '_'
#define _(a) (gettext (a))
^~~~~~~~~~~~

These warnings are fixed by using "%s" as the format string,
and then _() is used as the string argument.

Signed-off-by: Andreas Dilger <adilger@dilger.ca>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
f0131bdc6ff2b349e84e4767d9fe8b078a0ee521 12-Dec-2013 Darrick J. Wong <darrick.wong@oracle.com> e2fsck: fix memory leaks (on error path)

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
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/unix.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/unix.c
a046da5963649663933cf16d54ca2a892cc1a560 08-Jan-2013 Nickolai Zeldovich <nickolai@csail.mit.edu> e2fsck: avoid memory corruption on ext2fs_open2 failure

In try_open_fs(), if ext2fs_open2() returns an error, do not try to
access the struct ext2_filesys. The previous check 'if (ret_fs)' was
always true, but even 'if (*ret_fs)' might be incorrect in some cases,
so check 'retval==0' instead.

Signed-off-by: Nickolai Zeldovich <nickolai@csail.mit.edu>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.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/unix.c
1d6fd6d0c3766a8165e69284c75812574a29c804 29-Nov-2012 Andreas Dilger <adilger@dilger.ca> misc: cleanup unused variables on MacOS

Clean up unused variables found by GCC on MacOS.

Signed-off-by: Andreas Dilger <adilger@dilger.ca>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
87e56a995c303d84d9c5ca5bff1bd35e66956e8a 30-Jul-2012 Theodore Ts'o <tytso@mit.edu> e2fsck: print the number of blocks and inodes in the verbose statistics

In addition to the free blocks and free inodes, also print the number
of blocks and inodes in the verbose statistics.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
da0fa8f4988243ca1f1797338cbc09be894af1e0 30-Jul-2012 Theodore Ts'o <tytso@mit.edu> e2fsck: allow for bigger disks when printing verbose statistics

Disks have gotten bigger, so 8 digits might not be enough. Allow for
12 digits worth of blocks, which is more than enough for 3 petabytes.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
c0a849660d1aea86b9f3ff986aae7b705a059e3e 29-Jul-2012 Theodore Ts'o <tytso@mit.edu> e2fsck: add e2fsck.conf options for extra reporting

Add report_time, report_verbose, and report_features options to
e2fsck.conf which enable additional, more verbose reporting by e2fsck.
This is useful for large cloud installations where there are a large
number file systems being managed, and where it may not be obvious
from the e2fsck log files exactly how a particular file system is
configured.

The report_time and report_verbose options, which are the same as the
-tt and -v command line options, respectively, are useful because they
are options specific to e2fsck, and the fsck program does not have a
way of passing certain options only to a specific /sbin/fsck.<fstype>
program.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
78a0d2ba6decf41f541f6ff79433b2d23aad35e8 29-Jul-2012 Theodore Ts'o <tytso@mit.edu> e2fsck: check a file system mounted read-only if forced

Previously e2fsck would only allow a mounted file system to be checked
if it was the root file system and it was mounted read-only. Now
allow any file system mounted read-only if the -f option is specified.

This makes it easier to test how e2fsck handles checking file systems
which are mounted without having to test on the root file system.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
a85f83503a6eabeed6913520c97f49877dc2a366 29-Jul-2012 Theodore Ts'o <tytso@mit.edu> Revert "e2fsck: Skip journal checks if the fs is mounted and doesn't need recovery"

This reverts commit 47c1b8e16668daa6e74cee3c7b8bdf237ffefe70.

The original reason for this commit was to speed up boots for hard
drives. However, I've measured the time difference on a 1TB laptop
drive, and it's not significant: 70ms vs 10ms when running e2fsck on a
clean file system.

The problem with this optimization is that we don't notice if the
journal superblock has a non-zero s_errno field. If we don't transfer
the error indicator from the journal superblock to the file system
superblock, then the kernel will transfer it when the file system is
remounted read-write, causing scary messages to appear in the syslog.
(And since there was a bug in the kernel code which didn't clear the
error indicator in the journal superblock, it would never get
cleared.)

Reported-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
cd5bb7c87b1891e21c095b3ecd549ef44a067c08 31-May-2012 Andreas Dilger <adilger@whamcloud.com> e2fsck: allow checking on mounted root fs

Commit 732e26b98e5c79a4298dbe341f43b54b354bb241 added checks to
prevent e2fsck from being run in filesystem-modifying mode against
a mounted or otherwise busy device, due to several bug reports of
users doing this even with the verbose warnings in check_mount().

However, it also prevented e2fsck from checking a mounted root
filesystem, which will prevent the node from booting. Once again
allow e2fsck to run against the mounted root filesystem if it is
also mounted read-only at the time.

Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
732e26b98e5c79a4298dbe341f43b54b354bb241 24-May-2012 Andreas Dilger <adilger@whamcloud.com> e2fsck: fix checks done for mounted vs. read-only

Currently, if e2fsck is run without the "-n" flag (i.e. it
might modify the filesystem), there is no guarantee that it will
open the filesystem with the EXCLUSIVE flag (i.e. O_EXCL) to
prevent the block device from being checked (in most cases this
means mounted, but it could also be an MD/LVM member device).

Conversely, if e2fsck is run with "-n" (i.e. read-only), and
/etc/mtab or /proc/mounts does not report the block device as
mounted then e2fsck thinks the filesystem is unmounted. In this
case, e2fsck incorrectly sets the EXCLUSIVE flag, which causes
the check to fail, even though e2fsck is running read-only.

To fix this, do not open with EXCLUSIVE if it is a read-only check,
and always open with EXCLUSIVE if the filesystem might be changed.
This also prevents filesystem mounts while e2fsck is running.

Also refuse allow e2fsck to run at all if the filesystem is BUSY.
The e2fsck check_mount() was checking for MOUNTED, but not BUSY,
and it should refuse to run outright if the block device is BUSY.
The previous MOUNTED heuristics pre-date the O_EXCL reservation
by the kernel, so there could be uncertainty due to stale /etc/mtab
data, but with newer kernels a busy device should never be modified.

Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
7943ccf5f2fa76f1dc164ddd1ffd5044a1dca31a 24-Apr-2012 Aditya Kali <adityakali@google.com> e2fsck,libquota: Update quota only if its inconsistent

Currently fsck recomputes quotas and overwrites quota files
whenever its run. This causes unnecessary modification of
filesystem even when quotas were never inconsistent. We also
lose the limits information because of this. With this patch,
e2fsck compares the computed quotas to the on-disk quotas
(while updating the in-memory limits) and writes out the
quota inode only if it is inconsistent.

Signed-off-by: Aditya Kali <adityakali@google.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
b24efa218794b567c27ad99db319b4bd5d696958 06-Apr-2012 Theodore Ts'o <tytso@mit.edu> Don't assume that the presence of mntent.h means that setmntent() exists

Change autoconf to test for setmntent() and use that to decide whether
to use getmntent() and setmntent(), since some systems don't have
setmntent() but they do have the mntent.h header file.

Also, remove the includes of mntent.h from e2fsck and mke2fs and other
places where it is not needed.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.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/unix.c
010c49cf499738c7a06de13077f31f2a12ecadeb 22-Mar-2012 Theodore Ts'o <tytso@mit.edu> e2fsck: report ext2fs_open2() and ext2fs_check_desc() errors

Print the actual errors returned by ext2fs_open2() and
ext2fs_check_desc() before we fall back to the backup block group
descriptors so that it's easier to see if there is some obscure
failure that is causing e2fsck to think that it should use the backup
block group descriptors.

Addresses-Google-Bug: #6208183

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
349b8a37c5077086f1cd57c6b1b13ec275af6a43 22-Mar-2012 Theodore Ts'o <tytso@mit.edu> e2fsck: avoid unnecessary close/reopen for non-MMP filesystems

For file systems that do not use MMP, there's no reason to close the
file system and then re-open the file system a second time, since
EXT2_FLAG_SKIP_MMP has no meaning for non-MMP file systems anyway.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Cc: Andreas Dilger <adilger@whamcloud.com>
/external/e2fsprogs/e2fsck/unix.c
41cec3498f5991c0e44d977d17fe7a85acc7010a 22-Mar-2012 Theodore Ts'o <tytso@mit.edu> e2fsck: abort if ext2fs_check_desc() returns a memory failure

We were checking for ENOMEM, but in fact if the malloc() fails,
ext2fs_check_desc() will return EXT2_ET_NO_MEMORY.

Addresses-Google-Bug: #6208183

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
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/unix.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/unix.c
ad880a0e2bb1bef11382b4f38d440529e4cbdc2e 21-Feb-2012 Theodore Ts'o <tytso@mit.edu> e2fsck: check new sysfs interface to determine if we are on battery

...since the old way is deprecated.

Addresses-SourceForge-Bug: #3439277

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.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/unix.c
a86d55da8bf41335aa2fc5ec16ca63859d918e81 14-Nov-2011 Aditya Kali <adityakali@google.com> libquota: cleanup libquota code

This patch cleans up the quota code as suggested in previous reviews. This
includes
* remove BUG_ON()s and 'exit()' calls from library code
* remove calls to malloc/free and instead use ext2fs_get/free_mem functions.
* lib/quota/common.c file in not needed anymore and is removed.
* rename exported functions to start with quota_
(ex: init_quota_context --> quota_init_context)
* better error handling in quota library

Signed-off-by: Aditya Kali <adityakali@google.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
3fcd8fe8acb269598390b35bbf6e4247d10bc64e 09-Oct-2011 Theodore Ts'o <tytso@mit.edu> Fix more spelling errors found by translators and add pluralization

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
9d4507c5b61007df968638623aa1b4c47dae6cf9 05-Oct-2011 Theodore Ts'o <tytso@mit.edu> Pass the gettext() function to libcom_err

For those e2fsprogs programs which use libcom_err and are
internationalized, pass the gettext() function to libcom_err during
program initialization.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
1660034c0a0c7199b0843909c756f8f9e42b85f5 30-Sep-2011 Darrick J. Wong <djwong@us.ibm.com> e2fsck: zero ctx->fs after freeing fs when restarting due to MMP

If MMP is enabled and e2fsck determines that it needs to restart
itself on account of various MMP conditions, it will close the current
fs and jump back to the start of fs checking. However, closing fs
also frees it, which means that we need to set ctx->fs to NULL to
prevent subsequent open code from accessing the old deleted pointer.

Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.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/unix.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/unix.c
fe65f1ecfc501b2470a20cfd9d07f4c9efa520d2 16-Sep-2011 Eric Sandeen <sandeen@redhat.com> e2fsprogs: Don't try to close an fd which is negative

These reflect either file descriptors which aren't tested
for failure, or closures of fd's which may have failed.

In setup_tdb(), test for failure of mkstemp and return
without trying to open the file (again).

In reserve_stdio_fds, rather than closing the "extra"
fd == 3 due to the way the loop is written, just
don't go that far by using while (fd <= 2).

In logsave, it forks and retries forever if open fails,
but at least make coverity happy by explicitly not
trying to close a negative file descriptor.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.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/unix.c
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/unix.c
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/unix.c
931b58e1cb2158c1f5218059cce92e94917ef485 11-Jun-2011 Andreas Dilger <adilger@whamcloud.com> ext2fs: Handle internal journal over 2^32 bytes

The write_journal_inode() code is only setting the low 32-bit i_size
for the journal size, even though it is possible to specify a journal
up to 10M blocks in size. Trying to create a journal larger than 2GB
will succeed, but an immediate e2fsck would fail. Store i_size_high
for the journal inode when creating it, and load it upon access.

Use s_jnl_blocks[15] to store the journal i_size_high backup. This
field is currently unused, as EXT2_N_BLOCKS is 15, so it is using
s_jnl_blocks[0..14], and i_size is in s_jnl_blocks[16].

Rename the "size" argument "num_blocks" for the journal creation functions
to clarify this parameter is in units of filesystem blocks and not bytes.

Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
b18c5fd51e829e5fb1a434604d4373409379744b 08-May-2011 Theodore Ts'o <tytso@mit.edu> Merge branch 'maint' into next
1760d167b2c0f91069a8b6e4a8fef1a5bc0f9ed1 08-May-2011 Theodore Ts'o <tytso@mit.edu> e2fsck: make the "fs is mounted; continue?" prompt more paranoid

A user received the "file system is mounted; do you really want to
continue" prompt, and then instead of typing "n" for no, forgot that
he hadn't declined to continuation question, and typed the up-arrow
key, which in his locale, the 'A' in "^[[A" was interpreted as "yes",
and he lost data.

This was clearly the user's fault, but to make e2fsck a bit safer
against user stupidity/carelessness, we will change the "fs is
mounted; continue?" prompt to default to no, and treat the escape
character (along with the return and space characters, currently) as a
request for the default answer.

Addresses-Debian-Bug: #619859
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
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/unix.c
b95ca92811e182c10150f8d2d08d6113af2abdf9 06-Dec-2010 Theodore Ts'o <tytso@mit.edu> e2fsck: Do blkid interpretation on the external journal specifier

If the user specifies "e2fsck -j UUID=XXX", e2fsck should do blkid
interpretation, since e2fsck does it with the base file system name.
So from the sake of consistency and user convenience, we should do it
here too.

Addresses-Debian-Bug: #559315

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.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/unix.c
9d92a201deec7bbb1911e6e5ee98abf3c83882d4 25-Sep-2010 Theodore Ts'o <tytso@mit.edu> Merge branch 'maint' into next

Conflicts:
configure
configure.in
lib/ext2fs/ext2fs.h
misc/mke2fs.c
32f66cc791f597a3522607b233cefc4f1e673fc1 08-Sep-2010 Jan Kara <jack@suse.cz> e2fsck: Improve error message when device name misspelled

When a device name is misspelled, we output the full text about specifying
alternate superblock. This is slightly misleading because when the device
cannot be open because of ENOENT, this certainly won't help. So just print
that device does not exist and exit.

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
db0bdb49f49fc3dd14c12439d934a3403a3be9f1 19-Jul-2010 Theodore Ts'o <tytso@mit.edu> Merge branch 'maint' into next

Conflicts:
resize/extent.c
22ff06d5f7a90914f7a90bae420e5be7d2e02ce3 05-Jul-2010 Theodore Ts'o <tytso@mit.edu> e2fsck: Add missing ext2fs_close() call when going back to original superblock

In the case where the original superblock and the backup superblock
are both invalid in some way, e2fsck will try to go back to the
orignal superblock. To do that, it must close the attempted open
using the backup superblock first (since otherwise the exclusive open
will prevent the subsequent open from succeding).

Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
993988f65527e5665181b3e4a6161f317e396489 25-Jun-2010 Theodore Ts'o <tytso@mit.edu> Add superblock fields which track first and most recent fs errors

Add superblock fields which track where and when the first and most
recent file system errors occured. These fields are displayed by
dumpe2fs and cleared by e2fsck.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.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/unix.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
2e6436d459307af8d6be6fb0da6ab24860d8e677 18-May-2010 Theodore Ts'o <tytso@mit.edu> e2fsck: Don't set the group descriptor checksums if the fsck was cancelled

It's a bad idea to set the checksums if e2fsck is aborted by the user,
and it often causes an error message, "Inode bitmap not loaded while
setting block group checksum info".

Addresses-Launchpad-Bug: #582035

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
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/unix.c
c5b23f6c0e17503630455fb16d1b2035f844acc9 15-Mar-2010 Theodore Ts'o <tytso@mit.edu> Merge branch 'maint' into next
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/unix.c
751265b0b49a5ff7c746d111a11bb883aa300841 13-Mar-2010 Theodore Ts'o <tytso@mit.edu> e2fsck: Make the "filesystem is mounted" message more scary

I guess the message wasn't scary enough for users who are just smart
enough to really get themselves in deep doo-doo. Let's make it even
scarier.

Addresses-Launchpad-Bug: #537483

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
298c9c2f2e7cbe4250d054d2e0f4bef007a940ac 13-Mar-2010 Theodore Ts'o <tytso@mit.edu> e2fsck: Make the -n always open the file system read-only

A user was surprised when -n -D caused the file system to be opened
read/write, and then outsmarted himself when e2fsck asked the question:

WARNING!!! Running e2fsck on a mounted filesystem may cause
SEVERE filesystem damage.

Do you really want to continue (y/n)?

This is partially our fault for not documenting the fact that -D
overrode opening the filesystem read-write. But the bottom line is it
much safer if -n *always* opens the file system read-only, so there
can be no confusion. This means that we have to disable certain
combination of options, such as "-n -c", "-n -l", and "-n -L", and
"-n -D", but the utility of these combinations is pretty low, and
is more than offset by making e2fsck idiot-proof.

Addresses-Launchpad-Bug: #537483

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.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/unix.c
82b59ca1ed0c2d6311f2e4b6e315d7ef82b62833 02-Sep-2009 Theodore Ts'o <tytso@mit.edu> e2fsck: Avoid scary failure messages on low-memory systems

On a very low-memory system, where ext2fs_check_desc() fails because
it can't allocate a block bitmap, catch this error and report it
immediate. This avoids something like this, which could scare and
mislead the user:

e2fsck: Group descriptors look bad... trying backup blocks...
Media was not cleanly unmounted, check forced.
Pass 1: Checking inodes, blocks, and sizes
Error allocating block bitmap (1): Memory allocation failed
e2fsck: aborted

Addresses-Debian-Bug: #509529

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
dc615a21c3c43cd9071926df2633d5b23e2e726b 07-Sep-2009 Theodore Ts'o <tytso@mit.edu> Merge branch 'maint' into next
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/unix.c
23f75f6efaac6b756e0f3e4e1d33b6798347f66a 15-Jun-2009 Theodore Ts'o <tytso@mit.edu> e2fsck: fix miscellaneous memory leaks

Fix various miscellaneous memory leaks which were discovered using valgrind.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
606638906a0229323d1b2871fdb0d45ea0e7ff62 29-May-2009 Theodore Ts'o <tytso@mit.edu> e2fsck: Go back to the original superblock if the backup sb is invalid

In the case where the block group descriptors appear corrupt, e2fsck
will try to use the backup superblock. However, it could be that the
backup superblock itself is completely corrupted, in which e2fsck
should go back to the original superblock instead of refusing to fix
the file system.

Addresses-Debian-Bug: #516820

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.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/unix.c
14c5af32f2fea57f558766ae9b32ce1d3675021b 18-May-2009 Andreas Dilger <adilger@sun.com> e2fsck: initialize error handling before journal replay

One of our customers hit a temporary IO error during an e2fsck run during
the read from the journal. It seems that the read error resulted in
e2fsck automatically discarding the journals and recreating them on several
filesystems on this node without any prompting from the user:

end_request: I/O error, dev sdg, sector 484832
Buffer I/O error on device sdg, logical block 60604
fsck-sdg[8276]: ls2-OST024c: Superblock has an invalid ext3 journal (inode 8).
fsck-sdg[8276]: CLEARED.
fsck-sdg[8276]: *** ext3 journal has been deleted - filesystem is now ext2
only ***
fsck-sdg[8276]: ls2-OST024c was not cleanly unmounted, check forced.
fsck-sdg[8276]: ls2-OST024c: Journal inode is not in use, but contains data.
CLEARED.
fsck-sdg[8276]: ls2-OST024c: Recreate journal to make the filesystem ext3
again?
fsck-sdg[8276]: FIXED.
fsck-sdg[8276]: Creating journal (32768 blocks): Done.
fsck-sdg[8276]:
fsck-sdg[8276]: *** journal has been re-created - filesystem is now ext3 again
***
fsck-sdg[8276]: ls2-OST024c: 39818/20183248 files (8.2% non-contiguous), 222122257/779902976 blocks
fsck-sdg[8276]: exit code 1 (file system errors corrected)

The following patch moves the e2fsck error handler initialization earlier
in the e2fsck startup code before the journal is processed, so that the
user will be prompted for an action. This is the first IO that is not
part of ext2fs_open() where fs->io is first initialized.

It doesn't seem possible to initialize the error handlers for the initial
filesystem open without changing the prototype for ext2fs_open2(). If we
are getting a new ext2fs_open3() prototype for 64-bit it might make sense
to add at least "read_error" as a parameter ("write_error" is not strictly
necessary for the open and could be set afterward).

Signed-off-by: Andreas Dilger <adilger@sun.com>
Signed-off-by: Jim Garlick <garlick@llnl.gov>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
47c1b8e16668daa6e74cee3c7b8bdf237ffefe70 28-Apr-2009 Theodore Ts'o <tytso@mit.edu> e2fsck: Skip journal checks if the fs is mounted and doesn't need recovery

If we are checking a mounted filesystem (typically the root
filesystem, mounted read/only) and the NEEDS_RECOVERY flag is not set,
skip all of the checks associated with making sure the journal is
consistent. There is the very slight possibility we could lose if the
NEEDS_RECOVERY flag was somehow cleared even though there was data in
the journal, but this has practically never happend in practice, and
it reduces the number of reads required at boot-time, which is a big
deal when trying to reduce boot times with HDD's.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
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/unix.c
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/unix.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/unix.c
52771ab59145d66b50399a8b953b8181cb2d5b04 09-Sep-2008 Theodore Ts'o <tytso@mit.edu> e2fsck: Fix e2fsck automatic blocksize detetion

This fixes a regression that was introduced in commit dcc91e10 (it
showed up first in e2fsprogs 1.40.7). Since we weren't freeing the
filesystem handle, ext2fs_open2() was returning EBUSY, and so this
caused a failure in the code that would automatically determine the
filesystem block size when only the superblock number was specified by
the user.

This was discussed in http://ubuntuforums.org/showthread.php?t=789323,
and Matthias Bannach pointed this out to me, for which I am very
grateful.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
f38cf3cb34addaa53d1f855d7607b151082a4229 01-Sep-2008 Theodore Ts'o <tytso@mit.edu> Only use the test_io manager if the right environment variables are set

In order to make it possible for the test_io manager to be compiled in
by default, make all of the programs that might try to use it to only
do so if the environment variables TEST_IO_FLAGS and TEST_IO_DEBUG are
set.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.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/unix.c
864b8d4eab6a8b38fa9f89ac1475ad364f5a40b8 25-Aug-2008 Andreas Dilger <adilger@sun.com> Fix miscellaneous compile warnings

Signed-off-by: Andreas Dilger <adilger@sun.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.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/unix.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/unix.c
ebabf2ad6d19af5c674b624bafe619dedbc94403 13-Jul-2008 Theodore Ts'o <tytso@mit.edu> Define _XOPEN_SOURCE to 600 consistently for Solaris C99 support

Solaris's header files are very picky about which C compiler can be
used for SUSv3 conformance. Use of C99 is not compatible with SUSv2
(_XOPEN_SOURCE=500), and C89 is not compatible with SUSv3
(_XOPEN_SOURCE=600). Since we need some SUSv3 functions, consistently
use SUSv3 so that e2fsprogs will build on Solaris using c99.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
68eb092dda44ea24d490085f6941e50eebfd674f 07-Jun-2008 Theodore Ts'o <tytso@mit.edu> e2fsck: Add better explanatory message when s_lastcheck is in the future

Addresses-Debian-Bug: #446005

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.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/unix.c
2930dad2b20fe4b04ee3e9f5c7a76d8bf63342b0 18-Apr-2008 Theodore Ts'o <tytso@mit.edu> Rename the feature uninit_groups to uninit_bg

Allow the old name of uninit_groups when converting feature names for
backwards compatibility for scripts running mke2fs and tune2fs.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
60dc00b28565ee09d1c93845237240f7d17ca075 07-Apr-2008 Theodore Ts'o <tytso@mit.edu> Merge branch 'maint'
bb0224a77161d49f76879066b4486e759f4e94f1 07-Apr-2008 Matthias Koenig <mkoenig@suse.de> e2fsck: avoid double free of ctx->filesystem_name

In current git there is a double free on ctx->filesystem_name in the
end of main() and in e2fsck_free_context, causing e2fsck to abort at
the end of pass5.

Signed-off-by: Matthias Koenig <mkoenig@suse.de>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
01c196b4f121cb77f50b9af2c54838aa4c6e06a0 30-Mar-2008 Eric Sandeen <sandeen@redhat.com> Fix a couple of implicit function declarations

Fedora seems to be gearing up to add
-Werror-implicit-function-declaration
to the standard build flags, so I thought I'd get out ahead
of this one...

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
f628acea2671dda839fc086f1017718e41e34eca 31-Mar-2008 Andreas Dilger <adilger@dilger.ca> ext2fs_set_gdt_csum(): Return an error code on errors instead of void

Change the function signature so that ext2fs_set_gdt_csum() returns an
error code.

If the inode bitmap hasn't been loaded return EXT2_ET_NO_INODE_BITMAP.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
a70f10dbc493c4eae488cadd8512e873220037d9 30-Mar-2008 Theodore Ts'o <tytso@mit.edu> Merge branch 'maint'
a2447f8c8aaaa4732b8ab950cb29699a1ff0d694 29-Mar-2008 Theodore Ts'o <tytso@mit.edu> e2fsck: Avoid core dump when using the -N option

This bug was accidentally introduced by commit 1dc506cb.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
1dc506cbe956419f0eafb8e84bae108ec2f0b2de 26-Mar-2008 Theodore Ts'o <tytso@mit.edu> e2fsck: Include the device name in the progress information

Also make sure the device name has no spaces in it, to avoid confusing
displays, and make ctx->filesystem_name and ctx->device_name allocated
memory to avoid potential problems in the future.

Addresses-Launchpad-Bug: #203323
Addresses-Sourceforge-Bug: #1926023

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
be62523be2307123886934f258cf36f4b33b1c38 26-Mar-2008 Theodore Ts'o <tytso@mit.edu> e2fsck: Support a negative argument to -C to suppress progress information

If a negative progress argument is given to -C, initially suppress the
progress information. It can be enabled later by sending the e2fsck
process a SIGUSR1 signal.

Addresses-Launchpad-Bug: #203323
Addresses-Sourceforge-Bug: #1926023

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.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/unix.c
a49670e64e28ac3b15e36cb6bd0a8135d3ecdbbb 28-Feb-2008 Theodore Ts'o <tytso@mit.edu> Merge branch 'maint'

Conflicts:

lib/blkid/devname.c
lib/blkid/probe.c
misc/mke2fs.c
misc/tune2fs.c
dcc91e1053c357efca35e0d5674aa78989ee44bf 27-Feb-2008 Theodore Ts'o <tytso@mit.edu> Enhance e2fsck's reporting for reporting unsupported filesystem features

Addresses-Sourceforge-Feature-Request: #1175808

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
ef80fdc8ad014c55e601018f4f6ec22065c37030 10-Feb-2008 Theodore Ts'o <tytso@mit.edu> Merge branch 'maint' into next
414025e542d66a34e164286e783143cb256dd75e 31-Jan-2008 Theodore Ts'o <tytso@mit.edu> Fix bug in e2fsck which caused it to core dump if --enable-jbd-debug is used

Missing curly braces from a python programmer; my bad for noticing it!

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
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/unix.c
0cfce7f749ea519522929d91e705cf90518594c4 06-Oct-2007 Theodore Ts'o <tytso@mit.edu> e2fsck: update the backup superblocks if the feature bitmasks are changed

If e2fsck adds or deletes any of the feature bitmasks, clear
EXT2_FLAG_MASTER_SB_ONLY so the backup superblocks are updated when
e2fsck finishes.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
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/unix.c
cd538080ab6e4bf64886b42f0bfa2fa47d44d20d 07-Sep-2007 Theodore Ts'o <tytso@mit.edu> e2fsck: If the superblock is corrupt, automatically retry with the backup sb

E2fsck currently only retries with the backup superblock if the
primary superblock is missing (e.g., overwritten with garbage). If
the superblock is just corrupted enough that it looks like ext2/3/4
superblock, but it is corrupt enough that ext2fs_open2() returns an
error, e2fsck stops without retrying. Let's fix this oversight.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
e9e9602246e4a0ece7a07beceae63346b0d75801 21-Aug-2007 Theodore Ts'o <tytso@mit.edu> Merge branch 'maint'
5845caa464d51e1dceeb6282c3a00957ae435de1 21-Aug-2007 Theodore Ts'o <tytso@mit.edu> Use sscanf instead of atoi when parsing e2fsck options

atoi() does not check for errors so it shouldn't be used for human
input. For example, if the user enters the command "e2fsck -C -n" and
forgets that -C requires an argument, the -n will be used as the
argument to -C, and not parsed as an option. When using sscanf(),
this error case can be detected.

Addresses-Debian-Bug: #435381

Signed-off-by: Bernd Schubert <bs@q-leap.de>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
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/unix.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/unix.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/unix.c
df361363011a1d68e78e31c0f10e9606a79cdb12 21-Jun-2007 Theodore Ts'o <tytso@mit.edu> Fix gcc -Wall bug in e2fsck

Remove extraneous return after fatal_error().

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
5107d0d196b9c51cf18380b6996b1074afe51df2 21-Jun-2007 Kalpak Shah <kalpak@clusterfs.com> Recreate journal that had been removed previously due to corruption

If the journal had been removed because it was corrupt, the
E2F_FLAG_JOURNAL_INODE flag will be set. If this flag is set, then
recreate the filesystem after checking the filesystem.

Signed-off-by: Kalpak Shah <kalpak@clusterfs.com>
Signed-off-by: Andreas Dilger <adilger@clusterfs.com>
/external/e2fsprogs/e2fsck/unix.c
058ad1c70c9a097d282270c6f76d3c3493e15fe2 19-Jun-2007 Theodore Ts'o <tytso@mit.edu> Don't write changes to the backup superblocks by default

This patch changes ext2fs_open() to set EXT2_FLAG_MASTER_SB_ONLY by
default. This avoids some problems in e2fsck (reported by Jim Garlick)
where a corrupt journal can end up writing the bad superblock to the
backups. In general, only e2fsck (after the filesystem is clean),
tune2fs, and resize2fs should change the backup superblocks by default.
Most callers of ext2fs_open() should not be touching anything where the
backups should be touched. So let's change the defaults to avoid
potential problems.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
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/unix.c
cae542ce8e79403d9b3c0df4e4b7b75d03f996b6 28-Mar-2007 Brian Behlendorf <behlendorf1@llnl.gov> [COVERITY] Fix memory leak when parsing extended options in e2fsck

Coverity ID: 35: Resource Leak

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
/external/e2fsprogs/e2fsck/unix.c
a6d8302b4873527798a77c1ba3106a04b71dfeac 26-Dec-2006 Theodore Ts'o <tytso@mit.edu> Use the newer add/remove_error_table com_err interfaces

Change all of the e2fsprogs programs to use the newer add_error_table()
and remove_error_table() interfaces instead of the much older
initialize_*_error_table() function.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.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/unix.c
f335864338a6fbce8134a445ffdd0cdeb3f3f1bc 12-Sep-2006 Eric Sandeen <esandeen@redhat.com> Add checks to make sure inode counts don't overflow a 32-bit value

Signed-off-by: Eric Sandeen <esandeen@redhat.com>
/external/e2fsprogs/e2fsck/unix.c
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/unix.c
abcfdfda7a5932cbb27ff243ed962119db2599a4 10-Jun-2006 Matthias Andree <matthias.andree@gmx.de> Read mke2fs.conf and e2fsck.conf from root_sysconfdir rather than harcoded /etc.
/external/e2fsprogs/e2fsck/unix.c
8deb80a5d1078cbe43eaffcdeebf0a1a549d6a54 19-Mar-2006 Takashi Sato <sho@tnes.nec.co.jp> Fix format statements to make e2fsprogs programs 32-bit clean

Change the format string(%d, %ld) for a block number and inode number
to %u or %lu.

Signed-off-by: Takashi Sato <sho@tnes.nec.co.jp>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
2e14e0c8cc5bc61ffacd380a981808194e9c7f84 19-Mar-2006 Theodore Ts'o <tytso@mit.edu> Change e2fsck to open non-mounted filesystems in exclusive mode

Thanks to Andreas Dilger for this idea. If the filesystem is not mounted,
e2fsck will open it in exclusive mode to prevent the a confused/careless
system administrator from mounting the filesystem while the filesystem
check is taking place, which could cause all sorts of problems.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
a5f37a9b25191421e08bfd909e14b533333cf367 29-Jan-2006 Theodore Ts'o <tytso@mit.edu> Add a config option which controls whether fs checks are skipped when on battery

Whether fs checks are skipped when the system is running on battery can be
controlled by the new e2fsck.conf option defer_check_on_battery (this option
defaults to TRUE).

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
bc3392c389849f86e1c9abcef4055ad58bf96547 29-Jan-2006 Theodore Ts'o <tytso@mit.edu> Print an explanation when skipping a check due being on battery

On Sat, Jan 28, 2006 at 12:53:33PM -0600, Fredrick Knieper wrote:
> Package: e2fsprogs
> Version: 1.38+1.39-WIP-2005.12.31-1
>
> When running fsck at boot or when running e2fsck manually on a device,
> fsck will not check a filesystem based on the maximum mount count,
> unless a flag such as -f or -c is used to force the filesystem check.

What's happening is that when you run on battery, e2fsck will delay
running the filesystem check, on the assumption that it is better to
defer the check until some time in the future when your laptop is
running on AC mains again. This deferral is not infinite, however; if
the number of mounts exceeds twice the max mount counts, or if the
interval between checks exceeds twice the check interval, e2fsck will
force the check even though you are on battery.

I've changed the sources to print a message to make this more clear.

Addresses Debian Bug: #350306

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
f5f14fcfe9eba0282a3dfe5600364bbf797dcfc3 04-Jan-2006 Theodore Ts'o <tytso@mit.edu> Add syntax error reporting to the profile library

E2fsck will now report syntax errors in /etc/e2fsck.conf intead of simply
ignoring the config file when there are errors.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
5dd2a6e08d0e65cde6444744a93ed4eb90b400c4 31-Dec-2005 Theodore Ts'o <tytso@mit.edu> Add E2FSCK_CONFIG environment variable

Also, use this environtment variable to make sure that a local
/etc/e2fsck.conf file will not interfere with the regression test
suite.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
eb065ccf181d49cd1a3709bf607c25d07a6322f1 31-Dec-2005 Theodore Ts'o <tytso@mit.edu> Add allow_cancellation config option

If the e2fsck configuration file sets the allow_cancellation option to be
true, then if the filesystem does not have any known problems, and was
known to be cleanly unmounted, then let e2fsck exit with a status code of 0
instead of 32 (FSCK_CANCELED) so that the bootup scripts will continue
without stopping the boot. (Addresses Debian Bug: #150295)

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
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/unix.c
ae1182cb8442c73e561290fbf79fd52346703987 10-Dec-2005 Theodore Ts'o <tytso@mit.edu> Make e2fsck -cc warn on a read-only root filesystem

Don't let the user run e2fsck -ccn on the root partition, without warning
that he or she might be doing something Really Stupid.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
f4b6d2a039fd443f1f2373f071ca281eb3029018 09-Dec-2005 Theodore Ts'o <tytso@mit.edu> Fix typo in e2fsck error message.

Thanks to Solar Designer for pointing out the missing preposition.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
8dceb92407f751d1a8aecd4bfb36d1fe2dc3cf9a 25-Sep-2005 Theodore Ts'o <tytso@mit.edu> E2fsck: fix future times in the superblock's last mount or last write fields

Detect if the superblock's last mount field or last write field is in
the future, and offer to fix if so. (Addresses Debian Bug #327580)

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
b28a6e96af53338c303e0f25e28ea02705a1d680 25-Jul-2005 Theodore Ts'o <tytso@mit.edu> Fix use-after-free bug of e2fsck context structure.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/e2fsck/unix.c
bb145b01cf5fd27d9afe03c3262d0e1a326e7ec1 20-Jun-2005 Theodore Ts'o <tytso@mit.edu> Fix e2fsprogs messages for grammar and consistency, based on suggestions
from Benno Schulenberg.

Add missing _() so all strings can be internationalized.
/external/e2fsprogs/e2fsck/unix.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/unix.c
550a4afa24be35976edffe578555de30e06c456a 25-Jan-2005 Theodore Ts'o <tytso@mit.edu> E2fsck will now check the individual block group inode and block free counts,
as well as the filesystem-wide inode and block free counts. If any of the
free counts is too large, force a full filesystem check. (Addresses
Debian Bug #291571)
/external/e2fsprogs/e2fsck/unix.c
9214dccbfb39a72bd406f8476e5c7e87ea1a815e 19-Jan-2005 Theodore Ts'o <tytso@mit.edu> Miscellaneous gcc -Wall cleanups. Use fixed rather than floating point
math to avoid rounding issues.
/external/e2fsprogs/e2fsck/unix.c
ecd0d8fe2a5948d9676e3c4e3a7bd0569322b056 17-Jan-2005 Theodore Ts'o <tytso@mit.edu> Clean up Matthais's "fix crash when /proc/acpi/ac_acapter is not present"
patch.
/external/e2fsprogs/e2fsck/unix.c
4b13704cbec7249ba223608143026142b8729318 13-Jan-2005 Matthias Andree <matthias.andree@gmx.de> Fix crash when /proc/acpi/ac_adapter/ is not present, for instance,
on pre-ACPI and non-Linux systems.
/external/e2fsprogs/e2fsck/unix.c
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/unix.c
66fbee8cbbe88e5e14ea98a67c220e6f8ff5deba 05-May-2004 Theodore Ts'o <tytso@mit.edu> unix.c (check_if_skip): If the checkinterval is zero, then
disregard it when calculating when the next check will
take place by e2fsck.
/external/e2fsprogs/e2fsck/unix.c
c07f9f26392ac006a986d4c7488719000614ca64 12-Apr-2004 Theodore Ts'o <tytso@mit.edu> In e2fsck, when trying to determine if the system is running on
battery, be more flexible about the name of the ACPI device that
corresponds to the AC adapter. (Addresses Debian bug #242136)
/external/e2fsprogs/e2fsck/unix.c
bc69f82db85cd99d4f34fb9c8b75174b304973f8 27-Feb-2004 Theodore Ts'o <tytso@mit.edu> Add missing break statement so e2fsck -k actually works.
(Addresses Debian Bug #234993)
/external/e2fsprogs/e2fsck/unix.c
4fb9d52ba616619be3d03847f8ccc33e954aa055 24-Feb-2004 Theodore Ts'o <tytso@mit.edu> unix.c (main, PRS), e2fsck.8.in: Add a new -k option which keeps
the existing badblocks list when using the -c option.
(Addresses Debian bug #229103)
/external/e2fsprogs/e2fsck/unix.c
544349270e4c74a6feb971123884a8cf5052a7ee 07-Dec-2003 Theodore Ts'o <tytso@mit.edu> Fix gcc -Wall nitpicks
/external/e2fsprogs/e2fsck/unix.c
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/unix.c
015b03df7d2bae2c8dc1db31b8159ea896ccfc37 21-Nov-2003 Theodore Ts'o <tytso@mit.edu> In e2fsck, given an extra grace period before actually forcing
a filesystem check if a laptop system reports it is running on
battery. This way the laptop will be biased to waiting until
it is on AC power before doing a filesystem check. (Addresses
Debian bug #205177)
/external/e2fsprogs/e2fsck/unix.c
6de289cb103b1fff1a5f1f253da73612aa8429c9 21-Nov-2003 Theodore Ts'o <tytso@mit.edu> In e2fsck, if the number of mounts until the next forced filesystem
check is 5 or less, mention this to the user. (Addresses
Debian bug #157194)
/external/e2fsprogs/e2fsck/unix.c
817e49e3ce0a70252113438440fc12607140d032 21-Nov-2003 Theodore Ts'o <tytso@mit.edu> Check the returned name from blkid_get_devname in tune2fs and
e2fsck, and print an error if the requested LABEL/UUID does
not exist (previously, we core dumped!)
/external/e2fsprogs/e2fsck/unix.c
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/unix.c
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/unix.c
2a29f1354f793557fa1829c9e85e74586e2907db 05-May-2003 Theodore Ts'o <tytso@mit.edu> Add --enable-test-io-debug configure option which causes e2fsck and
tune2fs to use the test I/O manager.

The test I/O manager has been changed to not do anything extra by
default, unless the TEST_IO_FLAGS and/or TEST_IO_BLOCK environment
variables are set, which controls what I/O operations are logged and
a block number to watch, respectively. The log messages are sent to
stderr by default, unless a filename is specified via the
TEST_IO_LOGFILE environment variable.
/external/e2fsprogs/e2fsck/unix.c
ddc32a045bd3bd35968ace2dbe22179470baec0b 04-May-2003 Theodore Ts'o <tytso@mit.edu> Add Czech translation.

Remove "NYC" translation. Add Czech translation from Miloslav
Trmac <mitr@volny.cz>

Random NLS and other display fixes from Miloslav.
/external/e2fsprogs/e2fsck/unix.c
520ead378ec5ddef828a8d206434cc3a444b2e9e 19-Apr-2003 Theodore Ts'o <tytso@mit.edu> Fix gcc -Wall warnings.
/external/e2fsprogs/e2fsck/unix.c
908b785c3f8e1f9dcfcb7b39e5e879d98e36a2ad 16-Apr-2003 Theodore Ts'o <tytso@mit.edu> Use setvbuf instead of setbuf to force stdout and
stderr to be non-buffered when the stdout/stderr are a pipe.
This fixes a cosmetic problem when using e2fsck under logsave.
/external/e2fsprogs/e2fsck/unix.c
bc34d6be65cb93a65451ad209cfea2f98b03fd22 16-Apr-2003 Theodore Ts'o <tytso@mit.edu> * Add support for the -a and -s options to logsave.
* Change e2fsck to bracket its progress bar output with ctrl-A and ctrl-B
characters, so that logsave -s can omit writing the progress bar output
to the log file.
/external/e2fsprogs/e2fsck/unix.c
fff45483ede7fe38a31b3364a9c07e2418776dee 13-Apr-2003 Theodore Ts'o <tytso@mit.edu> Add portability enhancements for Cygwin32 environment.
/external/e2fsprogs/e2fsck/unix.c
e71d87317ac095fa08079f0cc9040da16952eb93 14-Mar-2003 Theodore Ts'o <tytso@mit.edu> Add Apple/Darwin patches.
/external/e2fsprogs/e2fsck/unix.c
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/unix.c
f364093b1956def0b0f1d037852cbb645284d5f2 02-Mar-2003 Theodore Ts'o <tytso@mit.edu> Update debugfs and e2fsck to use the blkid library.
/external/e2fsprogs/e2fsck/unix.c
19445ef9702720ad6e4d6dc1ec876212c8a88a49 30-Jan-2003 Theodore Ts'o <tytso@mit.edu> Fixed up minor documentation issues (man page for badblocks and usage
message for e2fsck).
/external/e2fsprogs/e2fsck/unix.c
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/unix.c
8161a7484f47f12e562080a1312a4db9d2f71b40 02-Jan-2003 Theodore Ts'o <tytso@mit.edu> Print an error if more than one of the -p/-a, -n or -y options
are passed to e2fsck.
/external/e2fsprogs/e2fsck/unix.c
c1637bd371bc4eb387443752a74e68142d609690 08-Nov-2002 Theodore Ts'o <tytso@mit.edu> unix.c (main): Fix a bug where e2fsck could erroneously mark a
filesystem as being valid if it was being checked and it
is interrupted with a ^C. (Bug introduced in e2fsprogs
1.28.)
/external/e2fsprogs/e2fsck/unix.c
5e72cdbeb9cfe32ddff1293cc672dcf66f4f2d5b 08-Nov-2002 Theodore Ts'o <tytso@mit.edu> unix.c (PRS), journal.c: Set the default level of journal
debugging to be 0, and allow the user to set the level of
journal debugging by using the E2FSCK_JBD_DEBUG
environment variable.
/external/e2fsprogs/e2fsck/unix.c
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/unix.c
4fd6834c685246770c044f979626618d02cb337d 01-Nov-2002 Theodore Ts'o <tytso@mit.edu> unix.c (usage), e2fsck.8.in: Add the -D option to the usage and
command synopsis. (Addresses Debian bug #167108)
(missed this file in the previous checkin)
/external/e2fsprogs/e2fsck/unix.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/unix.c
e70ae99e077f5085c15a4526028e2aac0e91d7c1 28-Sep-2002 Theodore Ts'o <tytso@mit.edu> Add a more sophisticated algorithm to e2fsck to salvage corrupted
directories.

Speed up e2fsck slightly by only updating the master superblock;
there is no point to update the backup superblocks.

Fix a small bug in the rehashing code which could leave the indexed
flag set even after the directory was compressed instead of indexed.
(Not fatal, since the kernel will deal with this, but technically
it filesystem isn't consistent, and the filesystem will be marked
as being in error when the kernel comes across the directory. It
should also never happen in real life, since directories that small
will never be indexed, but better safe than sorry.)

Also change the threshold of when directories are indexed, so that
directories of size 2 blocks will be indexed. Otherwise they will
never be indexed by the kernel when they grow.
/external/e2fsprogs/e2fsck/unix.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/unix.c
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/unix.c
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/unix.c
8fdc9985c1e2a4467630b33719b7feb281b7b33b 26-Jun-2002 Theodore Ts'o <tytso@mit.edu> Add initial support for htree directories.
/external/e2fsprogs/e2fsck/unix.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/unix.c
f2d5c937034e6c07391549ef6d46b2c8db086c85 07-Mar-2002 Theodore Ts'o <tytso@mit.edu> Fixed the journal handling so that an offer is made to clear the
journal filesystem in all cases.

Fixed a bug in e2fsck which caused it to give spurious I/O manager
bad messages right before crashes.
/external/e2fsprogs/e2fsck/unix.c
14308a5398984842e808faa3ff2dd6a1c52d90bd 05-Mar-2002 Theodore Ts'o <tytso@mit.edu> Newer libintl needs LC_CTYPE to be set in addition to LC_MESSAGES.
/external/e2fsprogs/e2fsck/unix.c
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/unix.c
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/unix.c
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/unix.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/unix.c
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/unix.c
0f8973fb092a40fd0a11b7ec95c09128c9fb8f0c 27-Aug-2001 Theodore Ts'o <tytso@mit.edu> Remove EXT2FS_VERSION from the version display, since it
only confuses people.

Make fsck's version display be consistent with the other e2fsprogs
programs.
/external/e2fsprogs/e2fsck/unix.c
2b94c658c7270d99343d2f4aa3561c09e819b280 09-Aug-2001 Theodore Ts'o <tytso@mit.edu> unix.c (show_stats): Print the number of large files in verbose mode.
/external/e2fsprogs/e2fsck/unix.c
83e6ac84c7784ba66eaf5d4998bad2f26d1519ed 30-Jul-2001 Theodore Ts'o <tytso@mit.edu> unix.c (check_mount): Remove the code in e2fsck which tested for the
root filesystem being mounted read-only, and depend on the
results flags from ext2fs_check_if_mounted.
/external/e2fsprogs/e2fsck/unix.c
0628ae3948d5a7d0945411add9091d07ff2b3f41 29-Jul-2001 Theodore Ts'o <tytso@mit.edu> unix.c (main): Move the final print_resource_track call after
the filesystem and context handle are closed
/external/e2fsprogs/e2fsck/unix.c
6d222f3217b11c9b27f92b4aafe47bfeb59b81fa 29-Jul-2001 Theodore Ts'o <tytso@mit.edu> Fix memory leaks in e2fsck's journal.c, and remove some cases
which look like memory leaks in unix.c so we can more easily find
the true memory leaks.
/external/e2fsprogs/e2fsck/unix.c
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/unix.c
d312401961666db8a5cb4b3fc71d85d73ac6bf67 20-Jul-2001 Theodore Ts'o <tytso@mit.edu> unix.c (main): Add an explicit warning when the filesystem is left not
completely fixed when e2fsck exits. (Addresses Debian bug #104502.)
/external/e2fsprogs/e2fsck/unix.c
636a954a308aec91cf644f566d3e8a794a5dd8cb 29-Jun-2001 Theodore Ts'o <tytso@mit.edu> Use long long to calculate the percentage
of the number of blocks in use in the filesystem.
/external/e2fsprogs/e2fsck/unix.c
b6a0807b088e12777609728bb3f80490db58f8aa 14-Jun-2001 Theodore Ts'o <tytso@mit.edu> ChangeLog, unix.c:
unix.c (check_if_skip): Adapted patch from Andreas Dilger which prints
the number of mounts or days elapsed since the last check when e2fsck
is forced to check an otherwise clean filesystem.
/external/e2fsprogs/e2fsck/unix.c
5df55d7f847e29d23227592a0bb23daad1a61500 11-Jun-2001 Theodore Ts'o <tytso@mit.edu> ChangeLog, Makefile.in, swapfs.c, unix.c:
Makefile.in: Add message.c and swapfs.c to the list of source files to
build the make depend.
swapfs.c, unix.c: Only support the -s and -S options to e2fsck if
ENABLE_SWAPFS is defined.
Many files:
ext2fs.h, bitops.h, block.c, bmap.c, closefs.c, dirblock.c, inode.c,
native.c, openfs.c, rw_bitmaps.c, swapfs.c: Only include the
byte-swapping logic if ENABLE_SWAPFS is turned on or if we're on a
big-endian machine.
initialize.c (ext2fs_initialize):Use WORDS_BIGENDIAN directly to set
EXT2_FLAG_SWAP_BYTES, instead of using ext2fs_native_flag.
native.c (ext2fs_native_flag): Use WORDS_BIGENDIAN provided by
autoconf to determine whether or not return EXT2_FLAG_SWAP_BYTES.
/external/e2fsprogs/e2fsck/unix.c
fc9a69ca37cb5b4f77a9cfcd0f4458a981208c5d 12-May-2001 Theodore Ts'o <tytso@mit.edu> ChangeLog, unix.c:
unix.c (PRS): Skip validation of -C's file descriptor if it is zero,
since that is special case.
/external/e2fsprogs/e2fsck/unix.c
ae8160e6921437b3a88adca505f0b56008c519b1 01-May-2001 Theodore Ts'o <tytso@mit.edu> ChangeLog, unix.c:
unix.c (PRS): Validate the completion information file descriptor so
that the completion bar won't get accidentally written onto the disk.
/external/e2fsprogs/e2fsck/unix.c
bc57f15390184c78524a46b19c69612ed61aa97b 26-Apr-2001 Theodore Ts'o <tytso@mit.edu> ChangeLog, unix.c:
unix.c (check_if_skip): If the max_mount_count is zero, treat it as
having no count set.
/external/e2fsprogs/e2fsck/unix.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/unix.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/unix.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/unix.c
9b5657591b1db9b82fe433f3f90e496f3df6a851 13-Dec-2000 Theodore Ts'o <tytso@mit.edu> ChangeLog, super.c:
super.c (release_orphan_inodes): Fix spelling typo in error message.
ChangeLog, unix.c:
unix.c (main): Clarify coments (no code changes)
ChangeLog, journal.c:
journal.c (e2fsck_check_ext3_journal): Check to make sure the journal
fields are consistent if any of the superblock fields are set. (Backs
out erroneous change made by sct, pointed out by Andreas.)
/external/e2fsprogs/e2fsck/unix.c
2575fb04439938a9ca3e34d06409cca378d84357 22-Aug-2000 Theodore Ts'o <tytso@mit.edu> ChangeLog, unix.c:
unix.c (main): If we're doing a read-only check, skip the journal
playback, but don't abort the e2fsck run.
/external/e2fsprogs/e2fsck/unix.c
243dc31f486f97e90845f389693b46b19d087f50 22-Aug-2000 Theodore Ts'o <tytso@mit.edu> ChangeLog, unix.c:
unix.c: Use fatal_error() instead of exit() whenever possible. Also
fix the fsck exit codes so that we use FSCK_USAGE when it is
appropriate. Rename global_signal_ctx to e2fsck_global_ctx and let it
be exported globally.
/external/e2fsprogs/e2fsck/unix.c
80bfaa3e40ae6ab00cc3d4d1f4c0eeefce0b1a96 18-Aug-2000 Theodore Ts'o <tytso@mit.edu> Many files:
Makefile.in: Update the make dependencies
problem.c, problem.h: Add the problem codes:
PR_0_ORPHAN_ILLEGAL_BLOCK_NUM, PR_0_ORPHAN_ALREADY_CLEARED_BLOCK,
PR_0_ORPHAN_ILLEGAL_HEAD_INODE, PR_0_ORPHAN_ILLEGAL_INODE,
PR_0_ORPHAN_INODE_INUSE
super.c (release_inode_blocks, release_orphan_inodes,
check_super_block): Add support for clearing orphaned inodes from the
unmounted filesystem.
journal.c (e2fsck_recover_ext3_journal): Remove the last orphan check;
this is now handled in check_super_block --- non-journaled filesystems
can use the orphan list in the future. Also, move the the re-opening
of the filesystem to e2fsck_run_ext3_journal().
debugfs.c:
debugfs.c (finish_range): Make sure the pager FILE pointer to use.
configure, configure.in, ChangeLog:
configure.in (JFS_DEBUG): Add support for --enable-jfs-debug
/external/e2fsprogs/e2fsck/unix.c
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/unix.c
b8d164cd2412edc65ba47c573f2abcc254dbbbc9 08-Aug-2000 Theodore Ts'o <tytso@mit.edu> ChangeLog, unix.c:
unix.c (calc_percent): Make sure that we don't take a floating
exception if the max value is zero. (should normally never happen,
but...)
/external/e2fsprogs/e2fsck/unix.c
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/unix.c
e4c8e885d20cd36ddbc563aed9edaa9fb96e2332 06-Jul-2000 Theodore Ts'o <tytso@mit.edu> ChangeLog, Makefile.in:
Makefile.in (install): Install resize2fs in /sbin, not /usr/sbin.
ChangeLog, unix.c:
unix.c: Also, re-arrange the logic so that we do the time check only
after doing the percentage check, and we only advance the spinner if
we're about to display it.
ChangeLog:
Fix minor wording error in Chagelog.
/external/e2fsprogs/e2fsck/unix.c
9226904bfb091de44ef7758936c61148c5ccf997 05-Jul-2000 Theodore Ts'o <tytso@mit.edu> ChangeLog, unix.c:
unix.c (e2fsck_update_progress): Only save and check the last
percentage after multiplying it by 10, nor 1000, since we only need to
save values to a tenth of a percent (and the percentage is already
from 0 .. 100%, not 0 .. 1).
/external/e2fsprogs/e2fsck/unix.c
373b8337c7b6c6243810be250083fa4773891e92 03-Apr-2000 Theodore Ts'o <tytso@mit.edu> Many files:
badblocks.c, dumpe2fs.c, e2label.c, mke2fs.c, tune2fs.c, uuidgen.c:
For platforms that don't define optarg.h, manually define optarg and
optind.
ChangeLog, main.c:
main.c: For platforms that don't define optarg.h, manually define
optarg and optind.
ChangeLog, unix.c:
unix.c: For platforms that don't define optarg.h, manually define
optarg and optind.
/external/e2fsprogs/e2fsck/unix.c
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/unix.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/unix.c
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/unix.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/unix.c
7142db08c4e54a863fea2e757c6d3afa42ba2290 08-Nov-1999 Theodore Ts'o <tytso@mit.edu> ChangeLog, e2fsck.c, pass4.c, problem.h, unix.c:
pass4.c (e2fsck_pass4): Clear inode_imagic_map after freeing it, to
prevent it from getting freed twice.
unix.c (main): Close the filesystem before freeing the context, so
that in the event of a free()-related segmentation violation, the
filesystem is properly closed and written out.
e2fsck.c (e2fsck_reset_context): When freeing ctx->inode_reg_map, we
weren't zero'ing ctx->inode_reg_map, which could cause a segfault
later on in the e2fsck run.
problem.h (PR_2_SPLIT_DOT): Fix excess zero in problem code (now
matches the standard convention).
/external/e2fsprogs/e2fsck/unix.c
9ecd8becf46c32ed18e468fe647947b359d25cdb 20-Oct-1999 Theodore Ts'o <tytso@mit.edu> ChangeLog, unix.c, util.c:
unix.c (PRS), util.c (ask_yn): Add #ifdef's to make e2fsprogs easier
to port to non-Unix platforms.
/external/e2fsprogs/e2fsck/unix.c
b55199eaf749c0d843955091ab6a9f4d0aca3213 19-Jul-1999 Theodore Ts'o <tytso@mit.edu> ChangeLog, unix.c:
unix.c (usage): Add minimalist emergency help to the usage message.
/external/e2fsprogs/e2fsck/unix.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/unix.c
74033350068c1e8be90fdc555cb9afbf12609110 01-Jul-1999 Theodore Ts'o <tytso@mit.edu> ChangeLog, unix.c:
unix.c (check_mount): Clean up the abort message displayed when the
filesystem is mounted and either stdout or stdin isn't a tty.
/external/e2fsprogs/e2fsck/unix.c
813bbb25a24ebba5177da18be413ea742efe5a8a 22-Jun-1999 Theodore Ts'o <tytso@mit.edu> ChangeLog, dir_iterate.c:
dir_iterate.c (ext2fs_process_dir_block): Check for corrupted
directory entry before calling the callback function. This should
prevent some core dumps of insufficiently paranoid callback functions.
ChangeLog, unix.c:
unix.c (main): Add missing space in the disk write-protected message.
/external/e2fsprogs/e2fsck/unix.c
75d83bec5ff7c29d68f725b75b72e3465f1378df 18-May-1999 Theodore Ts'o <tytso@mit.edu> unix.c, ChangeLog:
unix.c (reserve_stdio_fds): Add safety check in case reserve_stdio_fds
couldn't open /dev/null.
/external/e2fsprogs/e2fsck/unix.c
73f17cfc391221a5466e95c9dc1802564ce38973 04-Jan-1999 Theodore Ts'o <tytso@mit.edu> ChangeLog, unix.c:
unix.c (main): Reset the context before calling ext2fs_close(), to
avoid referencing already freed memory.
ChangeLog, llseek.c:
llseek.c (ext2fs_llseek): Change ext2fs_llseek() in the non-Linux case
to use EINVAL by default, unless it isn't defined, in which case we
use EXT2_ET_INVALID_ARGUMENT instead.
ChangeLog, mk_cmds.sh.in:
mk_cmds.sh.in: Fixed portability bug in shell script; we were
depending on a bash'ism.
ChangeLog, uuid.c:
uuid.c: Use asm/types.h instead of linux/types.h, to be consistent
with other locations where we've had to do this to work around glibc.
/external/e2fsprogs/e2fsck/unix.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/unix.c
24fc5032b5bcc7c3bc25acdcd0cd822afed3f9c5 26-Aug-1998 Theodore Ts'o <tytso@mit.edu> ChangeLog, unix.c:
unix.c (check_if_skip): Move the "not cleanly mounted" check ahead of
the maximal mount and too long since checked tests.
(reserve_stdio_fds): Make sure 0,1,2 file descriptors are open, so
that we don't open the filesystem using the same file
descriptor as stdout or stderr.
/external/e2fsprogs/e2fsck/unix.c
f75c28de4731c2cd09f6ca1a23e25c968a1edc2f 01-Aug-1998 Theodore Ts'o <tytso@mit.edu> ChangeLog, e2fsck.c, pass2.c, pass3.c, unix.c:
pass2.c (e2fsck_pass2): Fix the progress accounting so that we get to
100%.
pass3.c (e2fsck_pass3): Change progress accounting to be consistent
with the other e2fsck passes.
e2fsck.c (e2fsck_run): At the end of each pass, call the progress
function with the pass number set to zero.
unix.c (e2fsck_update_progress): If the pass number is zero, ignore
the call, since that indicates that we just want to deallocate any
progress structures.
emptydir.c:
Commit partially done file.
ChangeLog, badblocks.c:
badblocks.c (ext2fs_badblocks_list_add): Use a bigger increment than
10 blocks when we need to expand the size of the badblocks list.
/external/e2fsprogs/e2fsck/unix.c
8144d6799543913fb6b4da29b421d0e3196b1c58 09-Jul-1998 Theodore Ts'o <tytso@mit.edu> ChangeLog, unix.c:
unix.c (main): Fix typo in checking the incompat feature set; it
should be checked against EXT2_LIB_FEATURE_INCOMPAT_SUPP.
/external/e2fsprogs/e2fsck/unix.c
818180cdfcff84b9048ecdc5dc86323f0fefba24 27-Jun-1998 Theodore Ts'o <tytso@mit.edu> ChangeLog, debugfs.8.in, debugfs.c:
Add a -V option which displays the current version.
ChangeLog, unix.c:
unix.c (e2fsck_update_progress): Remove unused variables.
ChangeLog, inode.c:
inode.c (get_next_blockgroup): Fix bug where if get_next_blockgroup()
is called early because of a missing inode table in a block group, the
current_inode counter wasn't incremented correctly.
ChangeLog, tst_uuid.c:
tst_uuid.c (main): Fixed bogus declaration of the main's argv parameter.
ChangeLog, test_icount.c:
test_icount.c (main): Fix main() declaration so that it returns int,
not void.
Many files:
fsck.c (ignore): Remove unused variable cp.
chattr.c (fatal_error):
tune2fs.c (usage):
lsattr.c (usage):
dumpe2fs.c (usage):
badblocks.c (usage): Remove volatile from declaration.
fsck.c: Change use of strdup to be string_copy, since we don't trust
what glibc is doing with strdup. (Whatever it is, it isn't pretty.)
/external/e2fsprogs/e2fsck/unix.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/unix.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/unix.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/unix.c
24dd4028eb2b0083fe772fb88de2ecd29b43f908 01-Feb-1998 Theodore Ts'o <tytso@mit.edu> ChangeLog, e2fsck.8.in, unix.c:
unix.c (main): In the case where the filesystem revision is too high,
print the message about the superblock possibly being corrupt.
e2fsck.8.in: Add expanded comments about how the -b option works.
/external/e2fsprogs/e2fsck/unix.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/unix.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/unix.c
68227542432de81fc9b8064efa0791819024f1a6 04-Nov-1997 Theodore Ts'o <tytso@mit.edu> ChangeLog, unix.c:
Add a special case check for the error code EROFS and display an
appropriate error message for this case.
/external/e2fsprogs/e2fsck/unix.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/unix.c
519149fb458b0fa69c10fecd83fae42e838cf01d 25-Oct-1997 Theodore Ts'o <tytso@mit.edu> Many files:
fsck.c:
chattr.c: Remove #include of getopt.h, since it's not needed.
tune2fs.c (main):
lsattr.c (main):
badblocks.c (main):
dumpe2fs.c (main):
mke2fs.c (PRS): Make the variable which getopt returns into be
an int, so that it won't lose on platforms where char is
unsigned.
ChangeLog, unix.c:
Make the variable which getopt returns into be an int, so that it
won't lose on platforms where char is unsigned.
/external/e2fsprogs/e2fsck/unix.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/unix.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/unix.c