Whamcloud - gitweb
git://git.whamcloud.com
/
tools
/
e2fsprogs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
build: quiet build warnings for "gcc -Wall"
[tools/e2fsprogs.git]
/
e2fsck
/
pass3.c
diff --git
a/e2fsck/pass3.c
b/e2fsck/pass3.c
index
4ae3a33
..
a379e9b
100644
(file)
--- a/
e2fsck/pass3.c
+++ b/
e2fsck/pass3.c
@@
-375,7
+375,7
@@
ext2_ino_t e2fsck_get_lost_and_found(e2fsck_t ctx, int fix)
if (retval && !fix)
return 0;
if (!retval) {
if (retval && !fix)
return 0;
if (!retval) {
- if (ext2fs_
test_inode_bitmap2(ctx->inode_dir_map, ino)
) {
+ if (ext2fs_
check_directory(fs, ino) == 0
) {
ctx->lost_and_found = ino;
return ino;
}
ctx->lost_and_found = ino;
return ino;
}
@@
-659,8
+659,12
@@
static void fix_dotdot(e2fsck_t ctx, ext2_ino_t ino, ext2_ino_t parent)
clear_problem_context(&pctx);
pctx.ino = ino;
clear_problem_context(&pctx);
pctx.ino = ino;
+ if (e2fsck_dir_will_be_rehashed(ctx, ino))
+ ctx->fs->flags |= EXT2_FLAG_IGNORE_CSUM_ERRORS;
retval = ext2fs_dir_iterate(fs, ino, DIRENT_FLAG_INCLUDE_EMPTY,
0, fix_dotdot_proc, &fp);
retval = ext2fs_dir_iterate(fs, ino, DIRENT_FLAG_INCLUDE_EMPTY,
0, fix_dotdot_proc, &fp);
+ if (e2fsck_dir_will_be_rehashed(ctx, ino))
+ ctx->fs->flags &= ~EXT2_FLAG_IGNORE_CSUM_ERRORS;
if (retval || !fp.done) {
pctx.errcode = retval;
fix_problem(ctx, retval ? PR_3_FIX_PARENT_ERR :
if (retval || !fp.done) {
pctx.errcode = retval;
fix_problem(ctx, retval ? PR_3_FIX_PARENT_ERR :