From patchwork Thu Nov 16 06:25:54 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chao Yu X-Patchwork-Id: 165707 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b909:0:b0:403:3b70:6f57 with SMTP id t9csp3018981vqg; Wed, 15 Nov 2023 22:26:16 -0800 (PST) X-Google-Smtp-Source: AGHT+IFuuYWy4TfCjpBIXtmSojKzB/u+zAZvr6Qeng0XhQYO2byuDPmGhLBrFf7iju23j1yF3Tqm X-Received: by 2002:a05:6a00:8e06:b0:6c4:d311:4cea with SMTP id io6-20020a056a008e0600b006c4d3114ceamr14461375pfb.5.1700115975735; Wed, 15 Nov 2023 22:26:15 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700115975; cv=none; d=google.com; s=arc-20160816; b=QzCqsYzs0AUWnDBjUNttXGX6RbHnBI9nIUl6YQ/LS34Y0FIm3xK2UC4j36i6ch+wfq UyORSqNZ6/aCbF9z9hWbRqFLFiSBH4wSoqLs3X4lczG5AbTet/rTIDiOa5QQRvDYYtrt QRHzzc8BYd4xoTI3E1lckFNZONLQ/s6awtfCsfhTh2s/RTH31dmym2RpKK3DJW+GCGya gxn1xUyOthXAB67cEKVXAV6dk1hX6hOEVm7egxxQfGXlcLwBhnkRnMbqtfuNOKHUcujW TjUq2E6PIOBYQtmBjXTCQHw77UtIrbjZW9RAFy7jCDkzd9mLtvr9mLzudkx4kCDoamlR oLHg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=g1hZefIHY8SFwKkLVv2TQxgJr4q8W7A1nr2ia8yTO8Q=; fh=X1/oBJvTGJUQ0YtRp03u+3tPfRw/dXXALWynfOSlfQQ=; b=wY5FXVQ/ag3AzI2cDTjfuZqrHHKtokBYvTPJ4sWYUXOq/baOaAWGtDxcTDF50KSHIa JCBBFk3inGDqE4ItfTfxU/Unbk/E5hesG7xIADVdN3tXJGZ34SG0KBMa7PLKxUtMPQY3 99WiLBqLcXVeI6Gd4u54suVS1WHyMtujzomMUJt3aPmb2OKe8iC+XqTZseRBp8/636Hn uiqBh7WjXWdgyoHy8iaFiQjJQEGdIasouihYS3pBJGVu0srkyrWqlC6GBntROnoTvyr6 rHmqDA9tlT4Jyh5KjviUAdFoW9/H0WRnUbz52orSGJk51vG8S+r+SMieGeNeqKxdy2gb 1Xxg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b="tjzg/XJu"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id y40-20020a056a001ca800b006bd018a5bcfsi11665154pfw.340.2023.11.15.22.26.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Nov 2023 22:26:15 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b="tjzg/XJu"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id DD91A81398BB; Wed, 15 Nov 2023 22:26:14 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229795AbjKPG0H (ORCPT + 29 others); Thu, 16 Nov 2023 01:26:07 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58654 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229484AbjKPG0G (ORCPT ); Thu, 16 Nov 2023 01:26:06 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3039B199 for ; Wed, 15 Nov 2023 22:26:03 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6A5B1C433C7; Thu, 16 Nov 2023 06:26:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1700115962; bh=LdQ7fpYx4XjHDzsyZXb0qCihyPciooXY4TAlO70WFe0=; h=From:To:Cc:Subject:Date:From; b=tjzg/XJu3pN7sLj7482nvRPWD4ZfXv+y3cwgmIn6dzesDklcub5lzV2vPAqSnq+xi 5sZ7lQgMTzc2xmxBS6TyyrrJiYgw14NCfohsaxtFcZyGBdtI2aepFCjc6SiL1R5AWa 7qSuKpJq3NNgR4vN4xPVMO2APRWkFgIiSBIrB0vXvcKmhfTw/bwSbELJZgnigeMgtH ojsdDCKgTnsOmXziWm7yNe61anSBtCITcLPKy1/W1jbUrXpqBaA6KMid+xG/03Gg7S vcvqH0+aXghk7vYHW3L9C9998PKLak/kDOGlwGBodDMS4ztHxM7QyZ4VgE36uIgXuP JognBF4pI0rWw== From: Chao Yu To: jaegeuk@kernel.org Cc: linux-f2fs-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org, Chao Yu Subject: [PATCH 1/3] f2fs: clean up w/ dotdot_name Date: Thu, 16 Nov 2023 14:25:54 +0800 Message-Id: <20231116062556.2451839-1-chao@kernel.org> X-Mailer: git-send-email 2.40.1 MIME-Version: 1.0 X-Spam-Status: No, score=-4.5 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Wed, 15 Nov 2023 22:26:14 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782700809529967445 X-GMAIL-MSGID: 1782700809529967445 Just cleanup, no logic changes. Signed-off-by: Chao Yu --- fs/f2fs/namei.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/fs/f2fs/namei.c b/fs/f2fs/namei.c index d0053b0284d8..a9360ee02da1 100644 --- a/fs/f2fs/namei.c +++ b/fs/f2fs/namei.c @@ -459,7 +459,6 @@ static int __recover_dot_dentries(struct inode *dir, nid_t pino) { struct f2fs_sb_info *sbi = F2FS_I_SB(dir); struct qstr dot = QSTR_INIT(".", 1); - struct qstr dotdot = QSTR_INIT("..", 2); struct f2fs_dir_entry *de; struct page *page; int err = 0; @@ -497,13 +496,13 @@ static int __recover_dot_dentries(struct inode *dir, nid_t pino) goto out; } - de = f2fs_find_entry(dir, &dotdot, &page); + de = f2fs_find_entry(dir, &dotdot_name, &page); if (de) f2fs_put_page(page, 0); else if (IS_ERR(page)) err = PTR_ERR(page); else - err = f2fs_do_add_link(dir, &dotdot, NULL, pino, S_IFDIR); + err = f2fs_do_add_link(dir, &dotdot_name, NULL, pino, S_IFDIR); out: if (!err) clear_inode_flag(dir, FI_INLINE_DOTS); From patchwork Thu Nov 16 06:25:55 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chao Yu X-Patchwork-Id: 165708 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b909:0:b0:403:3b70:6f57 with SMTP id t9csp3019009vqg; Wed, 15 Nov 2023 22:26:19 -0800 (PST) X-Google-Smtp-Source: AGHT+IGeP6LQA9BdHlCjT9T1WKwa/l39Tzev8v7Rao9BzdW10XRKEyY75WQSQnYTmEeONq7YQ4BL X-Received: by 2002:a05:6a21:6d89:b0:187:b35b:81b with SMTP id wl9-20020a056a216d8900b00187b35b081bmr1075002pzb.52.1700115979130; Wed, 15 Nov 2023 22:26:19 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700115979; cv=none; d=google.com; s=arc-20160816; b=fq3k9CfS0kWzFc3K6mDsFPnXiEUNB/VvjeU6F74RYh6+v+J4gfnUiFF4n6g+awNO+u ngVLA2Zrbmw3CuMxyvz9taV346GjUZt2h/jgN8jwPmuPeETIuUKiKqOvHmQyA/u+qhNc 3xR9cnwNooXrdPesN3PIzKaTaSNBNAd57KTyv9fP4FkmFSH7Rry2RNf1TtMJjfbf6j+c E5RI4W9go7VVnZey+V8JEiln05c53+G87mj+P3P1Vywhl7sZi7YdVkwJDiw3HcG/EddI LqwW2IikiWeqoa3m6uiRDOxu188WetNHaaf/kWn+c90qo93a0VB7BIoblQaKr+YDZ378 a80A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=Iirx9aZ1jQB9H5aHSLV9cAcubZwnik+/CrJ/R53I8XA=; fh=X1/oBJvTGJUQ0YtRp03u+3tPfRw/dXXALWynfOSlfQQ=; b=A1MTw7KC38l4JOR86K4ndTMds798T8AllCKhFXBo3EdsaesRYToAwV8TOEVOxia84D aPSQVWN9UV5K65PV8XT94ZWmAGtri+y3gRuOfOtu72iB5nEc8Yu1anTxUGNuS6yK3iqo /EcT5Jiyg6OuJf/5MYA5hl0ZZ9c3oy2vaOkwLXILNE3B2GYLu2yWYrOFtJ2V6NG7a6JF xn6RYFhvvodpFsBENYPD+fYkU1AZuW7gzltWABckH57tsVWuYZKjWbieVLKJX3/m6/H2 rLmc+0uOPlLH6KsZwsGecsIRsHy7jYR1AA6vW0v3J+HeI/Voihq0xTQLa+o4fcpgLEYL 22SA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=XIuPwVvk; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id kk15-20020a17090b4a0f00b00280a4a15cddsi1422867pjb.94.2023.11.15.22.26.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Nov 2023 22:26:19 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=XIuPwVvk; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 2FBB3813EA9F; Wed, 15 Nov 2023 22:26:17 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229984AbjKPG0K (ORCPT + 29 others); Thu, 16 Nov 2023 01:26:10 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58660 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229806AbjKPG0I (ORCPT ); Thu, 16 Nov 2023 01:26:08 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E8499127 for ; Wed, 15 Nov 2023 22:26:04 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 458B6C433C9; Thu, 16 Nov 2023 06:26:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1700115964; bh=6rwiQ68wHhdsE6vY/Y31nFsyaYQ2rLgqDwN+2WxChEs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=XIuPwVvk8OAAiglh4l+yrHMbH+U1E4tlFGpj6dqWYdv6FlT3GEmLUnBx6u5qaJL8e 8iiU1S03QdgwgH67BEn0CunhA2O/7XGyO+TJLDVXrS0Ql3NY3m1Cof+SADxmK+nv5d emPwLN/XIwrNwUkAvFbD9iuFt+Ki6Ba2hjNFIZ9cHqYYj/NKt1EafCbhU1bK5soqrD Ea2mNSi+m8H8h4HhaA7ikBwdDtfafQXtAvValMHkzvU3shabOifFaNoJHC+9wZ/0HY be8J/dOOZP8Db6Y33jBnwR5mM/h0WUtCm6gc5qZaHorKuzRJrCbxpj4bW6Z7b7T7G/ Gc2skX6crDrYQ== From: Chao Yu To: jaegeuk@kernel.org Cc: linux-f2fs-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org, Chao Yu Subject: [PATCH 2/3] f2fs: use shared inode lock during f2fs_fiemap() Date: Thu, 16 Nov 2023 14:25:55 +0800 Message-Id: <20231116062556.2451839-2-chao@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20231116062556.2451839-1-chao@kernel.org> References: <20231116062556.2451839-1-chao@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-4.5 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Wed, 15 Nov 2023 22:26:17 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782700812993355229 X-GMAIL-MSGID: 1782700812993355229 f2fs_fiemap() will only traverse metadata of inode, let's use shared inode lock for it to avoid unnecessary race on inode lock. Signed-off-by: Chao Yu --- fs/f2fs/data.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c index 4e42b5f24deb..42f0f6184f73 100644 --- a/fs/f2fs/data.c +++ b/fs/f2fs/data.c @@ -1992,7 +1992,7 @@ int f2fs_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo, if (ret) return ret; - inode_lock(inode); + inode_lock_shared(inode); maxbytes = max_file_blocks(inode) << F2FS_BLKSIZE_BITS; if (start > maxbytes) { @@ -2112,7 +2112,7 @@ int f2fs_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo, if (ret == 1) ret = 0; - inode_unlock(inode); + inode_unlock_shared(inode); return ret; } From patchwork Thu Nov 16 06:25:56 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chao Yu X-Patchwork-Id: 165709 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b909:0:b0:403:3b70:6f57 with SMTP id t9csp3019087vqg; Wed, 15 Nov 2023 22:26:36 -0800 (PST) X-Google-Smtp-Source: AGHT+IFqxC2QVer/p5jWDEKQ/rI71hJHFfKujuuI7nfZ7o600aLc+YzxLyDmEeusKJodWMzuLoHS X-Received: by 2002:a05:6808:1413:b0:3ae:50f7:e3a4 with SMTP id w19-20020a056808141300b003ae50f7e3a4mr22204684oiv.22.1700115995964; Wed, 15 Nov 2023 22:26:35 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700115995; cv=none; d=google.com; s=arc-20160816; b=AsLVOwyhQgkWzDQd9lnLeach6YccrdWW9VFEiGqI5vzlcat+7VtR/NEGUGSrtBRPO2 p62gL8vO7PX/ZqqjX2KTqWu/KFDsCP95NFY5pcVfTewU4Na8LbwvbImF8kbyMY58W4uj pZhEjcMEQ/3IKtqlH8KlnR0iF61dM9CY2tBmD79ikPDWbk2Cmq7EnTmrusGZaCygkkBS KMLIjEmE/jp85g7zz5bDCDf9zfAGb7A+IC24XI/me46SKCdX0hSaloOJsMU7Soztsalb GsNsE0w6s5hn0Bzez7qWiD8nkae7ZDM/3a6Wn+7l8OX+1m2aPrGbIatRQdANgYg+lIa6 WwIw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=5iXeEcEqiRYpmeSIt8aCITFPceGAZWzrZRvTG0xcYrI=; fh=X1/oBJvTGJUQ0YtRp03u+3tPfRw/dXXALWynfOSlfQQ=; b=nnbqrJ8tmVO1goF7AwR+5/ypmV80uVZrt/9//Pln/6s+m+xnRZoxYsScOTgH8R4ROP n+HEXXX+FPbrmwb+3qad98pRkhh2VtDnGw+CUwe/V09LKCwhdHW5oW28vtrXdqMCcC/T uuxjgAN3UpiUvGEGOc+zoL7B7gQTcfLiS0R4RW5ixlNwmTGvNlj2YMuzDNV0hxrNXm5B kybeYhxMJBFBz8nasBJS1c0owkwidZnY4IhL0FgkdMD7YrVRC+EOp1AxzPXBchz7jMIj qGWqMFI/KGT0LRG4wDvobV36/5cYhvDdRyfjk/Bq8l9sVOQFUrpReEc7IioYzMg8NPY3 ZUvw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=jHDeTQZS; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from agentk.vger.email (agentk.vger.email. [2620:137:e000::3:2]) by mx.google.com with ESMTPS id u5-20020a656705000000b00584ca25959csi11917083pgf.540.2023.11.15.22.26.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Nov 2023 22:26:35 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) client-ip=2620:137:e000::3:2; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=jHDeTQZS; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id A85E9801D812; Wed, 15 Nov 2023 22:26:33 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230047AbjKPG0N (ORCPT + 29 others); Thu, 16 Nov 2023 01:26:13 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58668 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229977AbjKPG0K (ORCPT ); Thu, 16 Nov 2023 01:26:10 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B89F2127 for ; Wed, 15 Nov 2023 22:26:06 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1E298C433CA; Thu, 16 Nov 2023 06:26:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1700115966; bh=4ui5+7aVz7Gqv0sQoth9MwnoQqqjL6flt9PtV4MBJnY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=jHDeTQZSCIyaqUr9vYjCrR938zf9P6Ll63wLDGPERCA0VvpwEVjIIG0g0icc4cZLO TTnT/WcHrP2GHjvkhHL+gPcvgoyuuVypIAHkfs4Sj5R1afufTAaJ1rxCgIfAH9oOBq PJCzQdFVSDGtt9mHy59T4+sLSw1pa+CAqjwXze80vBsBJ1pwUjaO5BEDxp3Cje+UXk wYHj0HcvrNTY7iPM8CbPqNQTu59+WLXrvsVoyqmFMnVNVBGKdcS86byQg1img9iYd0 NZmqmjR9LhTa/lcfhJ3NbXUgZPUkuKPOsDIqhRC9Le8sCPORXc+2MGRMOlyGJOVedu Lkc9Lbou9tu7A== From: Chao Yu To: jaegeuk@kernel.org Cc: linux-f2fs-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org, Chao Yu Subject: [PATCH 3/3] f2fs: fix to check return value of f2fs_reserve_new_block() Date: Thu, 16 Nov 2023 14:25:56 +0800 Message-Id: <20231116062556.2451839-3-chao@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20231116062556.2451839-1-chao@kernel.org> References: <20231116062556.2451839-1-chao@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-1.3 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on agentk.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (agentk.vger.email [0.0.0.0]); Wed, 15 Nov 2023 22:26:33 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782700830596572704 X-GMAIL-MSGID: 1782700830596572704 Let's check return value of f2fs_reserve_new_block() in do_recover_data() rather than letting it fails silently. Also refactoring check condition on return value of f2fs_reserve_new_block() as below: - trigger f2fs_bug_on() only for ENOSPC case; - use do-while statement to avoid redundant codes; Signed-off-by: Chao Yu --- fs/f2fs/recovery.c | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/fs/f2fs/recovery.c b/fs/f2fs/recovery.c index b56d0f1078a7..16415c770b45 100644 --- a/fs/f2fs/recovery.c +++ b/fs/f2fs/recovery.c @@ -712,7 +712,16 @@ static int do_recover_data(struct f2fs_sb_info *sbi, struct inode *inode, */ if (dest == NEW_ADDR) { f2fs_truncate_data_blocks_range(&dn, 1); - f2fs_reserve_new_block(&dn); + do { + err = f2fs_reserve_new_block(&dn); + if (err == -ENOSPC) { + f2fs_bug_on(sbi, 1); + break; + } + } while (err && + IS_ENABLED(CONFIG_F2FS_FAULT_INJECTION)); + if (err) + goto err; continue; } @@ -720,12 +729,14 @@ static int do_recover_data(struct f2fs_sb_info *sbi, struct inode *inode, if (f2fs_is_valid_blkaddr(sbi, dest, META_POR)) { if (src == NULL_ADDR) { - err = f2fs_reserve_new_block(&dn); - while (err && - IS_ENABLED(CONFIG_F2FS_FAULT_INJECTION)) + do { err = f2fs_reserve_new_block(&dn); - /* We should not get -ENOSPC */ - f2fs_bug_on(sbi, err); + if (err == -ENOSPC) { + f2fs_bug_on(sbi, 1); + break; + } + } while (err && + IS_ENABLED(CONFIG_F2FS_FAULT_INJECTION)); if (err) goto err; }