diff options
author | Theodore Ts'o <tytso@mit.edu> | 2008-03-24 08:17:24 -0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2008-03-24 08:17:24 -0400 |
commit | cb23cad5b750084212ca068a7212618e4b903730 (patch) | |
tree | ab3c7e8e064b5a4715fea9914e2b6fc7f44036aa /e2fsck | |
parent | 85b59c40f4b37e43e58aef188b07a3b6678ce782 (diff) | |
download | e2fsprogs-cb23cad5b750084212ca068a7212618e4b903730.tar.gz |
e2fsck: Don't object to extents flags on deleted fast symlinks
Thanks to Aneesh Kumar for pointing this out.
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'e2fsck')
-rw-r--r-- | e2fsck/pass1.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/e2fsck/pass1.c b/e2fsck/pass1.c index 79e9f234..67a83709 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); |