From nobody Fri Apr 3 05:37:26 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 650BCC6FA8B for ; Fri, 16 Sep 2022 08:27:58 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230397AbiIPI14 (ORCPT ); Fri, 16 Sep 2022 04:27:56 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55674 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230354AbiIPI1q (ORCPT ); Fri, 16 Sep 2022 04:27:46 -0400 Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F365E9E898; Fri, 16 Sep 2022 01:27:43 -0700 (PDT) Received: from canpemm500010.china.huawei.com (unknown [172.30.72.57]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4MTRtL073SzmVMr; Fri, 16 Sep 2022 16:23:54 +0800 (CST) Received: from huawei.com (10.175.127.227) by canpemm500010.china.huawei.com (7.192.105.118) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Fri, 16 Sep 2022 16:27:41 +0800 From: Ye Bin To: , , CC: , , Ye Bin Subject: [PATCH -next v2 1/2] ext4: factor out ext4_fc_disabled() Date: Fri, 16 Sep 2022 16:38:35 +0800 Message-ID: <20220916083836.388347-2-yebin10@huawei.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20220916083836.388347-1-yebin10@huawei.com> References: <20220916083836.388347-1-yebin10@huawei.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.175.127.227] X-ClientProxiedBy: dggems701-chm.china.huawei.com (10.3.19.178) To canpemm500010.china.huawei.com (7.192.105.118) X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Factor out ext4_fc_disabled(). No functional change. Signed-off-by: Ye Bin Reviewed-by: Jan Kara --- fs/ext4/fast_commit.c | 38 +++++++++++++++----------------------- 1 file changed, 15 insertions(+), 23 deletions(-) diff --git a/fs/ext4/fast_commit.c b/fs/ext4/fast_commit.c index b7414a5812f6..eadab945b856 100644 --- a/fs/ext4/fast_commit.c +++ b/fs/ext4/fast_commit.c @@ -229,6 +229,12 @@ __releases(&EXT4_SB(inode->i_sb)->s_fc_lock) finish_wait(wq, &wait.wq_entry); } =20 +static bool ext4_fc_disabled(struct super_block *sb) +{ + return (!test_opt2(sb, JOURNAL_FAST_COMMIT) || + (EXT4_SB(sb)->s_mount_state & EXT4_FC_REPLAY)); +} + /* * Inform Ext4's fast about start of an inode update * @@ -240,8 +246,7 @@ void ext4_fc_start_update(struct inode *inode) { struct ext4_inode_info *ei =3D EXT4_I(inode); =20 - if (!test_opt2(inode->i_sb, JOURNAL_FAST_COMMIT) || - (EXT4_SB(inode->i_sb)->s_mount_state & EXT4_FC_REPLAY)) + if (ext4_fc_disabled(inode->i_sb)) return; =20 restart: @@ -265,8 +270,7 @@ void ext4_fc_stop_update(struct inode *inode) { struct ext4_inode_info *ei =3D EXT4_I(inode); =20 - if (!test_opt2(inode->i_sb, JOURNAL_FAST_COMMIT) || - (EXT4_SB(inode->i_sb)->s_mount_state & EXT4_FC_REPLAY)) + if (ext4_fc_disabled(inode->i_sb)) return; =20 if (atomic_dec_and_test(&ei->i_fc_updates)) @@ -283,8 +287,7 @@ void ext4_fc_del(struct inode *inode) struct ext4_sb_info *sbi =3D EXT4_SB(inode->i_sb); struct ext4_fc_dentry_update *fc_dentry; =20 - if (!test_opt2(inode->i_sb, JOURNAL_FAST_COMMIT) || - (EXT4_SB(inode->i_sb)->s_mount_state & EXT4_FC_REPLAY)) + if (ext4_fc_disabled(inode->i_sb)) return; =20 restart: @@ -337,8 +340,7 @@ void ext4_fc_mark_ineligible(struct super_block *sb, in= t reason, handle_t *handl struct ext4_sb_info *sbi =3D EXT4_SB(sb); tid_t tid; =20 - if (!test_opt2(sb, JOURNAL_FAST_COMMIT) || - (EXT4_SB(sb)->s_mount_state & EXT4_FC_REPLAY)) + if (ext4_fc_disabled(sb)) return; =20 ext4_set_mount_flag(sb, EXT4_MF_FC_INELIGIBLE); @@ -493,10 +495,8 @@ void __ext4_fc_track_unlink(handle_t *handle, void ext4_fc_track_unlink(handle_t *handle, struct dentry *dentry) { struct inode *inode =3D d_inode(dentry); - struct ext4_sb_info *sbi =3D EXT4_SB(inode->i_sb); =20 - if (!test_opt2(inode->i_sb, JOURNAL_FAST_COMMIT) || - (sbi->s_mount_state & EXT4_FC_REPLAY)) + if (ext4_fc_disabled(inode->i_sb)) return; =20 if (ext4_test_mount_flag(inode->i_sb, EXT4_MF_FC_INELIGIBLE)) @@ -522,10 +522,8 @@ void __ext4_fc_track_link(handle_t *handle, void ext4_fc_track_link(handle_t *handle, struct dentry *dentry) { struct inode *inode =3D d_inode(dentry); - struct ext4_sb_info *sbi =3D EXT4_SB(inode->i_sb); =20 - if (!test_opt2(inode->i_sb, JOURNAL_FAST_COMMIT) || - (sbi->s_mount_state & EXT4_FC_REPLAY)) + if (ext4_fc_disabled(inode->i_sb)) return; =20 if (ext4_test_mount_flag(inode->i_sb, EXT4_MF_FC_INELIGIBLE)) @@ -551,10 +549,8 @@ void __ext4_fc_track_create(handle_t *handle, struct i= node *inode, void ext4_fc_track_create(handle_t *handle, struct dentry *dentry) { struct inode *inode =3D d_inode(dentry); - struct ext4_sb_info *sbi =3D EXT4_SB(inode->i_sb); =20 - if (!test_opt2(inode->i_sb, JOURNAL_FAST_COMMIT) || - (sbi->s_mount_state & EXT4_FC_REPLAY)) + if (ext4_fc_disabled(inode->i_sb)) return; =20 if (ext4_test_mount_flag(inode->i_sb, EXT4_MF_FC_INELIGIBLE)) @@ -576,7 +572,6 @@ static int __track_inode(struct inode *inode, void *arg= , bool update) =20 void ext4_fc_track_inode(handle_t *handle, struct inode *inode) { - struct ext4_sb_info *sbi =3D EXT4_SB(inode->i_sb); int ret; =20 if (S_ISDIR(inode->i_mode)) @@ -588,8 +583,7 @@ void ext4_fc_track_inode(handle_t *handle, struct inode= *inode) return; } =20 - if (!test_opt2(inode->i_sb, JOURNAL_FAST_COMMIT) || - (sbi->s_mount_state & EXT4_FC_REPLAY)) + if (ext4_fc_disabled(inode->i_sb)) return; =20 if (ext4_test_mount_flag(inode->i_sb, EXT4_MF_FC_INELIGIBLE)) @@ -634,15 +628,13 @@ static int __track_range(struct inode *inode, void *a= rg, bool update) void ext4_fc_track_range(handle_t *handle, struct inode *inode, ext4_lblk_= t start, ext4_lblk_t end) { - struct ext4_sb_info *sbi =3D EXT4_SB(inode->i_sb); struct __track_range_args args; int ret; =20 if (S_ISDIR(inode->i_mode)) return; =20 - if (!test_opt2(inode->i_sb, JOURNAL_FAST_COMMIT) || - (sbi->s_mount_state & EXT4_FC_REPLAY)) + if (ext4_fc_disabled(inode->i_sb)) return; =20 if (ext4_test_mount_flag(inode->i_sb, EXT4_MF_FC_INELIGIBLE)) --=20 2.31.1 From nobody Fri Apr 3 05:37:26 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 237A1C6FA8B for ; Fri, 16 Sep 2022 08:27:50 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230365AbiIPI1s (ORCPT ); Fri, 16 Sep 2022 04:27:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55664 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230202AbiIPI1p (ORCPT ); Fri, 16 Sep 2022 04:27:45 -0400 Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 22EA3A6C78; Fri, 16 Sep 2022 01:27:44 -0700 (PDT) Received: from canpemm500010.china.huawei.com (unknown [172.30.72.53]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4MTRt60drmzlVyZ; Fri, 16 Sep 2022 16:23:42 +0800 (CST) Received: from huawei.com (10.175.127.227) by canpemm500010.china.huawei.com (7.192.105.118) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Fri, 16 Sep 2022 16:27:42 +0800 From: Ye Bin To: , , CC: , , Ye Bin Subject: [PATCH -next v2 2/2] ext4: adjust fast commit disable judgement order in ext4_fc_track_inode Date: Fri, 16 Sep 2022 16:38:36 +0800 Message-ID: <20220916083836.388347-3-yebin10@huawei.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20220916083836.388347-1-yebin10@huawei.com> References: <20220916083836.388347-1-yebin10@huawei.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.175.127.227] X-ClientProxiedBy: dggems701-chm.china.huawei.com (10.3.19.178) To canpemm500010.china.huawei.com (7.192.105.118) X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" If fastcommit is already disabled, there isn't need to mark inode ineligibl= e. So move 'ext4_fc_disabled()' judgement bofore 'ext4_should_journal_data(ino= de)' judgement which can avoid to do meaningless judgement. Signed-off-by: Ye Bin Reviewed-by: Jan Kara --- fs/ext4/fast_commit.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fs/ext4/fast_commit.c b/fs/ext4/fast_commit.c index eadab945b856..9217a588afd1 100644 --- a/fs/ext4/fast_commit.c +++ b/fs/ext4/fast_commit.c @@ -577,15 +577,15 @@ void ext4_fc_track_inode(handle_t *handle, struct ino= de *inode) if (S_ISDIR(inode->i_mode)) return; =20 + if (ext4_fc_disabled(inode->i_sb)) + return; + if (ext4_should_journal_data(inode)) { ext4_fc_mark_ineligible(inode->i_sb, EXT4_FC_REASON_INODE_JOURNAL_DATA, handle); return; } =20 - if (ext4_fc_disabled(inode->i_sb)) - return; - if (ext4_test_mount_flag(inode->i_sb, EXT4_MF_FC_INELIGIBLE)) return; =20 --=20 2.31.1