Thanks to Aneesh Kumar for pointing this out. Signed-off-by: "Theodore Ts'o" <tytso@xxxxxxx> --- e2fsck/pass1.c | 16 ++++++++-------- 1 files changed, 8 insertions(+), 8 deletions(-) diff --git a/e2fsck/pass1.c b/e2fsck/pass1.c index 79e9f23..67a8370 100644 --- a/e2fsck/pass1.c +++ b/e2fsck/pass1.c @@ -713,14 +713,6 @@ void e2fsck_pass1(e2fsck_t ctx) } } - if (extent_fs && (inode->i_flags & EXT4_EXTENTS_FL) && - LINUX_S_ISLNK(inode->i_mode) && - !ext2fs_inode_has_valid_blocks(inode) && - fix_problem(ctx, PR_1_FAST_SYMLINK_EXTENT_FL, &pctx)) { - inode->i_flags &= ~EXT4_EXTENTS_FL; - e2fsck_write_inode(ctx, ino, inode, "pass1"); - } - if (ino == EXT2_BAD_INO) { struct process_block_struct pb; @@ -925,6 +917,14 @@ void e2fsck_pass1(e2fsck_t ctx) check_inode_extra_space(ctx, &pctx); check_is_really_dir(ctx, &pctx, block_buf); + if (extent_fs && (inode->i_flags & EXT4_EXTENTS_FL) && + LINUX_S_ISLNK(inode->i_mode) && + !ext2fs_inode_has_valid_blocks(inode) && + fix_problem(ctx, PR_1_FAST_SYMLINK_EXTENT_FL, &pctx)) { + inode->i_flags &= ~EXT4_EXTENTS_FL; + e2fsck_write_inode(ctx, ino, inode, "pass1"); + } + if (LINUX_S_ISDIR(inode->i_mode)) { ext2fs_mark_inode_bitmap(ctx->inode_dir_map, ino); e2fsck_add_dir_info(ctx, ino, 0); -- 1.5.4.1.144.gdfee-dirty -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html