e2fsprogs/e2fsck
Darrick J. Wong 4b58df1a53 e2fsck: in rehash, mark newly allocated extent blocks as found
When we're rehashing directories, it's possible that an extent block
(or a map block) could be (silently) allocated by the underlying
libext2fs when expanding the directory.  This silent allocation is not
captured in block_found_map, which is disastrous if later the rehash
process expands another directory and uses that same block from
before without realizing that it's now in use.

Therefore, if we notice that the free block count has dropped by more
than what e2fsck allocated itself during the expansion, we iterate the
directory's blocks a second time to ensure that these silent
allocations are marked in the found blocks bitmap.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2013-12-12 13:27:08 -05:00
..
CHANGES Many files: 1997-04-26 13:21:57 +00:00
Makefile.in e2fsprogs: add (optional) sparse checking to the build 2013-10-11 23:12:40 -04:00
Makefile.pq Many files: 1997-11-14 05:23:04 +00:00
argv_parse.c Shorten compile commands run by the build system 2011-09-18 17:34:37 -04:00
argv_parse.h Remove trailing whitespace for the entire source tree 2008-08-27 23:07:54 -04:00
badblocks.c Shorten compile commands run by the build system 2011-09-18 17:34:37 -04:00
crc32.c Shorten compile commands run by the build system 2011-09-18 17:34:37 -04:00
crc32defs.h Only use __builtin_expect if __GNUC__ > 3 2008-07-13 16:06:56 -04:00
dict.c Shorten compile commands run by the build system 2011-09-18 17:34:37 -04:00
dict.h Fixx gcc -Wall nitpicks. 2003-07-06 00:36:48 -04:00
dirinfo.c e2fsck: speed up runs when using tdb for large atypical filesystems 2011-11-29 11:24:52 -05:00
dx_dirinfo.c Shorten compile commands run by the build system 2011-09-18 17:34:37 -04:00
e2fsck.8.in Fix spelling typo's in man pages for tune2fs and mke2fs 2012-07-14 19:58:06 -04:00
e2fsck.c e2fsck: add logging capability 2012-03-18 15:40:47 -04:00
e2fsck.conf.5.in e2fsck: add e2fsck.conf options for extra reporting 2012-07-29 17:44:11 -04:00
e2fsck.h e2fsck: add support for 64-bit extended attribute block refcounting 2013-12-02 23:07:32 -05:00
ea_refcount.c e2fsck: add support for 64-bit extended attribute block refcounting 2013-12-02 23:07:32 -05:00
ehandler.c e2fsck: fix potential segv when handling a read error in a superblock 2012-08-06 18:46:42 -04:00
emptydir.c Shorten compile commands run by the build system 2011-09-18 17:34:37 -04:00
extend.c Shorten compile commands run by the build system 2011-09-18 17:34:37 -04:00
flushb.c Shorten compile commands run by the build system 2011-09-18 17:34:37 -04:00
gen_crc32table.c Fix gcc -Wall warnings in e2fsck 2008-06-07 11:04:10 -04:00
iscan.c Don't assume that the presence of mntent.h means that setmntent() exists 2012-04-05 15:31:09 -07:00
jfs_user.h Allow e2fsprogs to be built using the clang (LLVM) frontend 2012-09-09 21:35:39 -04:00
journal.c e2fsck: fix memory leaks (on error path) 2013-12-12 12:57:50 -05:00
logfile.c e2fsck: do not crash on long log file names 2013-01-08 20:36:48 -05:00
message.c e2fsck: use dgrp_t for block group numbers 2013-12-02 23:21:31 -05:00
mtrace.awk Many files: 1997-04-26 13:21:57 +00:00
mtrace.c Shorten compile commands run by the build system 2011-09-18 17:34:37 -04:00
mtrace.h ChangeLog, super.c: 2001-01-12 21:05:57 +00:00
pass1.c libext2fs: fix tests that set LARGE_FILE 2013-12-12 12:08:48 -05:00
pass1b.c e2fsck: use errcode_t to suppress some -Wconversion warnings 2013-12-02 21:37:10 -05:00
pass2.c libext2fs: fix tests that set LARGE_FILE 2013-12-12 12:08:48 -05:00
pass3.c e2fsck: in rehash, mark newly allocated extent blocks as found 2013-12-12 13:27:08 -05:00
pass4.c e2fsck: use dgrp_t for block group numbers 2013-12-02 23:21:31 -05:00
pass5.c e2fsck: use dgrp_t for block group numbers 2013-12-02 23:21:31 -05:00
problem.c e2fsck: fix problem comments to match actual message 2013-12-11 20:10:42 -05:00
problem.h e2fsck: use dgrp_t for block group numbers 2013-12-02 23:21:31 -05:00
problemP.h e2fsck: add ability to limit the # of problems of a particular type 2012-03-14 17:44:54 -04:00
prof_err.et Fix more spelling errors found by translators and add pluralization 2011-10-09 17:54:23 -04:00
profile.c e2fsck: fix memory leaks (on error path) 2013-12-12 12:57:50 -05:00
profile.h mke2fs: Allow specifying reserved_ratio via mke2fs.conf 2011-05-14 23:34:48 -04:00
profile_helpers.c Shorten compile commands run by the build system 2011-09-18 17:34:37 -04:00
profile_helpers.h Simplify profile core functionality 2006-01-02 22:04:41 -05:00
quota.c e2fsck: Fix check for hidden quota files 2012-04-24 14:36:42 -04:00
recovery.c e2fsck: fix gcc -Wall nits 2013-05-19 21:36:31 -04:00
region.c build: quiet some "gcc -Wall" compiler warnings 2012-12-29 17:39:45 -05:00
rehash.c e2fsck: use errcode_t to suppress some -Wconversion warnings 2013-12-02 21:37:10 -05:00
revoke.c Shorten compile commands run by the build system 2011-09-18 17:34:37 -04:00
scantest.c Don't assume that the presence of mntent.h means that setmntent() exists 2012-04-05 15:31:09 -07:00
sigcatcher.c Work around Debian Bug #712530 2013-06-16 17:54:39 -04:00
super.c mmp: fix 64-bit handling of s_mmp_block 2013-12-03 20:22:16 -05:00
unix.c e2fsck: fix memory leaks (on error path) 2013-12-12 12:57:50 -05:00
util.c e2fsck: use errcode_t to suppress some -Wconversion warnings 2013-12-02 21:37:10 -05:00