aboutsummaryrefslogtreecommitdiffstats
path: root/e2fsck/pass2.c
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>2009-04-23 21:31:16 -0400
committerTheodore Ts'o <tytso@mit.edu>2009-04-23 21:31:16 -0400
commit911ec6261568ca56d2d7b9a15f00578c4d127cf4 (patch)
treee2e7dca66688d98b546328ea7a91ceaf9ca2019a /e2fsck/pass2.c
parente60c25b03f34c5062c61280d87bfbea4dc312a86 (diff)
downloadandroid_external_e2fsprogs-911ec6261568ca56d2d7b9a15f00578c4d127cf4.tar.gz
android_external_e2fsprogs-911ec6261568ca56d2d7b9a15f00578c4d127cf4.tar.bz2
android_external_e2fsprogs-911ec6261568ca56d2d7b9a15f00578c4d127cf4.zip
e2fsck: On a 32-bit filesystem, make sure i_file_acl_high is zero
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'e2fsck/pass2.c')
-rw-r--r--e2fsck/pass2.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/e2fsck/pass2.c b/e2fsck/pass2.c
index 28badc9a..b33f596e 100644
--- a/e2fsck/pass2.c
+++ b/e2fsck/pass2.c
@@ -1353,6 +1353,17 @@ extern int e2fsck_process_bad_inode(e2fsck_t ctx, ext2_ino_t dir,
}
}
+ if (!(fs->super->s_feature_incompat &
+ EXT4_FEATURE_INCOMPAT_64BIT) &&
+ inode.osd2.linux2.l_i_file_acl_high != 0) {
+ pctx.num = inode.osd2.linux2.l_i_file_acl_high;
+ if (fix_problem(ctx, PR_2_I_FILE_ACL_HI_ZERO, &pctx)) {
+ inode.osd2.linux2.l_i_file_acl_high = 0;
+ inode_modified++;
+ } else
+ not_fixed++;
+ }
+
if (inode.i_file_acl &&
((inode.i_file_acl < fs->super->s_first_data_block) ||
(inode.i_file_acl >= fs->super->s_blocks_count))) {