aboutsummaryrefslogtreecommitdiff
path: root/e2fsck
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>2008-03-24 08:17:24 -0400
committerTheodore Ts'o <tytso@mit.edu>2008-03-24 08:17:24 -0400
commitcb23cad5b750084212ca068a7212618e4b903730 (patch)
treeab3c7e8e064b5a4715fea9914e2b6fc7f44036aa /e2fsck
parent85b59c40f4b37e43e58aef188b07a3b6678ce782 (diff)
downloade2fsprogs-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.c16
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);