All of lore.kernel.org
 help / color / mirror / Atom feed
From: Zhang Yi <yi.zhang@huaweicloud.com>
To: linux-ext4@vger.kernel.org
Cc: tytso@mit.edu, adilger.kernel@dilger.ca, jack@suse.cz,
	yi.zhang@huawei.com, yi.zhang@huaweicloud.com,
	yukuai3@huawei.com
Subject: [PATCH v3 04/12] jbd2: checking valid features early in journal_get_superblock()
Date: Fri, 11 Aug 2023 14:36:02 +0800	[thread overview]
Message-ID: <20230811063610.2980059-5-yi.zhang@huaweicloud.com> (raw)
In-Reply-To: <20230811063610.2980059-1-yi.zhang@huaweicloud.com>

From: Zhang Yi <yi.zhang@huawei.com>

journal_get_superblock() is used to check validity of the jounal
supberblock, so move the features checks from jbd2_journal_load() to
journal_get_superblock().

Signed-off-by: Zhang Yi <yi.zhang@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
---
 fs/jbd2/journal.c | 30 +++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)

diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c
index c7cdb434966f..d84f26b08315 100644
--- a/fs/jbd2/journal.c
+++ b/fs/jbd2/journal.c
@@ -1398,6 +1398,21 @@ static int journal_get_superblock(journal_t *journal)
 		goto out;
 	}
 
+	/*
+	 * If this is a V2 superblock, then we have to check the
+	 * features flags on it.
+	 */
+	if (!jbd2_format_support_feature(journal))
+		return 0;
+
+	if ((sb->s_feature_ro_compat &
+			~cpu_to_be32(JBD2_KNOWN_ROCOMPAT_FEATURES)) ||
+	    (sb->s_feature_incompat &
+			~cpu_to_be32(JBD2_KNOWN_INCOMPAT_FEATURES))) {
+		printk(KERN_WARNING "JBD2: Unrecognised features on journal\n");
+		goto out;
+	}
+
 	if (jbd2_has_feature_csum2(journal) &&
 	    jbd2_has_feature_csum3(journal)) {
 		/* Can't have checksum v2 and v3 at the same time! */
@@ -2059,21 +2074,6 @@ int jbd2_journal_load(journal_t *journal)
 	int err;
 	journal_superblock_t *sb = journal->j_superblock;
 
-	/*
-	 * If this is a V2 superblock, then we have to check the
-	 * features flags on it.
-	 */
-	if (jbd2_format_support_feature(journal)) {
-		if ((sb->s_feature_ro_compat &
-		     ~cpu_to_be32(JBD2_KNOWN_ROCOMPAT_FEATURES)) ||
-		    (sb->s_feature_incompat &
-		     ~cpu_to_be32(JBD2_KNOWN_INCOMPAT_FEATURES))) {
-			printk(KERN_WARNING
-				"JBD2: Unrecognised features on journal\n");
-			return -EINVAL;
-		}
-	}
-
 	/*
 	 * Create a slab for this blocksize
 	 */
-- 
2.34.3


  parent reply	other threads:[~2023-08-11  6:36 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-11  6:35 [PATCH v3 00/12] ext4,jbd2: cleanup journal load and initialization process Zhang Yi
2023-08-11  6:35 ` [PATCH v3 01/12] jbd2: move load_superblock() dependent functions Zhang Yi
2023-08-11  6:36 ` [PATCH v3 02/12] jbd2: move load_superblock() into journal_init_common() Zhang Yi
2023-08-11  6:36 ` [PATCH v3 03/12] jbd2: don't load superblock in jbd2_journal_check_used_features() Zhang Yi
2023-08-11  6:36 ` Zhang Yi [this message]
2023-08-11  6:36 ` [PATCH v3 05/12] jbd2: open code jbd2_verify_csum_type() helper Zhang Yi
2023-08-11  6:36 ` [PATCH v3 06/12] jbd2: cleanup load_superblock() Zhang Yi
2023-08-11  6:36 ` [PATCH v3 07/12] jbd2: add fast_commit space check Zhang Yi
2023-08-11  6:36 ` [PATCH v3 08/12] jbd2: cleanup journal_init_common() Zhang Yi
2023-08-11  6:36 ` [PATCH v3 09/12] jbd2: drop useless error tag in jbd2_journal_wipe() Zhang Yi
2023-08-11  6:36 ` [PATCH v3 10/12] jbd2: jbd2_journal_init_{dev,inode} return proper error return value Zhang Yi
2023-08-11  6:36 ` [PATCH v3 11/12] ext4: cleanup ext4_get_dev_journal() and ext4_get_journal() Zhang Yi
2023-08-11  6:36 ` [PATCH v3 12/12] ext4: ext4_get_{dev}_journal return proper error value Zhang Yi
2023-08-17 14:47 ` [PATCH v3 00/12] ext4,jbd2: cleanup journal load and initialization process Theodore Ts'o

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230811063610.2980059-5-yi.zhang@huaweicloud.com \
    --to=yi.zhang@huaweicloud.com \
    --cc=adilger.kernel@dilger.ca \
    --cc=jack@suse.cz \
    --cc=linux-ext4@vger.kernel.org \
    --cc=tytso@mit.edu \
    --cc=yi.zhang@huawei.com \
    --cc=yukuai3@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.