|
@@ -3237,6 +3237,10 @@ static int set_journal_csum_feature_set(struct super_block *sb)
|
|
|
incompat = 0;
|
|
|
}
|
|
|
|
|
|
+ jbd2_journal_clear_features(sbi->s_journal,
|
|
|
+ JBD2_FEATURE_COMPAT_CHECKSUM, 0,
|
|
|
+ JBD2_FEATURE_INCOMPAT_CSUM_V3 |
|
|
|
+ JBD2_FEATURE_INCOMPAT_CSUM_V2);
|
|
|
if (test_opt(sb, JOURNAL_ASYNC_COMMIT)) {
|
|
|
ret = jbd2_journal_set_features(sbi->s_journal,
|
|
|
compat, 0,
|
|
@@ -3249,11 +3253,8 @@ static int set_journal_csum_feature_set(struct super_block *sb)
|
|
|
jbd2_journal_clear_features(sbi->s_journal, 0, 0,
|
|
|
JBD2_FEATURE_INCOMPAT_ASYNC_COMMIT);
|
|
|
} else {
|
|
|
- jbd2_journal_clear_features(sbi->s_journal,
|
|
|
- JBD2_FEATURE_COMPAT_CHECKSUM, 0,
|
|
|
- JBD2_FEATURE_INCOMPAT_ASYNC_COMMIT |
|
|
|
- JBD2_FEATURE_INCOMPAT_CSUM_V3 |
|
|
|
- JBD2_FEATURE_INCOMPAT_CSUM_V2);
|
|
|
+ jbd2_journal_clear_features(sbi->s_journal, 0, 0,
|
|
|
+ JBD2_FEATURE_INCOMPAT_ASYNC_COMMIT);
|
|
|
}
|
|
|
|
|
|
return ret;
|