Skip to content

Commit

Permalink
jbd2: open code jbd2_verify_csum_type() helper
Browse files Browse the repository at this point in the history
jbd2_verify_csum_type() helper check checksum type in the superblock for
v2 or v3 checksum feature, it always return true if these features are
not enabled, and it has only one user, so open code it is more clear.

Signed-off-by: Zhang Yi <[email protected]>
Reviewed-by: Jan Kara <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Theodore Ts'o <[email protected]>
  • Loading branch information
zhangyi089 authored and tytso committed Aug 15, 2023
1 parent e4adf8b commit 18dad50
Showing 1 changed file with 5 additions and 13 deletions.
18 changes: 5 additions & 13 deletions fs/jbd2/journal.c
Original file line number Diff line number Diff line change
Expand Up @@ -115,14 +115,6 @@ void __jbd2_debug(int level, const char *file, const char *func,
#endif

/* Checksumming functions */
static int jbd2_verify_csum_type(journal_t *j, journal_superblock_t *sb)
{
if (!jbd2_journal_has_csum_v2or3_feature(j))
return 1;

return sb->s_checksum_type == JBD2_CRC32C_CHKSUM;
}

static __be32 jbd2_superblock_csum(journal_t *j, journal_superblock_t *sb)
{
__u32 csum;
Expand Down Expand Up @@ -1429,13 +1421,13 @@ static int journal_get_superblock(journal_t *journal)
goto out;
}

if (!jbd2_verify_csum_type(journal, sb)) {
printk(KERN_ERR "JBD2: Unknown checksum type\n");
goto out;
}

/* Load the checksum driver */
if (jbd2_journal_has_csum_v2or3_feature(journal)) {
if (sb->s_checksum_type != JBD2_CRC32C_CHKSUM) {
printk(KERN_ERR "JBD2: Unknown checksum type\n");
goto out;
}

journal->j_chksum_driver = crypto_alloc_shash("crc32c", 0, 0);
if (IS_ERR(journal->j_chksum_driver)) {
printk(KERN_ERR "JBD2: Cannot load crc32c driver.\n");
Expand Down

0 comments on commit 18dad50

Please sign in to comment.