mirror of
https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
synced 2024-11-23 18:14:25 +08:00
e2fsck: don't try to rehash a deleted directory
If directory has been deleted in pass1[bcd] processing, then we
shouldn't try to rehash the directory in pass 3a when we try to
rehash/reoptimize directories.
Addresses-Debian-Bug: 948508
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
(cherry picked from commit 71ba137553
)
This commit is contained in:
parent
3d0a5b1c88
commit
3c23017d9f
@ -705,6 +705,10 @@ static void delete_file(e2fsck_t ctx, ext2_ino_t ino,
|
||||
fix_problem(ctx, PR_1B_BLOCK_ITERATE, &pctx);
|
||||
if (ctx->inode_bad_map)
|
||||
ext2fs_unmark_inode_bitmap2(ctx->inode_bad_map, ino);
|
||||
if (ctx->inode_reg_map)
|
||||
ext2fs_unmark_inode_bitmap2(ctx->inode_reg_map, ino);
|
||||
ext2fs_unmark_inode_bitmap2(ctx->inode_dir_map, ino);
|
||||
ext2fs_unmark_inode_bitmap2(ctx->inode_used_map, ino);
|
||||
ext2fs_inode_alloc_stats2(fs, ino, -1, LINUX_S_ISDIR(dp->inode.i_mode));
|
||||
quota_data_sub(ctx->qctx, &dp->inode, ino,
|
||||
pb.dup_blocks * fs->blocksize);
|
||||
|
@ -1024,6 +1024,8 @@ void e2fsck_rehash_directories(e2fsck_t ctx)
|
||||
if (!ext2fs_u32_list_iterate(iter, &ino))
|
||||
break;
|
||||
}
|
||||
if (!ext2fs_test_inode_bitmap2(ctx->inode_dir_map, ino))
|
||||
continue;
|
||||
|
||||
pctx.dir = ino;
|
||||
if (first) {
|
||||
|
Loading…
Reference in New Issue
Block a user