From nobody Sun Feb 8 11:22:07 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 5DB71EB64DC for ; Mon, 26 Jun 2023 05:42:21 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229737AbjFZFmS (ORCPT ); Mon, 26 Jun 2023 01:42:18 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57972 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229541AbjFZFmN (ORCPT ); Mon, 26 Jun 2023 01:42:13 -0400 Received: from mo4-p02-ob.smtp.rzone.de (mo4-p02-ob.smtp.rzone.de [85.215.255.81]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CE78D133; Sun, 25 Jun 2023 22:42:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1687758123; cv=none; d=strato.com; s=strato-dkim-0002; b=BLsPKXmVGveNz1cWfRhdc45UhP+767VVGi141W8RVA4ZEZZP2JgAB7tkOyloadHPea 0m8yVuCv2OM2Ww/pKkTRGeq5+h6R+6PtU9AlyZeLz7CSeofmO/tplJEPdE5jQFqK8zPr A2xHXfLEvKepgABVVft3avmi0JZwzM1dTSnXFqI0JgiOft/xbF5P5+U709b9gNebW8X4 6Q2RtPXYx4ntxvsqHajtQBtDOrvb6IU//Ep5CLUlO85BnH1IeTqr/Eki+cElugzSE6Lj kvb7wqHdXV60ZjL5zS/x8J4jtFqaDk22YveWArqxNOIgQs92yJbmF6aYgg7XuqFbnDMs Tlkg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1687758123; s=strato-dkim-0002; d=strato.com; h=References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Cc:Date: From:Subject:Sender; bh=mhoN52NrOJrJXRtOmObH8v06ZrNecZha/sBxCLu1zqg=; b=ZCsWMe2TXHMNkB9FaqP7W1Xr9DE2eQO0B3JLwm7wWM+OpaeyxV3s8fnwOVtU6U2znq sOZ97vbok1ZltiWjDNWwOwvX6gL7W+MS+oc6jmXNRnrh3f9aPeTL7sd3Dgi9VBlS8pGI mjBfWJTzszyhPSzT4nnQNtq73xv77mIzop6oAmjcUCO48LxQiSs4UU4Uw4M6d08ocKSv mjpA+gOcMbFedY+Z3FRwfbI2/NMyo3LtKRmlLN6N9FsbnLvQUTaIchVUSKe5uZ7+6Nh9 6qaCupaSCFzFOajM87SnnUOejjWtLcFw52IflFKsJMDC4k5Fj70Vjl3QRn9V+hWTvf08 /BMw== ARC-Authentication-Results: i=1; strato.com; arc=none; dkim=none X-RZG-CLASS-ID: mo02 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1687758123; s=strato-dkim-0002; d=iokpp.de; h=References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Cc:Date: From:Subject:Sender; bh=mhoN52NrOJrJXRtOmObH8v06ZrNecZha/sBxCLu1zqg=; b=dn38vfl83FJAEJOE40CVxkpykk4kWCRRj+jGqEk4ue0L6B+wq4eRyadOJMt/7fuYgE Ebr4Z95t5+LdRzbdf2OThbZFWcPfDh5bbrdsK+uPwPEjY8zMuU2VvNTgMwXrCxyJAkOP dhZfYU+D5eKk07vPzSiJzrPf/sGSSj+6gL6c51Qx/mGXnhUm3EKn+gy2WYdtX37Pvnmo Hd6Od+VbbmxgcG3KQooJa8VG/k/OFxd7rCDSCLDysv3EeTU/QNOcoz+18yDb6jThitLc vX+8ASVpvg+5uzTA4/zW+Oxg6CzKjhuaNW7GSfznKVoyEPIEqoVk1bWIy6LynEphYsVb LSFw== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1687758123; s=strato-dkim-0003; d=iokpp.de; h=References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Cc:Date: From:Subject:Sender; bh=mhoN52NrOJrJXRtOmObH8v06ZrNecZha/sBxCLu1zqg=; b=7QCQPusEOW3XxIMInpXpKbXXPNiNqkdAG/j4EsA3IiOrCjdXQit8tl8J7yBwJznqtG TXhSJI8/Zw5kTNmmRyDA== X-RZG-AUTH: ":LmkFe0i9dN8c2t4QQyGBB/NDXvjDB6pBSedrgBzPc9DUyubU4DD1QLj68UeUr1+U1RrW5o+P9bSFaHg+gZu+uCjL2b+VQTRnVQrIOQ==" Received: from blinux.speedport.ip by smtp.strato.de (RZmta 49.6.0 AUTH) with ESMTPSA id zb0c8bz5Q5g2Vv9 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits)) (Client did not present a certificate); Mon, 26 Jun 2023 07:42:02 +0200 (CEST) From: Bean Huo To: viro@zeniv.linux.org.uk, brauner@kernel.org, akpm@linux-foundation.org, jack@suse.cz, jack@suse.com, tytso@mit.edu, adilger.kernel@dilger.ca, mark@fasheh.com, jlbec@evilplan.org, joseph.qi@linux.alibaba.com, willy@infradead.org, hch@infradead.org Cc: linux-ext4@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, ocfs2-devel@oss.oracle.com, beanhuo@micron.com, Bean Huo Subject: [PATCH v3 1/2] fs/buffer: clean up block_commit_write Date: Mon, 26 Jun 2023 07:41:52 +0200 Message-Id: <20230626054153.839672-2-beanhuo@iokpp.de> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230626054153.839672-1-beanhuo@iokpp.de> References: <20230626054153.839672-1-beanhuo@iokpp.de> 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: Bean Huo From: Bean Huo Originally inode is used to get blksize, after commit 45bce8f3e343 ("fs/buffer.c: make block-size be per-page and protected by the page lock"), __block_commit_write no longer uses this parameter inode. Signed-off-by: Bean Huo --- fs/buffer.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/fs/buffer.c b/fs/buffer.c index bd091329026c..50821dfb02f7 100644 --- a/fs/buffer.c +++ b/fs/buffer.c @@ -2180,8 +2180,7 @@ int __block_write_begin(struct page *page, loff_t pos= , unsigned len, } EXPORT_SYMBOL(__block_write_begin); =20 -static int __block_commit_write(struct inode *inode, struct folio *folio, - size_t from, size_t to) +static int __block_commit_write(struct folio *folio, size_t from, size_t t= o) { size_t block_start, block_end; bool partial =3D false; @@ -2277,7 +2276,7 @@ int block_write_end(struct file *file, struct address= _space *mapping, flush_dcache_folio(folio); =20 /* This could be a short (even 0-length) commit */ - __block_commit_write(inode, folio, start, start + copied); + __block_commit_write(folio, start, start + copied); =20 return copied; } @@ -2601,8 +2600,7 @@ EXPORT_SYMBOL(cont_write_begin); int block_commit_write(struct page *page, unsigned from, unsigned to) { struct folio *folio =3D page_folio(page); - struct inode *inode =3D folio->mapping->host; - __block_commit_write(inode, folio, from, to); + __block_commit_write(folio, from, to); return 0; } EXPORT_SYMBOL(block_commit_write); @@ -2650,7 +2648,7 @@ int block_page_mkwrite(struct vm_area_struct *vma, st= ruct vm_fault *vmf, =20 ret =3D __block_write_begin_int(folio, 0, end, get_block, NULL); if (!ret) - ret =3D __block_commit_write(inode, folio, 0, end); + ret =3D __block_commit_write(folio, 0, end); =20 if (unlikely(ret < 0)) goto out_unlock; --=20 2.34.1 From nobody Sun Feb 8 11:22:07 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 EA9A5EB64DC for ; Mon, 26 Jun 2023 05:45:10 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229623AbjFZFpI (ORCPT ); Mon, 26 Jun 2023 01:45:08 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58950 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229457AbjFZFpG (ORCPT ); Mon, 26 Jun 2023 01:45:06 -0400 Received: from mo4-p02-ob.smtp.rzone.de (mo4-p02-ob.smtp.rzone.de [85.215.255.80]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6BB67134; Sun, 25 Jun 2023 22:45:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1687758123; cv=none; d=strato.com; s=strato-dkim-0002; b=bnJRzWfzHwjyB7ocNXxbvZ76SzDqFZN/I4n6xQ/j31yApH1TFFzJoqny3ZUswsXekA dEfeYFs0XkDl08jamZyv7Q17VemdpiIe7idJ9r7c7kRMDmRDBspOSdwIRW1d/S9LIa9k EQDLecC+wWw22gX2nDwWCw++AOgqpDvAzThjbuv9fTEhb7yDkHz7TfFjPPSWJl2Sf6e8 4cGxoikplIRjy5lQrzuSpSQc0nAV8nk76h+7+s9latytYAd5EJTyU4gz9nP7KtHCsVPl VTSo/N38sS2SB5CkLpm5kIlNz4Y3lNey5Fs4QziOjjkiN272YIQumuuPN+B8aU32l0jm kTUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1687758123; s=strato-dkim-0002; d=strato.com; h=References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Cc:Date: From:Subject:Sender; bh=A/OYsWzLIZKxnT1gYGuMS7er5Q0yQLzWN1fJj1HH19U=; b=RIl8OAFYRJ7KsB1WkyllCOnDwVeEU/vor31scEtqwExfEomdiUlgO78z0dilwdLgls qo9jMu35Is7LYXO49JsxWy4fK8hYoZEhSH/8oyK7EySOPBqNwz+2ujnLLWDXuIQG8giJ 6U56Qwf3UPkJutNlkZ13wskz4bcs5JJg31gDTZ4FtH7cDCDnP12fAB8nmMolrC3f2I1n CMDsfIIwBBTnWLuzekbvzyYpVSuMwJ+s3Dl50VcXxJI00pdb2puaHqA990yPqE0PpBnQ PyH2J1Hu3RoTh/oG/X8DxcvEWChQY/oAqfrvNO1akiRN/QC2BN/LzpRGqiJGG7XPwvEI R79Q== ARC-Authentication-Results: i=1; strato.com; arc=none; dkim=none X-RZG-CLASS-ID: mo02 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1687758123; s=strato-dkim-0002; d=iokpp.de; h=References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Cc:Date: From:Subject:Sender; bh=A/OYsWzLIZKxnT1gYGuMS7er5Q0yQLzWN1fJj1HH19U=; b=NfcZcgTIIC8nSgDtlQSSa/VC0elwH/QlqHg71C486VKy72d36LtSjg9h1Jj4rHJnYZ QXUVsE30iG4+Qqx/pTlHI8PJdDwWv9S4ylRm2pUujvLRhmKKNlG4kElEbQYvgV+kqBFQ 0I/MbWxALI2QqKHmgy3uQVeRd9hbyjUke/3P4DY3qAMFa6vBJP0hai0mqEYZP1++YQc8 YMiWMxbiQZz03BatPwROeGyPG3krTB6pPFHdMpSaYmek8ML9RqxrxNI8991xSrtwwJno c5bs6usNL532qxfxnnYxusV3a88v/zAKC7cpTbiM/hoVhE+9nFJJcm2/vvpXcWKJkOrU JQKQ== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1687758123; s=strato-dkim-0003; d=iokpp.de; h=References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Cc:Date: From:Subject:Sender; bh=A/OYsWzLIZKxnT1gYGuMS7er5Q0yQLzWN1fJj1HH19U=; b=SF1SPiN2eE0txi4FPUdYG5FT1wVWtyEx21AJODjSRBmvV7KGi6Vt+/ekcbZhmVZLju 7KjrV69IoWMcH5mtFTBw== X-RZG-AUTH: ":LmkFe0i9dN8c2t4QQyGBB/NDXvjDB6pBSedrgBzPc9DUyubU4DD1QLj68UeUr1+U1RrW5o+P9bSFaHg+gZu+uCjL2b+VQTRnVQrIOQ==" Received: from blinux.speedport.ip by smtp.strato.de (RZmta 49.6.0 AUTH) with ESMTPSA id zb0c8bz5Q5g3VvA (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits)) (Client did not present a certificate); Mon, 26 Jun 2023 07:42:03 +0200 (CEST) From: Bean Huo To: viro@zeniv.linux.org.uk, brauner@kernel.org, akpm@linux-foundation.org, jack@suse.cz, jack@suse.com, tytso@mit.edu, adilger.kernel@dilger.ca, mark@fasheh.com, jlbec@evilplan.org, joseph.qi@linux.alibaba.com, willy@infradead.org, hch@infradead.org Cc: linux-ext4@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, ocfs2-devel@oss.oracle.com, beanhuo@micron.com, Bean Huo Subject: [PATCH v3 2/2] fs: convert block_commit_write to return void Date: Mon, 26 Jun 2023 07:41:53 +0200 Message-Id: <20230626054153.839672-3-beanhuo@iokpp.de> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230626054153.839672-1-beanhuo@iokpp.de> References: <20230626054153.839672-1-beanhuo@iokpp.de> 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: Bean Huo From: Bean Huo block_commit_write() always returns 0, this patch changes it to return void. Signed-off-by: Bean Huo Reviewed-by: Jan Kara Acked-by: Theodore Ts'o --- fs/buffer.c | 14 ++++++-------- fs/ext4/move_extent.c | 7 ++----- fs/ocfs2/file.c | 7 +------ fs/udf/file.c | 6 +++--- include/linux/buffer_head.h | 2 +- 5 files changed, 13 insertions(+), 23 deletions(-) diff --git a/fs/buffer.c b/fs/buffer.c index 50821dfb02f7..1568d0c9942d 100644 --- a/fs/buffer.c +++ b/fs/buffer.c @@ -2180,7 +2180,7 @@ int __block_write_begin(struct page *page, loff_t pos= , unsigned len, } EXPORT_SYMBOL(__block_write_begin); =20 -static int __block_commit_write(struct folio *folio, size_t from, size_t t= o) +static void __block_commit_write(struct folio *folio, size_t from, size_t = to) { size_t block_start, block_end; bool partial =3D false; @@ -2215,7 +2215,6 @@ static int __block_commit_write(struct folio *folio, = size_t from, size_t to) */ if (!partial) folio_mark_uptodate(folio); - return 0; } =20 /* @@ -2597,11 +2596,10 @@ int cont_write_begin(struct file *file, struct addr= ess_space *mapping, } EXPORT_SYMBOL(cont_write_begin); =20 -int block_commit_write(struct page *page, unsigned from, unsigned to) +void block_commit_write(struct page *page, unsigned from, unsigned to) { struct folio *folio =3D page_folio(page); __block_commit_write(folio, from, to); - return 0; } EXPORT_SYMBOL(block_commit_write); =20 @@ -2647,11 +2645,11 @@ int block_page_mkwrite(struct vm_area_struct *vma, = struct vm_fault *vmf, end =3D size - folio_pos(folio); =20 ret =3D __block_write_begin_int(folio, 0, end, get_block, NULL); - if (!ret) - ret =3D __block_commit_write(folio, 0, end); + if (unlikely(ret)) + goto out_unlock; + + __block_commit_write(folio, 0, end); =20 - if (unlikely(ret < 0)) - goto out_unlock; folio_mark_dirty(folio); folio_wait_stable(folio); return 0; diff --git a/fs/ext4/move_extent.c b/fs/ext4/move_extent.c index b5af2fc03b2f..f4b4861a74ee 100644 --- a/fs/ext4/move_extent.c +++ b/fs/ext4/move_extent.c @@ -392,14 +392,11 @@ move_extent_per_page(struct file *o_filp, struct inod= e *donor_inode, for (i =3D 0; i < block_len_in_page; i++) { *err =3D ext4_get_block(orig_inode, orig_blk_offset + i, bh, 0); if (*err < 0) - break; + goto repair_branches; bh =3D bh->b_this_page; } - if (!*err) - *err =3D block_commit_write(&folio[0]->page, from, from + replaced_size); =20 - if (unlikely(*err < 0)) - goto repair_branches; + block_commit_write(&folio[0]->page, from, from + replaced_size); =20 /* Even in case of data=3Dwriteback it is reasonable to pin * inode to transaction, to prevent unexpected data loss */ diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c index 91a194596552..9e417cd4fd16 100644 --- a/fs/ocfs2/file.c +++ b/fs/ocfs2/file.c @@ -808,12 +808,7 @@ static int ocfs2_write_zero_page(struct inode *inode, = u64 abs_from, =20 =20 /* must not update i_size! */ - ret =3D block_commit_write(page, block_start + 1, - block_start + 1); - if (ret < 0) - mlog_errno(ret); - else - ret =3D 0; + block_commit_write(page, block_start + 1, block_start + 1); } =20 /* diff --git a/fs/udf/file.c b/fs/udf/file.c index 243840dc83ad..0292d75e60cc 100644 --- a/fs/udf/file.c +++ b/fs/udf/file.c @@ -63,13 +63,13 @@ static vm_fault_t udf_page_mkwrite(struct vm_fault *vmf) else end =3D PAGE_SIZE; err =3D __block_write_begin(page, 0, end, udf_get_block); - if (!err) - err =3D block_commit_write(page, 0, end); - if (err < 0) { + if (err) { unlock_page(page); ret =3D block_page_mkwrite_return(err); goto out_unlock; } + + block_commit_write(page, 0, end); out_dirty: set_page_dirty(page); wait_for_stable_page(page); diff --git a/include/linux/buffer_head.h b/include/linux/buffer_head.h index 6cb3e9af78c9..a7377877ff4e 100644 --- a/include/linux/buffer_head.h +++ b/include/linux/buffer_head.h @@ -288,7 +288,7 @@ int cont_write_begin(struct file *, struct address_spac= e *, loff_t, unsigned, struct page **, void **, get_block_t *, loff_t *); int generic_cont_expand_simple(struct inode *inode, loff_t size); -int block_commit_write(struct page *page, unsigned from, unsigned to); +void block_commit_write(struct page *page, unsigned int from, unsigned int= to); int block_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf, get_block_t get_block); /* Convert errno to return value from ->page_mkwrite() call */ --=20 2.34.1