From nobody Sat Apr 11 21:13:58 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 BBF9EC19F2A for ; Thu, 4 Aug 2022 13:38:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239898AbiHDNic (ORCPT ); Thu, 4 Aug 2022 09:38:32 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42660 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239894AbiHDNi3 (ORCPT ); Thu, 4 Aug 2022 09:38:29 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CBA2546DB6 for ; Thu, 4 Aug 2022 06:38:28 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 4B6BB61857 for ; Thu, 4 Aug 2022 13:38:28 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id E0D27C43470; Thu, 4 Aug 2022 13:38:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1659620307; bh=hN2vEO4O/RvdzytpOp5hZlT0WPlhC+8EIeeNd6NtzWM=; h=From:To:Cc:Subject:Date:From; b=vEO7LCpnnTN4wEaaBckHs4gKI2ONgjZrC9+As7jIamWjQfiMMDB96I0MtAo5BcRt5 OafC53uM3ndnZfUx63ff1gb79www5f2Ql09t3Ef8AdWNz+tQH7dEY30c9BpqQyZARu utou3Tj4q0xZvGbKtjTOcHFZiNx09rvr742ZoyMziKSTHJKw3Ml319QBiuAQVEgMCy Yl6pw89TJqJSmNdAKl9xwdRtrGtaDJxk48K7r+wamUIVFqrRIIwK7hexRoz6L9YNB1 iAREsXnKnCNEUJ1TNjsv6yzaOjuqMobMrKo5d5hVTur6cSDf3Z1JbNPfmU0AR48xdw mNTCyx1H8fLzg== From: Chao Yu To: jaegeuk@kernel.org Cc: linux-f2fs-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org, Chao Yu Subject: [PATCH] f2fs: clean up f2fs_abort_atomic_write() Date: Thu, 4 Aug 2022 21:38:21 +0800 Message-Id: <20220804133821.13956-1-chao@kernel.org> X-Mailer: git-send-email 2.36.1 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" From: Chao Yu f2fs_abort_atomic_write() has checked whether current inode is atomic_write one or not, it's redundant to check in its caller, remove it for cleanup. Signed-off-by: Chao Yu --- fs/f2fs/file.c | 9 +++------ fs/f2fs/inode.c | 3 +-- fs/f2fs/segment.c | 27 ++++++++++++++------------- fs/f2fs/super.c | 3 +-- 4 files changed, 19 insertions(+), 23 deletions(-) diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c index 0c984718f3c5..24f5b02c78e7 100644 --- a/fs/f2fs/file.c +++ b/fs/f2fs/file.c @@ -1822,8 +1822,7 @@ static int f2fs_release_file(struct inode *inode, str= uct file *filp) atomic_read(&inode->i_writecount) !=3D 1) return 0; =20 - if (f2fs_is_atomic_file(inode)) - f2fs_abort_atomic_write(inode, true); + f2fs_abort_atomic_write(inode, true); return 0; } =20 @@ -1837,8 +1836,7 @@ static int f2fs_file_flush(struct file *file, fl_owne= r_t id) * until all the writers close its file. Since this should be done * before dropping file lock, it needs to do in ->flush. */ - if (f2fs_is_atomic_file(inode) && - F2FS_I(inode)->atomic_write_task =3D=3D current) + if (F2FS_I(inode)->atomic_write_task =3D=3D current) f2fs_abort_atomic_write(inode, true); return 0; } @@ -2124,8 +2122,7 @@ static int f2fs_ioc_abort_atomic_write(struct file *f= ilp) =20 inode_lock(inode); =20 - if (f2fs_is_atomic_file(inode)) - f2fs_abort_atomic_write(inode, true); + f2fs_abort_atomic_write(inode, true); =20 inode_unlock(inode); =20 diff --git a/fs/f2fs/inode.c b/fs/f2fs/inode.c index fc55f5bd1fcc..6d11c365d7b4 100644 --- a/fs/f2fs/inode.c +++ b/fs/f2fs/inode.c @@ -744,8 +744,7 @@ void f2fs_evict_inode(struct inode *inode) nid_t xnid =3D F2FS_I(inode)->i_xattr_nid; int err =3D 0; =20 - if (f2fs_is_atomic_file(inode)) - f2fs_abort_atomic_write(inode, true); + f2fs_abort_atomic_write(inode, true); =20 trace_f2fs_evict_inode(inode); truncate_inode_pages_final(&inode->i_data); diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c index f14c5a807312..72ce00ebcede 100644 --- a/fs/f2fs/segment.c +++ b/fs/f2fs/segment.c @@ -190,19 +190,20 @@ void f2fs_abort_atomic_write(struct inode *inode, boo= l clean) struct f2fs_sb_info *sbi =3D F2FS_I_SB(inode); struct f2fs_inode_info *fi =3D F2FS_I(inode); =20 - if (f2fs_is_atomic_file(inode)) { - if (clean) - truncate_inode_pages_final(inode->i_mapping); - clear_inode_flag(fi->cow_inode, FI_COW_FILE); - iput(fi->cow_inode); - fi->cow_inode =3D NULL; - release_atomic_write_cnt(inode); - clear_inode_flag(inode, FI_ATOMIC_FILE); - - spin_lock(&sbi->inode_lock[ATOMIC_FILE]); - sbi->atomic_files--; - spin_unlock(&sbi->inode_lock[ATOMIC_FILE]); - } + if (!f2fs_is_atomic_file(inode)) + return; + + if (clean) + truncate_inode_pages_final(inode->i_mapping); + clear_inode_flag(fi->cow_inode, FI_COW_FILE); + iput(fi->cow_inode); + fi->cow_inode =3D NULL; + release_atomic_write_cnt(inode); + clear_inode_flag(inode, FI_ATOMIC_FILE); + + spin_lock(&sbi->inode_lock[ATOMIC_FILE]); + sbi->atomic_files--; + spin_unlock(&sbi->inode_lock[ATOMIC_FILE]); } =20 static int __replace_atomic_write_block(struct inode *inode, pgoff_t index, diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c index 1c6203798fb4..1a0578a3f4e4 100644 --- a/fs/f2fs/super.c +++ b/fs/f2fs/super.c @@ -1411,8 +1411,7 @@ static int f2fs_drop_inode(struct inode *inode) atomic_inc(&inode->i_count); spin_unlock(&inode->i_lock); =20 - if (f2fs_is_atomic_file(inode)) - f2fs_abort_atomic_write(inode, true); + f2fs_abort_atomic_write(inode, true); =20 /* should remain fi->extent_tree for writepage */ f2fs_destroy_extent_node(inode); --=20 2.36.1