projects
/
firefly-linux-kernel-4.4.55.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branches 'acpi-smbus', 'acpi-ec' and 'acpi-pci'
[firefly-linux-kernel-4.4.55.git]
/
fs
/
jbd2
/
journal.c
diff --git
a/fs/jbd2/journal.c
b/fs/jbd2/journal.c
index 474c1781c0cec62c1f02bc329a81d3a5e34416c8..81e622681c82273aa050eb85cdb057b1fea0e79e 100644
(file)
--- a/
fs/jbd2/journal.c
+++ b/
fs/jbd2/journal.c
@@
-1523,8
+1523,8
@@
static int journal_get_superblock(journal_t *journal)
goto out;
}
goto out;
}
- if (
JBD2_HAS_INCOMPAT_FEATURE(journal, JBD2_FEATURE_INCOMPAT_CSUM_V2
) &&
-
JBD2_HAS_INCOMPAT_FEATURE(journal, JBD2_FEATURE_INCOMPAT_CSUM_V3
)) {
+ if (
jbd2_has_feature_csum2(journal
) &&
+
jbd2_has_feature_csum3(journal
)) {
/* Can't have checksum v2 and v3 at the same time! */
printk(KERN_ERR "JBD2: Can't enable checksumming v2 and v3 "
"at the same time!\n");
/* Can't have checksum v2 and v3 at the same time! */
printk(KERN_ERR "JBD2: Can't enable checksumming v2 and v3 "
"at the same time!\n");
@@
-1532,7
+1532,7
@@
static int journal_get_superblock(journal_t *journal)
}
if (jbd2_journal_has_csum_v2or3_feature(journal) &&
}
if (jbd2_journal_has_csum_v2or3_feature(journal) &&
-
JBD2_HAS_COMPAT_FEATURE(journal, JBD2_FEATURE_COMPAT_CHECKSUM
)) {
+
jbd2_has_feature_checksum(journal
)) {
/* Can't have checksum v1 and v2 on at the same time! */
printk(KERN_ERR "JBD2: Can't enable checksumming v1 and v2/3 "
"at the same time!\n");
/* Can't have checksum v1 and v2 on at the same time! */
printk(KERN_ERR "JBD2: Can't enable checksumming v1 and v2/3 "
"at the same time!\n");
@@
-2072,8
+2072,12
@@
static void __journal_abort_soft (journal_t *journal, int errno)
__jbd2_journal_abort_hard(journal);
__jbd2_journal_abort_hard(journal);
- if (errno)
+ if (errno)
{
jbd2_journal_update_sb_errno(journal);
jbd2_journal_update_sb_errno(journal);
+ write_lock(&journal->j_state_lock);
+ journal->j_flags |= JBD2_REC_ERR;
+ write_unlock(&journal->j_state_lock);
+ }
}
/**
}
/**
@@
-2198,15
+2202,15
@@
size_t journal_tag_bytes(journal_t *journal)
{
size_t sz;
{
size_t sz;
- if (
JBD2_HAS_INCOMPAT_FEATURE(journal, JBD2_FEATURE_INCOMPAT_CSUM_V3
))
+ if (
jbd2_has_feature_csum3(journal
))
return sizeof(journal_block_tag3_t);
sz = sizeof(journal_block_tag_t);
return sizeof(journal_block_tag3_t);
sz = sizeof(journal_block_tag_t);
- if (
JBD2_HAS_INCOMPAT_FEATURE(journal, JBD2_FEATURE_INCOMPAT_CSUM_V2
))
+ if (
jbd2_has_feature_csum2(journal
))
sz += sizeof(__u16);
sz += sizeof(__u16);
- if (
JBD2_HAS_INCOMPAT_FEATURE(journal, JBD2_FEATURE_INCOMPAT_64BIT
))
+ if (
jbd2_has_feature_64bit(journal
))
return sz;
else
return sz - sizeof(__u32);
return sz;
else
return sz - sizeof(__u32);