summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorngkaho1234 <ngkaho1234@gmail.com>2015-12-13 12:31:14 +0000
committerngkaho1234 <ngkaho1234@gmail.com>2015-12-13 12:31:33 +0000
commitdaa7eb39d8849fd04967b40f39389ba643360087 (patch)
tree1c136412c65db13b8836a583317cc0670cf51f72
parent8668c0f48be313029675abbe949a5b74c68aa56d (diff)
ext4_journal: clear EXT4_FINCOM_RECOVER after replaying journal.
-rw-r--r--lwext4/ext4_journal.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/lwext4/ext4_journal.c b/lwext4/ext4_journal.c
index be8550d..c463219 100644
--- a/lwext4/ext4_journal.c
+++ b/lwext4/ext4_journal.c
@@ -752,7 +752,14 @@ int jbd_recover(struct jbd_fs *jbd_fs)
r = jbd_iterate_log(jbd_fs, &info, ACTION_RECOVER);
if (r == EOK) {
+ uint32_t features_incompatible =
+ ext4_get32(&jbd_fs->inode_ref.fs->sb,
+ features_incompatible);
jbd_set32(&jbd_fs->sb, start, 0);
+ features_incompatible &= ~EXT4_FINCOM_RECOVER;
+ ext4_set32(&jbd_fs->inode_ref.fs->sb,
+ features_incompatible,
+ features_incompatible);
jbd_fs->dirty = true;
}
jbd_destroy_revoke_tree(&info);