From nobody Tue Dec 30 17:01:36 2025 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 E999BC4167B for ; Tue, 14 Nov 2023 08:45:49 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232392AbjKNIpu (ORCPT ); Tue, 14 Nov 2023 03:45:50 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49402 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232383AbjKNIpj (ORCPT ); Tue, 14 Nov 2023 03:45:39 -0500 Received: from mail-pf1-x431.google.com (mail-pf1-x431.google.com [IPv6:2607:f8b0:4864:20::431]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C9F131A8; Tue, 14 Nov 2023 00:45:34 -0800 (PST) Received: by mail-pf1-x431.google.com with SMTP id d2e1a72fcca58-6b77ab73c6fso4142629b3a.1; Tue, 14 Nov 2023 00:45:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699951534; x=1700556334; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=D03uI3RFs+q47sPLqFS/hl468TfZmA9CDM9quyOjWII=; b=Rc+wf/+xxTRFw2sLW/MX49h2Vyjtr5uaC9f74IPZumBsYP69ages2i6TzpLCRpUCzn TARk/evMn9Dk1/NbCEKe02wxDy441DgltNk9hcWvffRuxPSodMjAmOquphR9LD9fQnZC CGImK2CJHt5FnqyGCsgRZeSbJ0C94RuAfZXB4Ax5T8b2ru5mND4u1fkFiHDGuhL+O1Hw kXQuC+BR+qz5SMN+sYFzyzA8M/teEgbcbKbXsXraU2PFHrpBiuW0rBvGpW7v75nEX0Ze 3tpAzLt+IH1j1I0flTTO9OzT1nR5kFrIvdSN6ic2eLHxDlSB3crVVQ9FhfHL1keF7uak k3DA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699951534; x=1700556334; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=D03uI3RFs+q47sPLqFS/hl468TfZmA9CDM9quyOjWII=; b=DaR9K2bmE2NG34BNReBhBRMzmLkzcTRGc2NNllEVSxrEZjwVAWm25NosRhzPQUMzWJ UUW4TtRXKZ41W8TJ8hhBBt1V3+3DqRUlwVdvlYMy2GI6EtLES3emxgAeiUlRzpEifmiK eT7lGFLEylZfVMNjUJoDnlRDWb5kFbbilvS/fglQbxBX+LCBR8KNx64iiTqjV85CtgV8 cz3J0x3d8BI6BnfW/UxyBraSje49ccjp9WaWxD+DQ+DF8DkC1iIpC8jgQ2BlHiKULCQq EaUPKP0L+EK78WO7ysqEyigRnH0YYHqO05NQuAFw7IdiF1S/CbHXha2kVnvG5yuJcb7m 7ZXg== X-Gm-Message-State: AOJu0YxmOrnaVlFNHi0vhcvOybzIc0XwMkTpZf3GBMYbw8YuyroOtokK dU6YG66D6tore4v/XZ+feMA1TWG89Z4= X-Google-Smtp-Source: AGHT+IFTIQDQhqAT8S4VE3G5UfriA4ZrFNQdjbbK9wOemjVyzHPD+0R5dVIHsGTw+hJV6WpBmnk3wg== X-Received: by 2002:aa7:8b45:0:b0:6bf:15fb:4b32 with SMTP id i5-20020aa78b45000000b006bf15fb4b32mr2783598pfd.8.1699951533944; Tue, 14 Nov 2023 00:45:33 -0800 (PST) Received: from carrot.. (i223-218-133-131.s42.a014.ap.plala.or.jp. [223.218.133.131]) by smtp.gmail.com with ESMTPSA id u17-20020a056a00159100b006c4d2479c1asm748083pfk.219.2023.11.14.00.45.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 00:45:33 -0800 (PST) From: Ryusuke Konishi To: Andrew Morton Cc: linux-nilfs@vger.kernel.org, Matthew Wilcox , linux-kernel@vger.kernel.org Subject: [PATCH 01/20] nilfs2: Add nilfs_end_folio_io() Date: Tue, 14 Nov 2023 17:44:17 +0900 Message-Id: <20231114084436.2755-2-konishi.ryusuke@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231114084436.2755-1-konishi.ryusuke@gmail.com> References: <20231114084436.2755-1-konishi.ryusuke@gmail.com> 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: "Matthew Wilcox (Oracle)" This is the folio counterpart of the existing nilfs_end_page_io() which is retained as a wrapper of nilfs_end_folio_io(). Replaces nine hidden calls to compound_head() with one. Signed-off-by: Matthew Wilcox (Oracle) Signed-off-by: Ryusuke Konishi --- fs/nilfs2/segment.c | 36 ++++++++++++++++++++++-------------- 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/fs/nilfs2/segment.c b/fs/nilfs2/segment.c index 55e31cc903d1..1df03d0895be 100644 --- a/fs/nilfs2/segment.c +++ b/fs/nilfs2/segment.c @@ -1739,17 +1739,18 @@ static int nilfs_segctor_write(struct nilfs_sc_info= *sci, return ret; } =20 -static void nilfs_end_page_io(struct page *page, int err) +static void nilfs_end_folio_io(struct folio *folio, int err) { - if (!page) + if (!folio) return; =20 - if (buffer_nilfs_node(page_buffers(page)) && !PageWriteback(page)) { + if (buffer_nilfs_node(folio_buffers(folio)) && + !folio_test_writeback(folio)) { /* * For b-tree node pages, this function may be called twice * or more because they might be split in a segment. */ - if (PageDirty(page)) { + if (folio_test_dirty(folio)) { /* * For pages holding split b-tree node buffers, dirty * flag on the buffers may be cleared discretely. @@ -1757,24 +1758,31 @@ static void nilfs_end_page_io(struct page *page, in= t err) * remaining buffers, and it must be cancelled if * all the buffers get cleaned later. */ - lock_page(page); - if (nilfs_page_buffers_clean(page)) - __nilfs_clear_page_dirty(page); - unlock_page(page); + folio_lock(folio); + if (nilfs_page_buffers_clean(&folio->page)) + __nilfs_clear_page_dirty(&folio->page); + folio_unlock(folio); } return; } =20 if (!err) { - if (!nilfs_page_buffers_clean(page)) - __set_page_dirty_nobuffers(page); - ClearPageError(page); + if (!nilfs_page_buffers_clean(&folio->page)) + filemap_dirty_folio(folio->mapping, folio); + folio_clear_error(folio); } else { - __set_page_dirty_nobuffers(page); - SetPageError(page); + filemap_dirty_folio(folio->mapping, folio); + folio_set_error(folio); } =20 - end_page_writeback(page); + folio_end_writeback(folio); +} + +static void nilfs_end_page_io(struct page *page, int err) +{ + if (!page) + return; + nilfs_end_folio_io(page_folio(page), err); } =20 static void nilfs_abort_logs(struct list_head *logs, int err) --=20 2.34.1 From nobody Tue Dec 30 17:01:36 2025 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 ACA9BC41535 for ; Tue, 14 Nov 2023 08:45:44 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232413AbjKNIpo (ORCPT ); Tue, 14 Nov 2023 03:45:44 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49404 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232394AbjKNIpk (ORCPT ); Tue, 14 Nov 2023 03:45:40 -0500 Received: from mail-oa1-x35.google.com (mail-oa1-x35.google.com [IPv6:2001:4860:4864:20::35]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 932621AA; Tue, 14 Nov 2023 00:45:36 -0800 (PST) Received: by mail-oa1-x35.google.com with SMTP id 586e51a60fabf-1f0f94943d9so2586057fac.2; Tue, 14 Nov 2023 00:45:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699951536; x=1700556336; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=yWvfE7i+Wd531m2SA+EEUbQTk1YRMjmDg9WKu9uNV+I=; b=ZcZ009AiJgpxRqcxcMEfaPhOlJV0MCqCrRPP0QfluVr3EkRyDN1zFwpKHh3c2xNYl8 AAg8wrdIZYrBtMBMMs/d1FFoGTNCCkAEhBQa/kY4g50h5C24v58hepmmziRLJkxk59yz XeEVbbba6fSDetEK7ain4lcOT6oMrHBKqyEzrkCt3boL9OHHYhx3cSxplJqbmFcv7Sdf FHZaFbuz0HQliOKa09WLJdz7U/nO09099u+9uNRVj0EguBVgpzT/WcT467704YauVbjL Pnaw8UnoaGaAHLlqc0zrqZCNRpgdl6Wr69MGIWbVaFdh/ofQ07CyLJBaxYgwwpShsbBd lAWQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699951536; x=1700556336; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=yWvfE7i+Wd531m2SA+EEUbQTk1YRMjmDg9WKu9uNV+I=; b=oS3jVLA/u0cL3pGNOVoeCrHVyMxnmVuMSEankOPnZrT7xh5O1LiBtOa302UqAP4x2m N5iVbndN++ufS1rFUE58QJlL1Ht5nHLsCncRKSvadgMe3FyvWWKMZ8iUl64blEBjlImZ X009s5iH5As7oRSCqtIjMEX5UKkoMv2bKg2uboUvJIlHDEjqTsGsZtWjYtBQvtsJAdhA ZLvscumrzXqT026mei6hZ5ooCWvJR4rMztog2sULacKLvdb+Lk0dBUebKd+X8qZo4nkP HeXJxTWh2sr5ApzdLY+/1WgVI/fZ5aF02TC6y9e55/GqUxfByWVjPlTwZeQuR4Bn/AJ4 yvDQ== X-Gm-Message-State: AOJu0YyHc/6sml8aiBXXUyIDWvU+kqkWcCmbYtQn6kAS4xjZWZfrscW7 +E1iuzx3E/HpM+oNATzddqPSu695rz8= X-Google-Smtp-Source: AGHT+IGmFz6ZefiBoSRP2wkdhVdW9RaUeRwHNSD7WB7NGAVstoQ0BYpCQNvMLK1A5dLk79uh8yDumg== X-Received: by 2002:a05:6871:5a8f:b0:1f0:630b:c84e with SMTP id oo15-20020a0568715a8f00b001f0630bc84emr9199228oac.57.1699951535866; Tue, 14 Nov 2023 00:45:35 -0800 (PST) Received: from carrot.. (i223-218-133-131.s42.a014.ap.plala.or.jp. [223.218.133.131]) by smtp.gmail.com with ESMTPSA id u17-20020a056a00159100b006c4d2479c1asm748083pfk.219.2023.11.14.00.45.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 00:45:35 -0800 (PST) From: Ryusuke Konishi To: Andrew Morton Cc: linux-nilfs@vger.kernel.org, Matthew Wilcox , linux-kernel@vger.kernel.org Subject: [PATCH 02/20] nilfs2: Convert nilfs_abort_logs to use folios Date: Tue, 14 Nov 2023 17:44:18 +0900 Message-Id: <20231114084436.2755-3-konishi.ryusuke@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231114084436.2755-1-konishi.ryusuke@gmail.com> References: <20231114084436.2755-1-konishi.ryusuke@gmail.com> 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: "Matthew Wilcox (Oracle)" Use the new folio APIs, saving five hidden calls to compound_head(). Signed-off-by: Matthew Wilcox (Oracle) Signed-off-by: Ryusuke Konishi --- fs/nilfs2/segment.c | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/fs/nilfs2/segment.c b/fs/nilfs2/segment.c index 1df03d0895be..730062e79bfc 100644 --- a/fs/nilfs2/segment.c +++ b/fs/nilfs2/segment.c @@ -1788,7 +1788,7 @@ static void nilfs_end_page_io(struct page *page, int = err) static void nilfs_abort_logs(struct list_head *logs, int err) { struct nilfs_segment_buffer *segbuf; - struct page *bd_page =3D NULL, *fs_page =3D NULL; + struct folio *bd_folio =3D NULL, *fs_folio =3D NULL; struct buffer_head *bh; =20 if (list_empty(logs)) @@ -1798,10 +1798,10 @@ static void nilfs_abort_logs(struct list_head *logs= , int err) list_for_each_entry(bh, &segbuf->sb_segsum_buffers, b_assoc_buffers) { clear_buffer_uptodate(bh); - if (bh->b_page !=3D bd_page) { - if (bd_page) - end_page_writeback(bd_page); - bd_page =3D bh->b_page; + if (bh->b_folio !=3D bd_folio) { + if (bd_folio) + folio_end_writeback(bd_folio); + bd_folio =3D bh->b_folio; } } =20 @@ -1810,22 +1810,22 @@ static void nilfs_abort_logs(struct list_head *logs= , int err) clear_buffer_async_write(bh); if (bh =3D=3D segbuf->sb_super_root) { clear_buffer_uptodate(bh); - if (bh->b_page !=3D bd_page) { - end_page_writeback(bd_page); - bd_page =3D bh->b_page; + if (bh->b_folio !=3D bd_folio) { + folio_end_writeback(bd_folio); + bd_folio =3D bh->b_folio; } break; } - if (bh->b_page !=3D fs_page) { - nilfs_end_page_io(fs_page, err); - fs_page =3D bh->b_page; + if (bh->b_folio !=3D fs_folio) { + nilfs_end_folio_io(fs_folio, err); + fs_folio =3D bh->b_folio; } } } - if (bd_page) - end_page_writeback(bd_page); + if (bd_folio) + folio_end_writeback(bd_folio); =20 - nilfs_end_page_io(fs_page, err); + nilfs_end_folio_io(fs_folio, err); } =20 static void nilfs_segctor_abort_construction(struct nilfs_sc_info *sci, --=20 2.34.1 From nobody Tue Dec 30 17:01:36 2025 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 670AAC4332F for ; Tue, 14 Nov 2023 08:45:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232471AbjKNIpy (ORCPT ); Tue, 14 Nov 2023 03:45:54 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33092 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232406AbjKNIpm (ORCPT ); Tue, 14 Nov 2023 03:45:42 -0500 Received: from mail-pf1-x433.google.com (mail-pf1-x433.google.com [IPv6:2607:f8b0:4864:20::433]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6FAD11A8; Tue, 14 Nov 2023 00:45:38 -0800 (PST) Received: by mail-pf1-x433.google.com with SMTP id d2e1a72fcca58-6b87c1edfd5so4179534b3a.1; Tue, 14 Nov 2023 00:45:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699951538; x=1700556338; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=OKRmXBsUtiL4RTZEjbskUkxZvc6fttLs7R2u2to+Cz0=; b=dsQAd3LUkUw5DlwA8A03vrQCGBDA0tsZcA6eVnfhp40j95KxhAPrc4sgmfUGfmHopo H7fEzku/cTsTnILzJlzPMYCqDNSELpUNROX0AIuoZszJYv8y1Fi1IW+/FWEkTnHbnwkm bC3Cn6SZrny/7FPzg3a7UpIbtLetkEiw8YOSOZFj/weOceyKF4Vf+u5f8xQ5ktWTivZw ugQS2gKtlMH1nfHt1CnEQWc3EUQfPdPjeR35Wpea+lq5Ful0gf9tf8QseFbaIuMCnXK1 YreTtYuBMAeVKTgnZyvWQqrL7+Y2EEu0+dTErl4xu6kki8+DZntwEUxai4VAv6TnbdCn HI4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699951538; x=1700556338; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=OKRmXBsUtiL4RTZEjbskUkxZvc6fttLs7R2u2to+Cz0=; b=G99gcI7lNKx+6eEOkAed1qHtwen4rPNiMQ8ni60i4bbcw2bV8h/tpV+5wyEbv9znbv bzHhv41a5C1g2fbT3ahGY8OounxHmIfFjo/5dP+uqyZsJgfvU+udyAZx7HtB4LrJEF5N sjj1dCrrq6/Anf7mRx4jzOdoqHnJLFmnMK5Hnng74uHVkQmdFWONs830YeZQwzv12Ygg IxekjXfgHo0Q2R9ekgImYxJnyxs76OSwEkcQZOEQHxrnXUIxEOGz9836RHBOTtH6CfO+ YxkuJ5EcaYA5ZpTrnQqlce+jQPfsjETi9Dnt6DnYBKI+4bXObY55e+Rniu7VV81pzRET s8fw== X-Gm-Message-State: AOJu0YxFG3asawgJdg81K4S2r/oIb8WDUBXGEDiRZLb9uCHrZ66vj5o4 GLYwOVvru7aS/eE2CHoEIJXDuS2uQmE= X-Google-Smtp-Source: AGHT+IG4JE9MnA5DuPYG1VJOyEc3jOazUVKagtAzoQHQV1/OGfMTwiNQfMAixHhUS9eZATF68VhVIw== X-Received: by 2002:a05:6a00:d44:b0:6c3:74d6:596e with SMTP id n4-20020a056a000d4400b006c374d6596emr5464562pfv.10.1699951537782; Tue, 14 Nov 2023 00:45:37 -0800 (PST) Received: from carrot.. (i223-218-133-131.s42.a014.ap.plala.or.jp. [223.218.133.131]) by smtp.gmail.com with ESMTPSA id u17-20020a056a00159100b006c4d2479c1asm748083pfk.219.2023.11.14.00.45.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 00:45:37 -0800 (PST) From: Ryusuke Konishi To: Andrew Morton Cc: linux-nilfs@vger.kernel.org, Matthew Wilcox , linux-kernel@vger.kernel.org Subject: [PATCH 03/20] nilfs2: Convert nilfs_segctor_complete_write to use folios Date: Tue, 14 Nov 2023 17:44:19 +0900 Message-Id: <20231114084436.2755-4-konishi.ryusuke@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231114084436.2755-1-konishi.ryusuke@gmail.com> References: <20231114084436.2755-1-konishi.ryusuke@gmail.com> 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: "Matthew Wilcox (Oracle)" Use the new folio APIs, saving five calls to compound_head(). This includes the last callers of nilfs_end_page_io(), so remove that too. Signed-off-by: Matthew Wilcox (Oracle) Signed-off-by: Ryusuke Konishi --- fs/nilfs2/segment.c | 49 +++++++++++++++++++-------------------------- 1 file changed, 21 insertions(+), 28 deletions(-) diff --git a/fs/nilfs2/segment.c b/fs/nilfs2/segment.c index 730062e79bfc..2a058aad5c2d 100644 --- a/fs/nilfs2/segment.c +++ b/fs/nilfs2/segment.c @@ -1778,13 +1778,6 @@ static void nilfs_end_folio_io(struct folio *folio, = int err) folio_end_writeback(folio); } =20 -static void nilfs_end_page_io(struct page *page, int err) -{ - if (!page) - return; - nilfs_end_folio_io(page_folio(page), err); -} - static void nilfs_abort_logs(struct list_head *logs, int err) { struct nilfs_segment_buffer *segbuf; @@ -1867,7 +1860,7 @@ static void nilfs_set_next_segment(struct the_nilfs *= nilfs, static void nilfs_segctor_complete_write(struct nilfs_sc_info *sci) { struct nilfs_segment_buffer *segbuf; - struct page *bd_page =3D NULL, *fs_page =3D NULL; + struct folio *bd_folio =3D NULL, *fs_folio =3D NULL; struct the_nilfs *nilfs =3D sci->sc_super->s_fs_info; int update_sr =3D false; =20 @@ -1878,21 +1871,21 @@ static void nilfs_segctor_complete_write(struct nil= fs_sc_info *sci) b_assoc_buffers) { set_buffer_uptodate(bh); clear_buffer_dirty(bh); - if (bh->b_page !=3D bd_page) { - if (bd_page) - end_page_writeback(bd_page); - bd_page =3D bh->b_page; + if (bh->b_folio !=3D bd_folio) { + if (bd_folio) + folio_end_writeback(bd_folio); + bd_folio =3D bh->b_folio; } } /* - * We assume that the buffers which belong to the same page + * We assume that the buffers which belong to the same folio * continue over the buffer list. - * Under this assumption, the last BHs of pages is - * identifiable by the discontinuity of bh->b_page - * (page !=3D fs_page). + * Under this assumption, the last BHs of folios is + * identifiable by the discontinuity of bh->b_folio + * (folio !=3D fs_folio). * * For B-tree node blocks, however, this assumption is not - * guaranteed. The cleanup code of B-tree node pages needs + * guaranteed. The cleanup code of B-tree node folios needs * special care. */ list_for_each_entry(bh, &segbuf->sb_payload_buffers, @@ -1905,16 +1898,16 @@ static void nilfs_segctor_complete_write(struct nil= fs_sc_info *sci) =20 set_mask_bits(&bh->b_state, clear_bits, set_bits); if (bh =3D=3D segbuf->sb_super_root) { - if (bh->b_page !=3D bd_page) { - end_page_writeback(bd_page); - bd_page =3D bh->b_page; + if (bh->b_folio !=3D bd_folio) { + folio_end_writeback(bd_folio); + bd_folio =3D bh->b_folio; } update_sr =3D true; break; } - if (bh->b_page !=3D fs_page) { - nilfs_end_page_io(fs_page, 0); - fs_page =3D bh->b_page; + if (bh->b_folio !=3D fs_folio) { + nilfs_end_folio_io(fs_folio, 0); + fs_folio =3D bh->b_folio; } } =20 @@ -1928,13 +1921,13 @@ static void nilfs_segctor_complete_write(struct nil= fs_sc_info *sci) } } /* - * Since pages may continue over multiple segment buffers, - * end of the last page must be checked outside of the loop. + * Since folios may continue over multiple segment buffers, + * end of the last folio must be checked outside of the loop. */ - if (bd_page) - end_page_writeback(bd_page); + if (bd_folio) + folio_end_writeback(bd_folio); =20 - nilfs_end_page_io(fs_page, 0); + nilfs_end_folio_io(fs_folio, 0); =20 nilfs_drop_collected_inodes(&sci->sc_dirty_files); =20 --=20 2.34.1 From nobody Tue Dec 30 17:01:36 2025 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 D8C65C4332F for ; Tue, 14 Nov 2023 08:45:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232475AbjKNIp6 (ORCPT ); Tue, 14 Nov 2023 03:45:58 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33142 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232410AbjKNIpn (ORCPT ); Tue, 14 Nov 2023 03:45:43 -0500 Received: from mail-pf1-x42d.google.com (mail-pf1-x42d.google.com [IPv6:2607:f8b0:4864:20::42d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 531EB1A8; Tue, 14 Nov 2023 00:45:40 -0800 (PST) Received: by mail-pf1-x42d.google.com with SMTP id d2e1a72fcca58-6be1bc5aa1cso5507494b3a.3; Tue, 14 Nov 2023 00:45:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699951540; x=1700556340; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=OgKg2EOxZmZGIT91NGubi8L9VnRq79wrMG69PPwZDig=; b=LfuSs1/+ZMUH8Y68R6LMkE0FxVmSNB/C5HAwh15u5Ikx3J3neSpv/v1lOq+QmwRJQs zccIA/pjXoNVt9csPXNHFFVXMXwQ1k3W1zZbjWuxobPBxRy12u2/mndCDLutN32uist8 YEYP0c18Cgv0SZwhUWoj9HEX+4Fruxj1pErGzf6upNdAsab9NJgek3Lquug19vyCZ1fc RMzqJ1qK8IJW0MbHxpAhcLeHAETeEGOyWz/mCwuB384nTQuN8lLiThbyFO1WG8t/MmWq ZaVWrOSn8ABPP69oxDF0nWaPezWt+Xr87/O53PZEsM+70tcDRLTWwos2wNhByf28q3HL GuRA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699951540; x=1700556340; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=OgKg2EOxZmZGIT91NGubi8L9VnRq79wrMG69PPwZDig=; b=pY8v8GF+C/cLrrIoIuhFPaIC4D8xlXa1ynMjqtuXFS/e95BgQWQTSvZhN0t3UBxv9r 0zIofP2sPb7GoOeVDk4xUaRQcfnCHLhSSY2JBeXrvzXrYNZ/k2HnGaiNBDEo8TwPQg0T a86W8Jbb/h32XR/ekG+WfiFhdtaj1JySwpl8rhQSwT3TGHoCSmpWNLbwRE46ZjoKMPva 0XrwgHOP0gT05ydH7J9/LZjYijCsqzajM+PWd9Ve+OErIx6t5qRXeDjox/ngHyiwfz21 SOLuCoFhbGzj2+LVOy8gpgcRq696SH6IUMGFJcEQwDWx0Mk3JhPJzN48Y9x9Q1Oq/nCN RgoA== X-Gm-Message-State: AOJu0Yy3M/wN338lka4GtsYUxgZX4tvv0f/TE1AoL/gTS7liKlqUaM4b BgZf9lPQzpstVGTm7gkAMcnN0ZMnn58= X-Google-Smtp-Source: AGHT+IFlSHAg5p8+m1IEbiPV+w22XNJj7+Za2uPIalfCqWII/0kzQpnTmoluwT8AM37TRJc3f+wGow== X-Received: by 2002:a05:6a00:1d8d:b0:6c4:e7a0:af29 with SMTP id z13-20020a056a001d8d00b006c4e7a0af29mr10589103pfw.19.1699951539723; Tue, 14 Nov 2023 00:45:39 -0800 (PST) Received: from carrot.. (i223-218-133-131.s42.a014.ap.plala.or.jp. [223.218.133.131]) by smtp.gmail.com with ESMTPSA id u17-20020a056a00159100b006c4d2479c1asm748083pfk.219.2023.11.14.00.45.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 00:45:39 -0800 (PST) From: Ryusuke Konishi To: Andrew Morton Cc: linux-nilfs@vger.kernel.org, Matthew Wilcox , linux-kernel@vger.kernel.org Subject: [PATCH 04/20] nilfs2: Convert nilfs_forget_buffer to use a folio Date: Tue, 14 Nov 2023 17:44:20 +0900 Message-Id: <20231114084436.2755-5-konishi.ryusuke@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231114084436.2755-1-konishi.ryusuke@gmail.com> References: <20231114084436.2755-1-konishi.ryusuke@gmail.com> 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: "Matthew Wilcox (Oracle)" Save two hidden calls to compound_head(). Signed-off-by: Matthew Wilcox (Oracle) Signed-off-by: Ryusuke Konishi --- fs/nilfs2/page.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/fs/nilfs2/page.c b/fs/nilfs2/page.c index 06b04758f289..3882acde1b3e 100644 --- a/fs/nilfs2/page.c +++ b/fs/nilfs2/page.c @@ -73,7 +73,7 @@ struct buffer_head *nilfs_grab_buffer(struct inode *inode, */ void nilfs_forget_buffer(struct buffer_head *bh) { - struct page *page =3D bh->b_page; + struct folio *folio =3D bh->b_folio; const unsigned long clear_bits =3D (BIT(BH_Uptodate) | BIT(BH_Dirty) | BIT(BH_Mapped) | BIT(BH_Async_Write) | BIT(BH_NILFS_Volatile) | @@ -81,12 +81,12 @@ void nilfs_forget_buffer(struct buffer_head *bh) =20 lock_buffer(bh); set_mask_bits(&bh->b_state, clear_bits, 0); - if (nilfs_page_buffers_clean(page)) - __nilfs_clear_page_dirty(page); + if (nilfs_page_buffers_clean(&folio->page)) + __nilfs_clear_page_dirty(&folio->page); =20 bh->b_blocknr =3D -1; - ClearPageUptodate(page); - ClearPageMappedToDisk(page); + folio_clear_uptodate(folio); + folio_clear_mappedtodisk(folio); unlock_buffer(bh); brelse(bh); } --=20 2.34.1 From nobody Tue Dec 30 17:01:36 2025 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 69C27C4332F for ; Tue, 14 Nov 2023 08:46:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232507AbjKNIqB (ORCPT ); Tue, 14 Nov 2023 03:46:01 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33182 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232416AbjKNIpq (ORCPT ); Tue, 14 Nov 2023 03:45:46 -0500 Received: from mail-oo1-xc2a.google.com (mail-oo1-xc2a.google.com [IPv6:2607:f8b0:4864:20::c2a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id ADDA51AD; Tue, 14 Nov 2023 00:45:42 -0800 (PST) Received: by mail-oo1-xc2a.google.com with SMTP id 006d021491bc7-586ba7cdb6bso3058720eaf.2; Tue, 14 Nov 2023 00:45:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699951542; x=1700556342; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=qsODlSSSo65NAC+DA2frAnS4pga3MJdWGA/tkcnA7Uo=; b=Me6WJPKINwOlt8beNUWkrP143YEOT2s90A06OXfnOz/0SiJ7mpaYcG9bB2Z+BQYM5e BLW5t0G5ebOJVk/AAB6wz61EhTHTRcetUfbKVskaLdX7l8EgvzkW4xCuLyMzTTEd9KvZ tf7oWX5tjLVizRPSIqkTNS2iqtmzn+zXLk6gL7v/znjWcaozUt/S1XlzIbFhMOrJsB9H 5bW54ABbl17/xk/7K4UDWL7I34Alnd+zPRqfLxpxjGKontZMXGc9N9Gc0qCK/qtKaxWr IHtHBPjYP+AB61eReG5PJ/VVxnrSg58Th731gyGnT2rPjbSZVUuJbdHw2AcavjV3MaEx YNOQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699951542; x=1700556342; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=qsODlSSSo65NAC+DA2frAnS4pga3MJdWGA/tkcnA7Uo=; b=bvX+B+Cp7v+vYFy0qj2XdVH8pHWerQRJzp1oOj7JZhjrspl34paMeaCk/hoC79WQpA h0oll3fkyqKFLJZE9yL/oxfH9pTbqlio5d6p6riU68psmJQHYw+1CB1JtA+g1PazX41l aBKeEq6CRhPnVpZKMY2BEgiHKVLbi6c+bRt+W3EjPta6Ae8v7Sq/bjI/53PmfIsLFOFg wZN+7ToolpNYo2uqcjTWgMYMrTd2zJwR/3UpEuNbO38FVb8uFtw74XEacv5b+PgyuCt/ lHmNHoqzet3McEdv7kZYwoV1IfcPg0w31PPTYqFQgY0I1zdiqnIRSCD6HHI6XeDaPoYl 8nLA== X-Gm-Message-State: AOJu0Yzh7IcoCN57CQIij5I2LB5XaKe4onwg1f6l6kiJJ/3DAo0BEAao t9kvUpdKbKsqfJxOkE/enM1vhMghtp8= X-Google-Smtp-Source: AGHT+IHkwuqCdJrS6Zef1JObUCPq/Qg4yv1+GDAYaOYlYLDDSTW57rMHF5UOiFn4FQ6UVPBWujUiHQ== X-Received: by 2002:a05:6871:5d2:b0:1e9:af81:54b6 with SMTP id v18-20020a05687105d200b001e9af8154b6mr12509563oan.55.1699951541863; Tue, 14 Nov 2023 00:45:41 -0800 (PST) Received: from carrot.. (i223-218-133-131.s42.a014.ap.plala.or.jp. [223.218.133.131]) by smtp.gmail.com with ESMTPSA id u17-20020a056a00159100b006c4d2479c1asm748083pfk.219.2023.11.14.00.45.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 00:45:41 -0800 (PST) From: Ryusuke Konishi To: Andrew Morton Cc: linux-nilfs@vger.kernel.org, Matthew Wilcox , linux-kernel@vger.kernel.org Subject: [PATCH 05/20] nilfs2: Convert to nilfs_folio_buffers_clean() Date: Tue, 14 Nov 2023 17:44:21 +0900 Message-Id: <20231114084436.2755-6-konishi.ryusuke@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231114084436.2755-1-konishi.ryusuke@gmail.com> References: <20231114084436.2755-1-konishi.ryusuke@gmail.com> 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: "Matthew Wilcox (Oracle)" All callers of nilfs_page_buffers_clean() now have a folio, so convert it to take a folio. While I'm at it, make it return a bool. Signed-off-by: Matthew Wilcox (Oracle) Signed-off-by: Ryusuke Konishi --- fs/nilfs2/page.c | 18 +++++++++--------- fs/nilfs2/page.h | 2 +- fs/nilfs2/segment.c | 4 ++-- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/fs/nilfs2/page.c b/fs/nilfs2/page.c index 3882acde1b3e..29799a49c234 100644 --- a/fs/nilfs2/page.c +++ b/fs/nilfs2/page.c @@ -81,7 +81,7 @@ void nilfs_forget_buffer(struct buffer_head *bh) =20 lock_buffer(bh); set_mask_bits(&bh->b_state, clear_bits, 0); - if (nilfs_page_buffers_clean(&folio->page)) + if (nilfs_folio_buffers_clean(folio)) __nilfs_clear_page_dirty(&folio->page); =20 bh->b_blocknr =3D -1; @@ -131,23 +131,23 @@ void nilfs_copy_buffer(struct buffer_head *dbh, struc= t buffer_head *sbh) } =20 /** - * nilfs_page_buffers_clean - check if a page has dirty buffers or not. - * @page: page to be checked + * nilfs_folio_buffers_clean - Check if a folio has dirty buffers or not. + * @folio: Folio to be checked. * - * nilfs_page_buffers_clean() returns zero if the page has dirty buffers. - * Otherwise, it returns non-zero value. + * nilfs_folio_buffers_clean() returns false if the folio has dirty buffer= s. + * Otherwise, it returns true. */ -int nilfs_page_buffers_clean(struct page *page) +bool nilfs_folio_buffers_clean(struct folio *folio) { struct buffer_head *bh, *head; =20 - bh =3D head =3D page_buffers(page); + bh =3D head =3D folio_buffers(folio); do { if (buffer_dirty(bh)) - return 0; + return false; bh =3D bh->b_this_page; } while (bh !=3D head); - return 1; + return true; } =20 void nilfs_page_bug(struct page *page) diff --git a/fs/nilfs2/page.h b/fs/nilfs2/page.h index d249ea1cefff..a8ab800e689c 100644 --- a/fs/nilfs2/page.h +++ b/fs/nilfs2/page.h @@ -36,7 +36,7 @@ struct buffer_head *nilfs_grab_buffer(struct inode *, str= uct address_space *, unsigned long, unsigned long); void nilfs_forget_buffer(struct buffer_head *); void nilfs_copy_buffer(struct buffer_head *, struct buffer_head *); -int nilfs_page_buffers_clean(struct page *); +bool nilfs_folio_buffers_clean(struct folio *); void nilfs_page_bug(struct page *); =20 int nilfs_copy_dirty_pages(struct address_space *, struct address_space *); diff --git a/fs/nilfs2/segment.c b/fs/nilfs2/segment.c index 2a058aad5c2d..888b8606a1e8 100644 --- a/fs/nilfs2/segment.c +++ b/fs/nilfs2/segment.c @@ -1759,7 +1759,7 @@ static void nilfs_end_folio_io(struct folio *folio, i= nt err) * all the buffers get cleaned later. */ folio_lock(folio); - if (nilfs_page_buffers_clean(&folio->page)) + if (nilfs_folio_buffers_clean(folio)) __nilfs_clear_page_dirty(&folio->page); folio_unlock(folio); } @@ -1767,7 +1767,7 @@ static void nilfs_end_folio_io(struct folio *folio, i= nt err) } =20 if (!err) { - if (!nilfs_page_buffers_clean(&folio->page)) + if (!nilfs_folio_buffers_clean(folio)) filemap_dirty_folio(folio->mapping, folio); folio_clear_error(folio); } else { --=20 2.34.1 From nobody Tue Dec 30 17:01:36 2025 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 E8F56C4332F for ; Tue, 14 Nov 2023 08:46:03 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232540AbjKNIqE (ORCPT ); Tue, 14 Nov 2023 03:46:04 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33228 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232405AbjKNIps (ORCPT ); Tue, 14 Nov 2023 03:45:48 -0500 Received: from mail-yw1-x1130.google.com (mail-yw1-x1130.google.com [IPv6:2607:f8b0:4864:20::1130]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B944C1AD; Tue, 14 Nov 2023 00:45:44 -0800 (PST) Received: by mail-yw1-x1130.google.com with SMTP id 00721157ae682-5afabb23900so63206207b3.2; Tue, 14 Nov 2023 00:45:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699951544; x=1700556344; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=rfUrH6hwPhZlZJRuY17GMzM0HULluXlF2QevGochjOA=; b=BkxdwsQwRcYbShhOtRv0AxGFEAHK4dW7zEmWACZ75xWSPdHR4GEhACvQiK4MU9arNo JkJaXKRT8LhNhJEbonborEGDP0QFQi4FAXpDzmv+e5gCWdP4FfslfzA4aJy7PAfl74eW TedLMqKpIYvzavYi04EUZ4g+Huql3o/w+AUp1CRpr+xeZ+1ubUmVH9z3qNLVNeJsctXv T5EhTPVNjMinAZkZMOveG0q6wYZXXZw2ejvPuy4crk+MSlTDne3Et/3jo2H1GGm4IbiQ M3EstK1s+8sH56gV/f6nHa1xy3Bz2aqVuZLXNn1kYPdHSgqA7u2Iu/pgrCyBsYk5Bc7O lTPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699951544; x=1700556344; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rfUrH6hwPhZlZJRuY17GMzM0HULluXlF2QevGochjOA=; b=jFGiXXbFcLs4qpBRkXP5v/ME29g/Ts66fdB0w+a/JxIxWq45x34lYGTer78e++CjuV LG4eFEa7awNyU+z6N0IzeDpRpAd7SUSOpl1TvZDY9E2I42MMuXdo3ZZizhT2778PuK1n bESjENvumHx+WCUWQS1eHRUu+gAzEw4GPUAZ78G3n/XXhlnwkL2QoeXDdBZearp4WZNO jZS9JkvBlMmhZaCvzpycHx961/LE9miuo0k8q3vc7o+3mV3MpC2pd5LFH7neAVzZw8iO ED2x+JoKMb1kEC2RIISR0xJcM1v1LJRRoBnF6O788QMz+h1q0Q+SX3SyNLdzGt5C9UMr yF2A== X-Gm-Message-State: AOJu0YxRhXzH7M8klpuvtqHuz7axpBh0ydCGMlHArlE7pKmSLhA4qOZI J94PgryMztji944QM9MHY4BQ9TeC834= X-Google-Smtp-Source: AGHT+IFtmWAl2hZPAZcX1Xxc2BBoPSRS9y/tiodLVYJIosUNNSJX3IBdRRxJ/W0q9/0nTfh+J71e6w== X-Received: by 2002:a81:528d:0:b0:59f:b0d9:5df2 with SMTP id g135-20020a81528d000000b0059fb0d95df2mr9635510ywb.0.1699951543778; Tue, 14 Nov 2023 00:45:43 -0800 (PST) Received: from carrot.. (i223-218-133-131.s42.a014.ap.plala.or.jp. [223.218.133.131]) by smtp.gmail.com with ESMTPSA id u17-20020a056a00159100b006c4d2479c1asm748083pfk.219.2023.11.14.00.45.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 00:45:43 -0800 (PST) From: Ryusuke Konishi To: Andrew Morton Cc: linux-nilfs@vger.kernel.org, Matthew Wilcox , linux-kernel@vger.kernel.org Subject: [PATCH 06/20] nilfs2: Convert nilfs_writepage() to use a folio Date: Tue, 14 Nov 2023 17:44:22 +0900 Message-Id: <20231114084436.2755-7-konishi.ryusuke@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231114084436.2755-1-konishi.ryusuke@gmail.com> References: <20231114084436.2755-1-konishi.ryusuke@gmail.com> 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: "Matthew Wilcox (Oracle)" Convert the incoming page to a folio. Replaces three calls to compound_head() with one. Signed-off-by: Matthew Wilcox (Oracle) Signed-off-by: Ryusuke Konishi --- fs/nilfs2/inode.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/fs/nilfs2/inode.c b/fs/nilfs2/inode.c index f861f3a0bf5c..c7ec56358a79 100644 --- a/fs/nilfs2/inode.c +++ b/fs/nilfs2/inode.c @@ -175,7 +175,8 @@ static int nilfs_writepages(struct address_space *mappi= ng, =20 static int nilfs_writepage(struct page *page, struct writeback_control *wb= c) { - struct inode *inode =3D page->mapping->host; + struct folio *folio =3D page_folio(page); + struct inode *inode =3D folio->mapping->host; int err; =20 if (sb_rdonly(inode->i_sb)) { @@ -186,12 +187,12 @@ static int nilfs_writepage(struct page *page, struct = writeback_control *wbc) * So, here we simply discard this dirty page. */ nilfs_clear_dirty_page(page, false); - unlock_page(page); + folio_unlock(folio); return -EROFS; } =20 - redirty_page_for_writepage(wbc, page); - unlock_page(page); + folio_redirty_for_writepage(wbc, folio); + folio_unlock(folio); =20 if (wbc->sync_mode =3D=3D WB_SYNC_ALL) { err =3D nilfs_construct_segment(inode->i_sb); --=20 2.34.1 From nobody Tue Dec 30 17:01:36 2025 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 E64B1C4332F for ; Tue, 14 Nov 2023 08:46:06 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232548AbjKNIqI (ORCPT ); Tue, 14 Nov 2023 03:46:08 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33262 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232395AbjKNIpu (ORCPT ); Tue, 14 Nov 2023 03:45:50 -0500 Received: from mail-pf1-x434.google.com (mail-pf1-x434.google.com [IPv6:2607:f8b0:4864:20::434]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 336E0D4D; Tue, 14 Nov 2023 00:45:46 -0800 (PST) Received: by mail-pf1-x434.google.com with SMTP id d2e1a72fcca58-6c34e87b571so4448529b3a.3; Tue, 14 Nov 2023 00:45:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699951545; x=1700556345; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=DYBrKD//Fwh/NYZY8hEC83Yv0uKXYu3iL+h8zoNblA8=; b=jSiuoen5cbGc0b5p0FsLgVqL1+1WNb3Wo8lERYUAY0YW1kOulucBZNJLZuanBdo4mu 2N2rP7SvfV8x0/PKR9I+s9gnUWQ99g/Wi1P1z9dyQ+SXjrke5+DiV7x+yk+QWvj0Edsi vmYOpQbSBVRO0rwa5EDq37+6slPRVPbRA5ZcYsBx3mPNBopRu5JlfYCyf60n4nsZKvXz qW0sa0t5/7gs8gDMLS2/sDHJMMQhTF05oTGiSOtZ+gccBAGT6tNCVR6uuYL+XCekT+Pg ndaRsKyJco3yK4Do0n4TalSV2TP4XhRTdwau9GPF32agpWnbhPkf6eBWQYcb5cZOZfqa 3viA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699951545; x=1700556345; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=DYBrKD//Fwh/NYZY8hEC83Yv0uKXYu3iL+h8zoNblA8=; b=pAGgANwa99GBn0+/eXRNgmBbqzJftAK6I6CQAOPP8cA/SIIi8UCitHI1E7MVTbyvq7 S6LJ/mQcmf3mC9Z7UFq+Z9klxgMq1I+kolyl5v8PH7AURcsBeGIf26oWqIj6BJSlsaoN OqFYSPAkV/L5t1y5Yu3izmyjc0ehjiyuCxR2EB/x0IZKwlQh0WA2PrIbpcKrwQY2N/2s d7/aOfgyAL2nxa9hxkk8ixpLLLbSu1rs8dHDcWdMnLYznxdSSB582pXlZwClfHvAz1C0 tZG400kvoXASY5vjBU0YPLZRUPng5jC5rS2D9N3MbpaUM+cMMgaUMxU+deyQqG+7q8kD lsiQ== X-Gm-Message-State: AOJu0YxLwIAYarhbPmPCtHWELWUq8q5Ry27U1+W9v3j4VYioDpGxJStO gZi2Z5QKzFgSdC4T9p+CPpg= X-Google-Smtp-Source: AGHT+IE3UFGbSKRjwU4ysemEf6rTUEdsWYoIbCpV3qIcaf0HckuZQkAEhiYh5fxxDQR2IQqoLOwm8Q== X-Received: by 2002:a05:6a00:230f:b0:6be:22db:7a13 with SMTP id h15-20020a056a00230f00b006be22db7a13mr8655258pfh.25.1699951545636; Tue, 14 Nov 2023 00:45:45 -0800 (PST) Received: from carrot.. (i223-218-133-131.s42.a014.ap.plala.or.jp. [223.218.133.131]) by smtp.gmail.com with ESMTPSA id u17-20020a056a00159100b006c4d2479c1asm748083pfk.219.2023.11.14.00.45.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 00:45:45 -0800 (PST) From: Ryusuke Konishi To: Andrew Morton Cc: linux-nilfs@vger.kernel.org, Matthew Wilcox , linux-kernel@vger.kernel.org Subject: [PATCH 07/20] nilfs2: Convert nilfs_mdt_write_page() to use a folio Date: Tue, 14 Nov 2023 17:44:23 +0900 Message-Id: <20231114084436.2755-8-konishi.ryusuke@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231114084436.2755-1-konishi.ryusuke@gmail.com> References: <20231114084436.2755-1-konishi.ryusuke@gmail.com> 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: "Matthew Wilcox (Oracle)" Convert the incoming page to a folio. Replaces three calls to compound_head() with one. Signed-off-by: Matthew Wilcox (Oracle) Signed-off-by: Ryusuke Konishi --- fs/nilfs2/mdt.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/fs/nilfs2/mdt.c b/fs/nilfs2/mdt.c index c97c77a39668..327408512b86 100644 --- a/fs/nilfs2/mdt.c +++ b/fs/nilfs2/mdt.c @@ -399,7 +399,8 @@ int nilfs_mdt_fetch_dirty(struct inode *inode) static int nilfs_mdt_write_page(struct page *page, struct writeback_control *wbc) { - struct inode *inode =3D page->mapping->host; + struct folio *folio =3D page_folio(page); + struct inode *inode =3D folio->mapping->host; struct super_block *sb; int err =3D 0; =20 @@ -407,16 +408,16 @@ nilfs_mdt_write_page(struct page *page, struct writeb= ack_control *wbc) /* * It means that filesystem was remounted in read-only * mode because of error or metadata corruption. But we - * have dirty pages that try to be flushed in background. - * So, here we simply discard this dirty page. + * have dirty folios that try to be flushed in background. + * So, here we simply discard this dirty folio. */ nilfs_clear_dirty_page(page, false); - unlock_page(page); + folio_unlock(folio); return -EROFS; } =20 - redirty_page_for_writepage(wbc, page); - unlock_page(page); + folio_redirty_for_writepage(wbc, folio); + folio_unlock(folio); =20 if (!inode) return 0; --=20 2.34.1 From nobody Tue Dec 30 17:01:36 2025 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 49BBFC4332F for ; Tue, 14 Nov 2023 08:46:11 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232425AbjKNIqL (ORCPT ); Tue, 14 Nov 2023 03:46:11 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47290 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232456AbjKNIpv (ORCPT ); Tue, 14 Nov 2023 03:45:51 -0500 Received: from mail-pf1-x434.google.com (mail-pf1-x434.google.com [IPv6:2607:f8b0:4864:20::434]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3A9D91AD; Tue, 14 Nov 2023 00:45:48 -0800 (PST) Received: by mail-pf1-x434.google.com with SMTP id d2e1a72fcca58-6b5af4662b7so4629386b3a.3; Tue, 14 Nov 2023 00:45:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699951547; x=1700556347; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=WUc6IRzVdejbAHWCvNS1DFPLv9TAp+unQ6jPhpK5S64=; b=hUKxY5/OgRrTXw/KCmZeF/G5rcb4n9ND9bIYNq3XvJohw4B1RMU2daSOkWNYBI/98/ JlkMjjr7cw6Pgd0SKSamAwr9RlF5Esqnv+7KpLcJRS9UTW6tBbIsRlwrjjtSAAvwyyyt kjTbJ0hRF8EQ0Vr9/uXOhpmpGDEYUs2bx/mtCUIsvwM7sk+SlNBF2EN2efqwbDLISlyk pWQyheN/eantQaSHQKCXiJHqN/oBy989ZaT1//bEyxnnl3GsQff4nseQRWZz/vi+IAxl s4poLMHCX16bAyxQ5N7XYN+NWPM6X4dsDRx/MLZrr1DpxWhiNUD60i+ImJlBSpgDngfY Nk7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699951547; x=1700556347; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=WUc6IRzVdejbAHWCvNS1DFPLv9TAp+unQ6jPhpK5S64=; b=YHdKQvTfyVmM/BGA7izGKKxk+mMuCFTR6HDH7yV6ljcB1tffcJpLhjaUZjOe4EZCjg CLBVfycmbjyjFY6pdwz3+MKYNZnDgto5f11PSWXzaWlgnzXzMJPC9wyDvvT7g9T/nTCE NCkPOexpmy7/sj2unhZYbXL7ZJsNhdKAPa6pgEJeljnLaN/DjxDQFOoswy5e592nIF4D GvlWw7QiBv4H4NhCix380t7qJiv4lqpoN+oJjMVlLh0RbcF73Hw93/IFJSeHUWapUAnq KcG7KphXPor2LHcHi/zH+xIBH5FMuJ3u0ze5EADZIHt43QEYO3/DTirBp7bCYRMIqWDn Yj2Q== X-Gm-Message-State: AOJu0Yw3yO0RjF5AvBx/mv+zzYRsu75MgzdMskRovlhcQmprvhogW+wV 6Pvl8i9pBXoEOZJBtya+ZqiNRrxH2TY= X-Google-Smtp-Source: AGHT+IGQqhQRt2iq5/W9PkbvFJZw46HZxPH6EJPuzU2Lu7eyHKk94twYXzZ7IMWx/OirKvRXgbrTQA== X-Received: by 2002:a05:6a00:80c9:b0:68e:41e9:10be with SMTP id ei9-20020a056a0080c900b0068e41e910bemr5574881pfb.20.1699951547518; Tue, 14 Nov 2023 00:45:47 -0800 (PST) Received: from carrot.. (i223-218-133-131.s42.a014.ap.plala.or.jp. [223.218.133.131]) by smtp.gmail.com with ESMTPSA id u17-20020a056a00159100b006c4d2479c1asm748083pfk.219.2023.11.14.00.45.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 00:45:47 -0800 (PST) From: Ryusuke Konishi To: Andrew Morton Cc: linux-nilfs@vger.kernel.org, Matthew Wilcox , linux-kernel@vger.kernel.org Subject: [PATCH 08/20] nilfs2: Convert to nilfs_clear_folio_dirty() Date: Tue, 14 Nov 2023 17:44:24 +0900 Message-Id: <20231114084436.2755-9-konishi.ryusuke@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231114084436.2755-1-konishi.ryusuke@gmail.com> References: <20231114084436.2755-1-konishi.ryusuke@gmail.com> 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: "Matthew Wilcox (Oracle)" All callers of nilfs_clear_dirty_page() now have a folio, so rename the function and pass in the folio. Saves three hidden calls to compound_head(). Signed-off-by: Matthew Wilcox (Oracle) Signed-off-by: Ryusuke Konishi --- fs/nilfs2/inode.c | 2 +- fs/nilfs2/mdt.c | 2 +- fs/nilfs2/page.c | 27 ++++++++++++++------------- fs/nilfs2/page.h | 2 +- 4 files changed, 17 insertions(+), 16 deletions(-) diff --git a/fs/nilfs2/inode.c b/fs/nilfs2/inode.c index c7ec56358a79..8fe784f62720 100644 --- a/fs/nilfs2/inode.c +++ b/fs/nilfs2/inode.c @@ -186,7 +186,7 @@ static int nilfs_writepage(struct page *page, struct wr= iteback_control *wbc) * have dirty pages that try to be flushed in background. * So, here we simply discard this dirty page. */ - nilfs_clear_dirty_page(page, false); + nilfs_clear_folio_dirty(folio, false); folio_unlock(folio); return -EROFS; } diff --git a/fs/nilfs2/mdt.c b/fs/nilfs2/mdt.c index 327408512b86..2e7952ac2f67 100644 --- a/fs/nilfs2/mdt.c +++ b/fs/nilfs2/mdt.c @@ -411,7 +411,7 @@ nilfs_mdt_write_page(struct page *page, struct writebac= k_control *wbc) * have dirty folios that try to be flushed in background. * So, here we simply discard this dirty folio. */ - nilfs_clear_dirty_page(page, false); + nilfs_clear_folio_dirty(folio, false); folio_unlock(folio); return -EROFS; } diff --git a/fs/nilfs2/page.c b/fs/nilfs2/page.c index 29799a49c234..48a91ff059f5 100644 --- a/fs/nilfs2/page.c +++ b/fs/nilfs2/page.c @@ -379,7 +379,7 @@ void nilfs_clear_dirty_pages(struct address_space *mapp= ing, bool silent) * was acquired. Skip processing in that case. */ if (likely(folio->mapping =3D=3D mapping)) - nilfs_clear_dirty_page(&folio->page, silent); + nilfs_clear_folio_dirty(folio, silent); =20 folio_unlock(folio); } @@ -389,32 +389,33 @@ void nilfs_clear_dirty_pages(struct address_space *ma= pping, bool silent) } =20 /** - * nilfs_clear_dirty_page - discard dirty page - * @page: dirty page that will be discarded + * nilfs_clear_folio_dirty - discard dirty folio + * @folio: dirty folio that will be discarded * @silent: suppress [true] or print [false] warning messages */ -void nilfs_clear_dirty_page(struct page *page, bool silent) +void nilfs_clear_folio_dirty(struct folio *folio, bool silent) { - struct inode *inode =3D page->mapping->host; + struct inode *inode =3D folio->mapping->host; struct super_block *sb =3D inode->i_sb; + struct buffer_head *bh, *head; =20 - BUG_ON(!PageLocked(page)); + BUG_ON(!folio_test_locked(folio)); =20 if (!silent) nilfs_warn(sb, "discard dirty page: offset=3D%lld, ino=3D%lu", - page_offset(page), inode->i_ino); + folio_pos(folio), inode->i_ino); =20 - ClearPageUptodate(page); - ClearPageMappedToDisk(page); + folio_clear_uptodate(folio); + folio_clear_mappedtodisk(folio); =20 - if (page_has_buffers(page)) { - struct buffer_head *bh, *head; + head =3D folio_buffers(folio); + if (head) { const unsigned long clear_bits =3D (BIT(BH_Uptodate) | BIT(BH_Dirty) | BIT(BH_Mapped) | BIT(BH_Async_Write) | BIT(BH_NILFS_Volatile) | BIT(BH_NILFS_Checked) | BIT(BH_NILFS_Redirected)); =20 - bh =3D head =3D page_buffers(page); + bh =3D head; do { lock_buffer(bh); if (!silent) @@ -427,7 +428,7 @@ void nilfs_clear_dirty_page(struct page *page, bool sil= ent) } while (bh =3D bh->b_this_page, bh !=3D head); } =20 - __nilfs_clear_page_dirty(page); + __nilfs_clear_page_dirty(&folio->page); } =20 unsigned int nilfs_page_count_clean_buffers(struct page *page, diff --git a/fs/nilfs2/page.h b/fs/nilfs2/page.h index a8ab800e689c..c419bb1f5b7d 100644 --- a/fs/nilfs2/page.h +++ b/fs/nilfs2/page.h @@ -41,7 +41,7 @@ void nilfs_page_bug(struct page *); =20 int nilfs_copy_dirty_pages(struct address_space *, struct address_space *); void nilfs_copy_back_pages(struct address_space *, struct address_space *); -void nilfs_clear_dirty_page(struct page *, bool); +void nilfs_clear_folio_dirty(struct folio *, bool); void nilfs_clear_dirty_pages(struct address_space *, bool); unsigned int nilfs_page_count_clean_buffers(struct page *, unsigned int, unsigned int); --=20 2.34.1 From nobody Tue Dec 30 17:01:36 2025 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 2BDB0C4332F for ; Tue, 14 Nov 2023 08:46:14 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232562AbjKNIqP (ORCPT ); Tue, 14 Nov 2023 03:46:15 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47346 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232440AbjKNIpx (ORCPT ); Tue, 14 Nov 2023 03:45:53 -0500 Received: from mail-oo1-xc31.google.com (mail-oo1-xc31.google.com [IPv6:2607:f8b0:4864:20::c31]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2B60DD5F; Tue, 14 Nov 2023 00:45:50 -0800 (PST) Received: by mail-oo1-xc31.google.com with SMTP id 006d021491bc7-586b512ba0aso2407881eaf.3; Tue, 14 Nov 2023 00:45:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699951549; x=1700556349; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ACTke6Zf0OUOc76NPf/lv5o2wBWaGEEAOlcvwIBiVRQ=; b=kg33XimFsbH2RExCawortrrH665/l1gaORpGq0UYPOKDAePT4/BQhJO4C79TT7ONfL 3VpTMl9s2En8lfFFTWGfb9Ns9HNiRfitEqPhMrXyBqXhzO5zILVvthu359qcRCFgHE7R FPGMlKatbMSRaK2Liob/gVKZ7PV5bl0we3Pfy4uugedjvud6LyKUTJ8gh1adeZf8rCgJ pfV3lST+vzMlFABJURF6o3ShDvjjZDLjvHuGDwbkqxS6SzxyOuZ9PfATCV5glye62Deb Bvqt1JoMf+/7sSmjfa1dmLaGbU8dy2pa+80aZL/LLru2nMbSPGsZ6jfbZ1s3SfBjPlb2 8Ufg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699951549; x=1700556349; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ACTke6Zf0OUOc76NPf/lv5o2wBWaGEEAOlcvwIBiVRQ=; b=s39POC/ujzeoJsus9Q1gfU9yJfnfy7kDPZuv02leT86kfcieg0OxRbCYU3FQ+lQaxh 5c5LnCPFicepKRN6uot5iMQGjzvNWHGOef8qWsc5acNmg3tWVks2Gxo/ZIyZ3OgSZqv4 iJZYyRHRFlT3d/zSN633RA90E39VMp+qEV8X7nUOTFOmyd3qMHKKKjeWMlHBP3Nb3qln S8VHZBw12w6Mae0eSmVGlARPaPlYzvxf0ws0xokgJbLtNPG6cG2M2lEMc6TbTWqBsDUD bwYfJNLv78B/Pn2E1fIR85YQ05NFXqcrMjrFsAp5sdno2FF53/GgIl52voCpduwDzYWE hXIw== X-Gm-Message-State: AOJu0YxJzQKq552Q8qAuFRfcHJkXfYQEcuOWF3bMlC0L1ITbhb3lyJ/8 pSV+0cjKSDVbQrP6vWVyY/PlRDZUS4c= X-Google-Smtp-Source: AGHT+IGlMfvNvMnEuydX2KTekDIT1vCzIvQsDbMfMw05BGYwXG36HBcWTIEvd02gUEMpjuDZhJ4Ulg== X-Received: by 2002:a05:6870:498b:b0:1f0:a639:49a1 with SMTP id ho11-20020a056870498b00b001f0a63949a1mr8791524oab.15.1699951549432; Tue, 14 Nov 2023 00:45:49 -0800 (PST) Received: from carrot.. (i223-218-133-131.s42.a014.ap.plala.or.jp. [223.218.133.131]) by smtp.gmail.com with ESMTPSA id u17-20020a056a00159100b006c4d2479c1asm748083pfk.219.2023.11.14.00.45.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 00:45:48 -0800 (PST) From: Ryusuke Konishi To: Andrew Morton Cc: linux-nilfs@vger.kernel.org, Matthew Wilcox , linux-kernel@vger.kernel.org Subject: [PATCH 09/20] nilfs2: Convert to __nilfs_clear_folio_dirty() Date: Tue, 14 Nov 2023 17:44:25 +0900 Message-Id: <20231114084436.2755-10-konishi.ryusuke@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231114084436.2755-1-konishi.ryusuke@gmail.com> References: <20231114084436.2755-1-konishi.ryusuke@gmail.com> 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: "Matthew Wilcox (Oracle)" All callers now have a folio, so convert to pass a folio. No caller uses the return value, so make it return void. Removes a couple of hidden calls to compound_head(). Signed-off-by: Matthew Wilcox (Oracle) Signed-off-by: Ryusuke Konishi --- fs/nilfs2/page.c | 19 ++++++++++--------- fs/nilfs2/page.h | 2 +- fs/nilfs2/segment.c | 2 +- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/fs/nilfs2/page.c b/fs/nilfs2/page.c index 48a91ff059f5..94e11bcee05b 100644 --- a/fs/nilfs2/page.c +++ b/fs/nilfs2/page.c @@ -82,7 +82,7 @@ void nilfs_forget_buffer(struct buffer_head *bh) lock_buffer(bh); set_mask_bits(&bh->b_state, clear_bits, 0); if (nilfs_folio_buffers_clean(folio)) - __nilfs_clear_page_dirty(&folio->page); + __nilfs_clear_folio_dirty(folio); =20 bh->b_blocknr =3D -1; folio_clear_uptodate(folio); @@ -428,7 +428,7 @@ void nilfs_clear_folio_dirty(struct folio *folio, bool = silent) } while (bh =3D bh->b_this_page, bh !=3D head); } =20 - __nilfs_clear_page_dirty(&folio->page); + __nilfs_clear_folio_dirty(folio); } =20 unsigned int nilfs_page_count_clean_buffers(struct page *page, @@ -458,22 +458,23 @@ unsigned int nilfs_page_count_clean_buffers(struct pa= ge *page, * 2) Some B-tree operations like insertion or deletion may dispose buffers * in dirty state, and this needs to cancel the dirty state of their pa= ges. */ -int __nilfs_clear_page_dirty(struct page *page) +void __nilfs_clear_folio_dirty(struct folio *folio) { - struct address_space *mapping =3D page->mapping; + struct address_space *mapping =3D folio->mapping; =20 if (mapping) { xa_lock_irq(&mapping->i_pages); - if (test_bit(PG_dirty, &page->flags)) { - __xa_clear_mark(&mapping->i_pages, page_index(page), + if (folio_test_dirty(folio)) { + __xa_clear_mark(&mapping->i_pages, folio->index, PAGECACHE_TAG_DIRTY); xa_unlock_irq(&mapping->i_pages); - return clear_page_dirty_for_io(page); + folio_clear_dirty_for_io(folio); + return; } xa_unlock_irq(&mapping->i_pages); - return 0; + return; } - return TestClearPageDirty(page); + folio_clear_dirty(folio); } =20 /** diff --git a/fs/nilfs2/page.h b/fs/nilfs2/page.h index c419bb1f5b7d..968b311d265b 100644 --- a/fs/nilfs2/page.h +++ b/fs/nilfs2/page.h @@ -30,7 +30,7 @@ BUFFER_FNS(NILFS_Checked, nilfs_checked) /* buffer is ver= ified */ BUFFER_FNS(NILFS_Redirected, nilfs_redirected) /* redirected to a copy */ =20 =20 -int __nilfs_clear_page_dirty(struct page *); +void __nilfs_clear_folio_dirty(struct folio *); =20 struct buffer_head *nilfs_grab_buffer(struct inode *, struct address_space= *, unsigned long, unsigned long); diff --git a/fs/nilfs2/segment.c b/fs/nilfs2/segment.c index 888b8606a1e8..8c675c118c66 100644 --- a/fs/nilfs2/segment.c +++ b/fs/nilfs2/segment.c @@ -1760,7 +1760,7 @@ static void nilfs_end_folio_io(struct folio *folio, i= nt err) */ folio_lock(folio); if (nilfs_folio_buffers_clean(folio)) - __nilfs_clear_page_dirty(&folio->page); + __nilfs_clear_folio_dirty(folio); folio_unlock(folio); } return; --=20 2.34.1 From nobody Tue Dec 30 17:01:36 2025 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 5F0BBC4332F for ; Tue, 14 Nov 2023 08:46:17 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232582AbjKNIqS (ORCPT ); Tue, 14 Nov 2023 03:46:18 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47332 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232498AbjKNIqB (ORCPT ); Tue, 14 Nov 2023 03:46:01 -0500 Received: from mail-pf1-x42a.google.com (mail-pf1-x42a.google.com [IPv6:2607:f8b0:4864:20::42a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 32B41A4; Tue, 14 Nov 2023 00:45:51 -0800 (PST) Received: by mail-pf1-x42a.google.com with SMTP id d2e1a72fcca58-6bee11456baso4572438b3a.1; Tue, 14 Nov 2023 00:45:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699951551; x=1700556351; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=EviPGa1LuLnC0+KfNNg7CsK+qd6t9X5DweSPa1hqKSw=; b=nfaNMqe2ce7ZdK9sMCxgmLjRywnB0lFVHldlnrAe8+qaMg1sIgxRtwjutw+lU1pt+N ydrdGY6bTudLyqjXBnMoM2KHisnfSCpFF5uItaWDQHsL7laicwgaFxjK5NXKnx2YQGVa VGR6O+BzQ5KXsFJHaAfDKmlESDw8Mm/4S05+S3dUJtacxQnm6cPDcAVzSj23FDTv8eXL AH80PqtQpfZsg9mIV9zOB6ff1E0o3qsopkYy2maQDUpDDX6cMS0bvk98NWh3kSaSL/sO tH40xfNdCcQPGcx2GieZdXisv+lxbvXOC6++TLS3gj3x0H3IuMf1f9etwUQr9I8kNDNT BC9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699951551; x=1700556351; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=EviPGa1LuLnC0+KfNNg7CsK+qd6t9X5DweSPa1hqKSw=; b=Il3NK1V4YbIYqj9TD85AWVRIvKfzjhrpHumedAyma27vvJlMobyoKSBu0Ni/1DL9mm hlyHiw3YuvPAY4PnqiVyp7zMt1T3BIeOyVHXVjxQvmvPMbXIMdKq9O0R7LPuTJFKoD59 KTj2Dm8PzZAwBnRPt6El+B7YGF/ysbdDLqqNxOAPtKTgOAabwK3VSvslwYUYMIaRtmoV iqBf2l8cu/jXIfwDW4Ejp0Piew/4oMA9rWFkiRHogK+jQsr8Q626ifui3DpI7BlAhga/ xrDMoXuxrd6XKOBaFGxZiM80pTpZZfvpYVr86WHoUq6SYqldcTTQQ2zUJe/5nAwjaCdj afXw== X-Gm-Message-State: AOJu0YwlnxEg4dXd1z3su2t/BuRqzOlyV4b5tiaPL/wAH9BC/wadpgam 2M7OqjKwVpqaofs9jEVdggzyYSqODkM= X-Google-Smtp-Source: AGHT+IEfv8RULvG3qEaRcFJz2uh6XDPh43f89p1HvsAAZrxDSdlfFIcC2XZ/2MCbcxK+wCZ3urbAhQ== X-Received: by 2002:aa7:8184:0:b0:68e:496a:7854 with SMTP id g4-20020aa78184000000b0068e496a7854mr5991985pfi.18.1699951551295; Tue, 14 Nov 2023 00:45:51 -0800 (PST) Received: from carrot.. (i223-218-133-131.s42.a014.ap.plala.or.jp. [223.218.133.131]) by smtp.gmail.com with ESMTPSA id u17-20020a056a00159100b006c4d2479c1asm748083pfk.219.2023.11.14.00.45.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 00:45:50 -0800 (PST) From: Ryusuke Konishi To: Andrew Morton Cc: linux-nilfs@vger.kernel.org, Matthew Wilcox , linux-kernel@vger.kernel.org Subject: [PATCH 10/20] nilfs2: Convert nilfs_segctor_prepare_write to use folios Date: Tue, 14 Nov 2023 17:44:26 +0900 Message-Id: <20231114084436.2755-11-konishi.ryusuke@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231114084436.2755-1-konishi.ryusuke@gmail.com> References: <20231114084436.2755-1-konishi.ryusuke@gmail.com> 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: "Matthew Wilcox (Oracle)" Use the new folio APIs, saving 17 hidden calls to compound_head(). Signed-off-by: Matthew Wilcox (Oracle) Signed-off-by: Ryusuke Konishi --- fs/nilfs2/segment.c | 58 ++++++++++++++++++++++----------------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/fs/nilfs2/segment.c b/fs/nilfs2/segment.c index 8c675c118c66..52995838f2de 100644 --- a/fs/nilfs2/segment.c +++ b/fs/nilfs2/segment.c @@ -1665,39 +1665,39 @@ static int nilfs_segctor_assign(struct nilfs_sc_inf= o *sci, int mode) return 0; } =20 -static void nilfs_begin_page_io(struct page *page) +static void nilfs_begin_folio_io(struct folio *folio) { - if (!page || PageWriteback(page)) + if (!folio || folio_test_writeback(folio)) /* * For split b-tree node pages, this function may be called * twice. We ignore the 2nd or later calls by this check. */ return; =20 - lock_page(page); - clear_page_dirty_for_io(page); - set_page_writeback(page); - unlock_page(page); + folio_lock(folio); + folio_clear_dirty_for_io(folio); + folio_start_writeback(folio); + folio_unlock(folio); } =20 static void nilfs_segctor_prepare_write(struct nilfs_sc_info *sci) { struct nilfs_segment_buffer *segbuf; - struct page *bd_page =3D NULL, *fs_page =3D NULL; + struct folio *bd_folio =3D NULL, *fs_folio =3D NULL; =20 list_for_each_entry(segbuf, &sci->sc_segbufs, sb_list) { struct buffer_head *bh; =20 list_for_each_entry(bh, &segbuf->sb_segsum_buffers, b_assoc_buffers) { - if (bh->b_page !=3D bd_page) { - if (bd_page) { - lock_page(bd_page); - clear_page_dirty_for_io(bd_page); - set_page_writeback(bd_page); - unlock_page(bd_page); + if (bh->b_folio !=3D bd_folio) { + if (bd_folio) { + folio_lock(bd_folio); + folio_clear_dirty_for_io(bd_folio); + folio_start_writeback(bd_folio); + folio_unlock(bd_folio); } - bd_page =3D bh->b_page; + bd_folio =3D bh->b_folio; } } =20 @@ -1705,28 +1705,28 @@ static void nilfs_segctor_prepare_write(struct nilf= s_sc_info *sci) b_assoc_buffers) { set_buffer_async_write(bh); if (bh =3D=3D segbuf->sb_super_root) { - if (bh->b_page !=3D bd_page) { - lock_page(bd_page); - clear_page_dirty_for_io(bd_page); - set_page_writeback(bd_page); - unlock_page(bd_page); - bd_page =3D bh->b_page; + if (bh->b_folio !=3D bd_folio) { + folio_lock(bd_folio); + folio_clear_dirty_for_io(bd_folio); + folio_start_writeback(bd_folio); + folio_unlock(bd_folio); + bd_folio =3D bh->b_folio; } break; } - if (bh->b_page !=3D fs_page) { - nilfs_begin_page_io(fs_page); - fs_page =3D bh->b_page; + if (bh->b_folio !=3D fs_folio) { + nilfs_begin_folio_io(fs_folio); + fs_folio =3D bh->b_folio; } } } - if (bd_page) { - lock_page(bd_page); - clear_page_dirty_for_io(bd_page); - set_page_writeback(bd_page); - unlock_page(bd_page); + if (bd_folio) { + folio_lock(bd_folio); + folio_clear_dirty_for_io(bd_folio); + folio_start_writeback(bd_folio); + folio_unlock(bd_folio); } - nilfs_begin_page_io(fs_page); + nilfs_begin_folio_io(fs_folio); } =20 static int nilfs_segctor_write(struct nilfs_sc_info *sci, --=20 2.34.1 From nobody Tue Dec 30 17:01:36 2025 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 15141C4167B for ; Tue, 14 Nov 2023 08:46:31 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232532AbjKNIqb (ORCPT ); Tue, 14 Nov 2023 03:46:31 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33262 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232465AbjKNIqB (ORCPT ); Tue, 14 Nov 2023 03:46:01 -0500 Received: from mail-pf1-x42a.google.com (mail-pf1-x42a.google.com [IPv6:2607:f8b0:4864:20::42a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F3AB71702; Tue, 14 Nov 2023 00:45:53 -0800 (PST) Received: by mail-pf1-x42a.google.com with SMTP id d2e1a72fcca58-6b77ab73c6fso4142832b3a.1; Tue, 14 Nov 2023 00:45:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699951553; x=1700556353; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=umby/gWaD1NG+I+nr3l0/ZqYcII4I1MQz6hPgggA34k=; b=exrJ6969GK5Ej3rCN3aS9kX3Dm+Nr/RF3WauIv/kegCBXUq4KScwG6C2runr1pc7XF qdyPnOlA+3Weo/KMnsYMMpAIWGfnDJCDeBfq47z1WQwxKElVHr+rokpjl8b/C+Nk9WxB mMjeGQBEts7krWw+hVGKQtXRO+xlOgieWD6AsmfqnOtoQjbv+jNhslxaEFdRi7jpNcvz l5h5+XaR5KyilJs18/k0clj5Ao3CBQrUM/VjDL0SjhuEmvBUgl9iCxu7mMp7zistTaTM AZpuLWGgJDtUjXighP69VLAcCf11uSd/g5cVm9nUMH544iocpEluGKA5xyLEd+XsVo9h do0A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699951553; x=1700556353; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=umby/gWaD1NG+I+nr3l0/ZqYcII4I1MQz6hPgggA34k=; b=ZvpLvMkq5Tayc6n+1L3HZLa5A7KMIL7bjsASs+IYjULu83aTM26IaunCHGicLo+GDa kFA2t3WF5vKSfiMdKUWqNFGndPTZzGotv+c+sDBI+pG/jUoj4kzc6Ht/Dwupo0oSSlFg OeJwtnxJ9oJKjB/qD6+f0m6NiPhELYmas82CI4BONv/pYcRbULp4+gTSBB6NpDWkt3G4 VsupppJkm5zPeA5kj6yazyolOurmaPwSb6XStoy1Q8Po3c7RYhHAlEG4RZzx9VViY+ll CEXZe/C8/h9oqnYnppZhQdyoYpQLwlaWuerY89nY+AbLHmC9rl720iiNrvHJo/EluFJc 8pFA== X-Gm-Message-State: AOJu0YycTdelT55Z/jRbCwjwk5aASzH6gerYmElA4MXdD7vvBEs9rfpd +fkYuv7kGmUuUAMsHw2yuesOm0D+xeI= X-Google-Smtp-Source: AGHT+IGGYAjbGkfsRqilXeYukhPGeI/paHDvR9ncPZdGDta/CNE/gjRJ6SwuiPa1YraYcFy9DWrTpg== X-Received: by 2002:a05:6a20:9387:b0:17e:aa00:ca62 with SMTP id x7-20020a056a20938700b0017eaa00ca62mr2258319pzh.17.1699951553184; Tue, 14 Nov 2023 00:45:53 -0800 (PST) Received: from carrot.. (i223-218-133-131.s42.a014.ap.plala.or.jp. [223.218.133.131]) by smtp.gmail.com with ESMTPSA id u17-20020a056a00159100b006c4d2479c1asm748083pfk.219.2023.11.14.00.45.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 00:45:52 -0800 (PST) From: Ryusuke Konishi To: Andrew Morton Cc: linux-nilfs@vger.kernel.org, Matthew Wilcox , linux-kernel@vger.kernel.org Subject: [PATCH 11/20] nilfs2: Convert nilfs_page_mkwrite() to use a folio Date: Tue, 14 Nov 2023 17:44:27 +0900 Message-Id: <20231114084436.2755-12-konishi.ryusuke@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231114084436.2755-1-konishi.ryusuke@gmail.com> References: <20231114084436.2755-1-konishi.ryusuke@gmail.com> 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: "Matthew Wilcox (Oracle)" Using the new folio APIs saves seven hidden calls to compound_head(). Signed-off-by: Matthew Wilcox (Oracle) Signed-off-by: Ryusuke Konishi --- fs/nilfs2/file.c | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/fs/nilfs2/file.c b/fs/nilfs2/file.c index 740ce26d1e76..bec33b89a075 100644 --- a/fs/nilfs2/file.c +++ b/fs/nilfs2/file.c @@ -45,34 +45,36 @@ int nilfs_sync_file(struct file *file, loff_t start, lo= ff_t end, int datasync) static vm_fault_t nilfs_page_mkwrite(struct vm_fault *vmf) { struct vm_area_struct *vma =3D vmf->vma; - struct page *page =3D vmf->page; + struct folio *folio =3D page_folio(vmf->page); struct inode *inode =3D file_inode(vma->vm_file); struct nilfs_transaction_info ti; + struct buffer_head *bh, *head; int ret =3D 0; =20 if (unlikely(nilfs_near_disk_full(inode->i_sb->s_fs_info))) return VM_FAULT_SIGBUS; /* -ENOSPC */ =20 sb_start_pagefault(inode->i_sb); - lock_page(page); - if (page->mapping !=3D inode->i_mapping || - page_offset(page) >=3D i_size_read(inode) || !PageUptodate(page)) { - unlock_page(page); + folio_lock(folio); + if (folio->mapping !=3D inode->i_mapping || + folio_pos(folio) >=3D i_size_read(inode) || + !folio_test_uptodate(folio)) { + folio_unlock(folio); ret =3D -EFAULT; /* make the VM retry the fault */ goto out; } =20 /* - * check to see if the page is mapped already (no holes) + * check to see if the folio is mapped already (no holes) */ - if (PageMappedToDisk(page)) + if (folio_test_mappedtodisk(folio)) goto mapped; =20 - if (page_has_buffers(page)) { - struct buffer_head *bh, *head; + head =3D folio_buffers(folio); + if (head) { int fully_mapped =3D 1; =20 - bh =3D head =3D page_buffers(page); + bh =3D head; do { if (!buffer_mapped(bh)) { fully_mapped =3D 0; @@ -81,11 +83,11 @@ static vm_fault_t nilfs_page_mkwrite(struct vm_fault *v= mf) } while (bh =3D bh->b_this_page, bh !=3D head); =20 if (fully_mapped) { - SetPageMappedToDisk(page); + folio_set_mappedtodisk(folio); goto mapped; } } - unlock_page(page); + folio_unlock(folio); =20 /* * fill hole blocks @@ -105,7 +107,7 @@ static vm_fault_t nilfs_page_mkwrite(struct vm_fault *v= mf) nilfs_transaction_commit(inode->i_sb); =20 mapped: - wait_for_stable_page(page); + folio_wait_stable(folio); out: sb_end_pagefault(inode->i_sb); return vmf_fs_error(ret); --=20 2.34.1 From nobody Tue Dec 30 17:01:36 2025 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 3BEC5C4332F for ; Tue, 14 Nov 2023 08:46:36 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232686AbjKNIqg (ORCPT ); Tue, 14 Nov 2023 03:46:36 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47384 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232520AbjKNIqD (ORCPT ); Tue, 14 Nov 2023 03:46:03 -0500 Received: from mail-pf1-x42b.google.com (mail-pf1-x42b.google.com [IPv6:2607:f8b0:4864:20::42b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D5826172A; Tue, 14 Nov 2023 00:45:55 -0800 (PST) Received: by mail-pf1-x42b.google.com with SMTP id d2e1a72fcca58-6c33ab26dddso4647572b3a.0; Tue, 14 Nov 2023 00:45:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699951555; x=1700556355; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=jOfolZFbaeNksDOEbKm+WHbGTOTwNzBMg/acdZEYYm0=; b=Q4/Q46fQKj/iZ+6jlByyi8fVg2sibhtdHaSm03Bmt8R51a/vcqR995EAXBYKk7dB3/ LCg3350aatZC9wTrxN6QUnkQhAS6kjrTDFCXs0UfSMLm9AihNbIieZAFajAPwaVzIfjO 0T3apb2g+IIWCGQ4+GF3uZzfJtWMfvdNAei/keglE1WWMY4ZmRqrMaCfXF3E8jUseOVf VbcHeLY8x5RRBfMdvEXcl022V/e9wkNwGPsQmUIWN+RIiZHAXMe6KwCl+c1pMHEYyBNq cQ3pF220say2e+PB5/HkO8CyE0H2CmULrElKZfKYZt1LDL6kOJBrUGiTwACMIpZ0MXjA qVgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699951555; x=1700556355; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=jOfolZFbaeNksDOEbKm+WHbGTOTwNzBMg/acdZEYYm0=; b=wvE0L2u7/289yHL3o4Db1KUhNz2WFnrKTM+/Zq4VDbAcrZXZ58VNIPfssN6bRC+CsQ 2DLteAfS/waP0VFrHmw4bsCniryjxxRoQ8BgCfXXIA7TYH+SLLL36imdaPN2wdLn27pv 631DUwiE1666E86IVbDeUfzVJCNzyxOTP7ix3KRPIloiyaK5sM+v0SLCIhnrqv0lizov Q7we9TVF6xr+kEHo4cB1jDjs+M4Gfu3uVeJRvbb7mjVTd0ueG82wkg1g1niqV//2GojL qErq9uxwtEv4J57/aC3BbF6/IgN1aHXqx/Y3/wCrzUOV6GVSYxh13c7x497CvSh1H3gl 6llQ== X-Gm-Message-State: AOJu0YxU4rguTBUceJFxP1pwMukAweFu1l2kkg44sFP9215A0yspXeej RydXjVlxvFPr5IbiypByf/0= X-Google-Smtp-Source: AGHT+IFRkq0ZMiECnb8jMt5B1LgZZ4K009MFF6pkKsoYuJb9UzOLGt4BV+BpbptFEx/LEX5AEHnnvQ== X-Received: by 2002:a05:6a00:2e1f:b0:6c6:b762:ad8c with SMTP id fc31-20020a056a002e1f00b006c6b762ad8cmr7012892pfb.0.1699951555054; Tue, 14 Nov 2023 00:45:55 -0800 (PST) Received: from carrot.. (i223-218-133-131.s42.a014.ap.plala.or.jp. [223.218.133.131]) by smtp.gmail.com with ESMTPSA id u17-20020a056a00159100b006c4d2479c1asm748083pfk.219.2023.11.14.00.45.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 00:45:54 -0800 (PST) From: Ryusuke Konishi To: Andrew Morton Cc: linux-nilfs@vger.kernel.org, Matthew Wilcox , linux-kernel@vger.kernel.org Subject: [PATCH 12/20] nilfs2: Convert nilfs_mdt_create_block to use a folio Date: Tue, 14 Nov 2023 17:44:28 +0900 Message-Id: <20231114084436.2755-13-konishi.ryusuke@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231114084436.2755-1-konishi.ryusuke@gmail.com> References: <20231114084436.2755-1-konishi.ryusuke@gmail.com> 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: "Matthew Wilcox (Oracle)" Saves two calls to compound_head(). Signed-off-by: Matthew Wilcox (Oracle) Signed-off-by: Ryusuke Konishi --- fs/nilfs2/mdt.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/nilfs2/mdt.c b/fs/nilfs2/mdt.c index 2e7952ac2f67..7e4dcff2c94b 100644 --- a/fs/nilfs2/mdt.c +++ b/fs/nilfs2/mdt.c @@ -97,8 +97,8 @@ static int nilfs_mdt_create_block(struct inode *inode, un= signed long block, } =20 failed_bh: - unlock_page(bh->b_page); - put_page(bh->b_page); + folio_unlock(bh->b_folio); + folio_put(bh->b_folio); brelse(bh); =20 failed_unlock: --=20 2.34.1 From nobody Tue Dec 30 17:01:36 2025 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 0E411C4332F for ; Tue, 14 Nov 2023 08:46:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232701AbjKNIqs (ORCPT ); Tue, 14 Nov 2023 03:46:48 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47426 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232447AbjKNIqF (ORCPT ); Tue, 14 Nov 2023 03:46:05 -0500 Received: from mail-pf1-x431.google.com (mail-pf1-x431.google.com [IPv6:2607:f8b0:4864:20::431]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 834A6173F; Tue, 14 Nov 2023 00:45:57 -0800 (PST) Received: by mail-pf1-x431.google.com with SMTP id d2e1a72fcca58-6c4eb5fda3cso3798198b3a.2; Tue, 14 Nov 2023 00:45:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699951557; x=1700556357; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=xisVeqpy2L7XrdO22Kj0Z2SYhUle5QFc64kz4XqShlg=; b=PpXiegtXxKV3CBiT6z6b7ityetE/cQBX81WCX2Pu0zTIrkYLrazHOsyuYxxsbCIcDh Kbg3uDWKK1aQamQa14hz/lSB8eEF90JsjSxwL/VBp6T1LmARfyfKZ2JE4+0WCtTAjUDO ZzMyiRR2us/EdmNfI/Ruve6Den/HZRLYUqxA7XsX9IaiDv1YKGf724+ZCuPcS0ZFyf+v 8TjHmlqsfHT5Wfc1jEqwahS0hwLQHL9S0HOlnwuvCC9yZjSNA2Bn+mc9mv3hvkUA6slr D+GGysVa8TdvUGzNvwtajLAjooAN1Qttdrq/e6EFbAs1eFvL1FEqyIRdJ6SinizHuMqZ jH9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699951557; x=1700556357; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=xisVeqpy2L7XrdO22Kj0Z2SYhUle5QFc64kz4XqShlg=; b=w9+Vk55qCUpTo1CvqW5XYxucKsjujXuOij1UCqcDTFF7TIp+Q9JuNEDh6frw7X9lHS 3QfjD5Bfe7LjXsn+pWI18QeBx02qwPl2OtygGu8uBblTqTNJ4a8mMPTw/pUwWgFwGzv7 nQ1hxbcOL88uqjnw8WlUTH74Ga4ctw1ygUXoVLieL7fOf8ZeBEQM/ZBTGbLz/9JFVIt7 yxHqoJGa8kZ3nRnaqubOfW750zWg1wYfegsAnDil7fqKgQpYXcztmFdU1SlpdL0cvq+m Iq2aZXGNRt8YN2/We74objCwyoD9eR73JJNMBZ5SEqNzxcp7TSEMFBI1wd7zu2jKkQ/+ itRg== X-Gm-Message-State: AOJu0Yw3+7wkXvqLPFJgN52ZY5fw4bA/1HuT69KnoX3WDuO578tJ29Du 0umi43xT0MZ3vcarXUloAYEBkgQrWNY= X-Google-Smtp-Source: AGHT+IEXGX1kjcfI5Y6JVcmLn2dKdb2xMoZv5eLI5dPWiNAzGiOPQsOpjk4FfL8GEZThpsJwf8IwYQ== X-Received: by 2002:a05:6a20:12c3:b0:16b:c20d:f979 with SMTP id v3-20020a056a2012c300b0016bc20df979mr11331159pzg.13.1699951556883; Tue, 14 Nov 2023 00:45:56 -0800 (PST) Received: from carrot.. (i223-218-133-131.s42.a014.ap.plala.or.jp. [223.218.133.131]) by smtp.gmail.com with ESMTPSA id u17-20020a056a00159100b006c4d2479c1asm748083pfk.219.2023.11.14.00.45.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 00:45:56 -0800 (PST) From: Ryusuke Konishi To: Andrew Morton Cc: linux-nilfs@vger.kernel.org, Matthew Wilcox , linux-kernel@vger.kernel.org Subject: [PATCH 13/20] nilfs2: Convert nilfs_mdt_submit_block to use a folio Date: Tue, 14 Nov 2023 17:44:29 +0900 Message-Id: <20231114084436.2755-14-konishi.ryusuke@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231114084436.2755-1-konishi.ryusuke@gmail.com> References: <20231114084436.2755-1-konishi.ryusuke@gmail.com> 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: "Matthew Wilcox (Oracle)" Saves two calls to compound_head(). Signed-off-by: Matthew Wilcox (Oracle) Signed-off-by: Ryusuke Konishi --- fs/nilfs2/mdt.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/nilfs2/mdt.c b/fs/nilfs2/mdt.c index 7e4dcff2c94b..e45c01a559c0 100644 --- a/fs/nilfs2/mdt.c +++ b/fs/nilfs2/mdt.c @@ -158,8 +158,8 @@ nilfs_mdt_submit_block(struct inode *inode, unsigned lo= ng blkoff, blk_opf_t opf, *out_bh =3D bh; =20 failed_bh: - unlock_page(bh->b_page); - put_page(bh->b_page); + folio_unlock(bh->b_folio); + folio_put(bh->b_folio); brelse(bh); failed: return ret; --=20 2.34.1 From nobody Tue Dec 30 17:01:36 2025 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 7BBFAC4332F for ; Tue, 14 Nov 2023 08:46:42 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232575AbjKNIqn (ORCPT ); Tue, 14 Nov 2023 03:46:43 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47442 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232460AbjKNIqF (ORCPT ); Tue, 14 Nov 2023 03:46:05 -0500 Received: from mail-pg1-x530.google.com (mail-pg1-x530.google.com [IPv6:2607:f8b0:4864:20::530]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 583DD1A8; Tue, 14 Nov 2023 00:45:59 -0800 (PST) Received: by mail-pg1-x530.google.com with SMTP id 41be03b00d2f7-5a9bc2ec556so3223812a12.0; Tue, 14 Nov 2023 00:45:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699951559; x=1700556359; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=zf/f9iBOx5zFbOHUi2L8dYuwfOZwOV/VjcIWW5aZNCI=; b=B8v0iAi4kWFSw4xBDhd+yCGqGjSxUsaQLqxk393Oponv1r4hKDIt0uXMdh4o9tLoZ7 03Dzb6C0Vs3U9OREKrRHXw8faF3ZgeHWxoNsB+8lZm4mDNa806GOblpzPsbLEgjEkNxI r7ps5c/nFm7le8eQrDW/0ccyJ2FskBzkTp9o7b8wm9MoXk1RrMcDBTmEO1Ulqa05EUpS UMclit9dFQ0uUiclwSqPKD6ROK+V8q8vqAYfU7um3Wty0NxNfjn8H33TQosv4J+nyot0 jap1zycVIyH9OP3LJiKcXqygEzR9XPDM2dR5SWQTKqTFsF+DQzKawMolSiaXJJCHAFaF t9Yw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699951559; x=1700556359; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zf/f9iBOx5zFbOHUi2L8dYuwfOZwOV/VjcIWW5aZNCI=; b=pxf2WmDPc9i0WCE3+wM9KwcpSwE6xjMivvJ4jj2w61ohiiOiWPHbnCsajhb1Fexvum HOK2xGgkPK7Rl4RECGuwzkdAqIeB+XXXeJ47hwRRVnDf89rXn64mDi7kdGknaDepQcvL 6Hbfcth2266Llw8tNWg6+eo3cc3gALWoN/XeDp8yN8mV2s1Ouv0UW9DczauFeQiT82pC ZL8n/ByPR+4j1ZmbDaRluWOkRJA9iUzS0eONaCrrQp6Ewr5q2JYOs0UrydqMn0VpdsMk knJInRh/Xexxjzv9j40tABQ89hcEY7raO32aAkIYStnBXM6SIwNsgf7N3UpyYUWMPX2D d/Pw== X-Gm-Message-State: AOJu0YwssL7kaqMjLBLRM9oaTsbfHzoQ4wgm6GueOx9NNRBcV+kpDAVj wZINF6vgchUR6+PxCNM2Ch4= X-Google-Smtp-Source: AGHT+IHGqVToJdO+0H/0NSFkx7CPf9B44RgCTRB9vswuZp86zB2Aef/ztx0eec3ChpSL2pSFgZfAWQ== X-Received: by 2002:a05:6a20:244a:b0:16b:80f2:f30c with SMTP id t10-20020a056a20244a00b0016b80f2f30cmr7338974pzc.26.1699951558709; Tue, 14 Nov 2023 00:45:58 -0800 (PST) Received: from carrot.. (i223-218-133-131.s42.a014.ap.plala.or.jp. [223.218.133.131]) by smtp.gmail.com with ESMTPSA id u17-20020a056a00159100b006c4d2479c1asm748083pfk.219.2023.11.14.00.45.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 00:45:58 -0800 (PST) From: Ryusuke Konishi To: Andrew Morton Cc: linux-nilfs@vger.kernel.org, Matthew Wilcox , linux-kernel@vger.kernel.org Subject: [PATCH 14/20] nilfs2: Convert nilfs_gccache_submit_read_data to use a folio Date: Tue, 14 Nov 2023 17:44:30 +0900 Message-Id: <20231114084436.2755-15-konishi.ryusuke@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231114084436.2755-1-konishi.ryusuke@gmail.com> References: <20231114084436.2755-1-konishi.ryusuke@gmail.com> 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: "Matthew Wilcox (Oracle)" Saves two calls to compound_head(). Signed-off-by: Matthew Wilcox (Oracle) Signed-off-by: Ryusuke Konishi --- fs/nilfs2/gcinode.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/nilfs2/gcinode.c b/fs/nilfs2/gcinode.c index 8beb2730929d..bf9a11d58817 100644 --- a/fs/nilfs2/gcinode.c +++ b/fs/nilfs2/gcinode.c @@ -98,8 +98,8 @@ int nilfs_gccache_submit_read_data(struct inode *inode, s= ector_t blkoff, *out_bh =3D bh; =20 failed: - unlock_page(bh->b_page); - put_page(bh->b_page); + folio_unlock(bh->b_folio); + folio_put(bh->b_folio); if (unlikely(err)) brelse(bh); return err; --=20 2.34.1 From nobody Tue Dec 30 17:01:36 2025 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 BCBFEC4332F for ; Tue, 14 Nov 2023 08:46:52 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232728AbjKNIqx (ORCPT ); Tue, 14 Nov 2023 03:46:53 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57620 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232586AbjKNIq0 (ORCPT ); Tue, 14 Nov 2023 03:46:26 -0500 Received: from mail-pf1-x42d.google.com (mail-pf1-x42d.google.com [IPv6:2607:f8b0:4864:20::42d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 920DCD63; Tue, 14 Nov 2023 00:46:01 -0800 (PST) Received: by mail-pf1-x42d.google.com with SMTP id d2e1a72fcca58-6c34e87b571so4448722b3a.3; Tue, 14 Nov 2023 00:46:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699951560; x=1700556360; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=6OonMHeI+fmAL+SrfrNy+FjwHGIExPKOm7s2HbIBrKs=; b=Vmy3PRzIwy9D1KpvmXPnqxxPHBP3RQPmqHVwShkW9FxluvJGKlx+M+z09eSBi7nC0G TDx6jR+SkHxjVawrKM+2CdnL3rqKEpaLP0eCOXNMospYt8ifCLAo/OEFI9s1IvXUBYLL WpjFqHzAUAC1xsw96fUUDfD2XEga75Gi4iyKYVXU8moZfgthpcnJzWZhRiPQh6+mOHA6 L+Rm8ET7ARacmTjIXXSB89kAuaEWhWrm27rUdAl0fksjvsiq5Rnq6NmgZ/EurBHlS66X wiQznxEBq1NNZqTZSSqqHC94Umdl7L5Wyxke1r4IofPBz+nouA3oxwhyBO0iT8PxIB6u Xm9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699951560; x=1700556360; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6OonMHeI+fmAL+SrfrNy+FjwHGIExPKOm7s2HbIBrKs=; b=TBgXMYArTFoaPcxYh3IPLWQfRzyhjgVyZrcUHRrhbJGzF99FB99EdMwCbZ5ILql7W5 TB8Pw+4pphipkHfVKWtUqbFxmbF/BAskQc7x3l7klXlvXEPbws4mDFTj/8x6vAgs5wH2 U9ORJ1aV+hpE88ejXxfk/LJsHzdYDViwiETQdji+BXd65whbR2ANi+E3rm0l+XIN02gC AxWUOoLXswmwXZd+w2qZo3PRUa8Ima7wch0Mv+JHkS19hGyNnJ/rXP2G27ysPLwQ5a8w 7/EKSkgA7Uc5wJ2bzGIOenInwFx2mju5n0bjYSBdR7wpm0An7pliD2NweWzC4T7kCGAT iWAg== X-Gm-Message-State: AOJu0YyhFI0o5WS/TSOYFOQbfzvK8+gL+QNdPedr0zQEWv81t+WwG9st afNc0uax9y0p7FcJboZh+o+WrRbZCBo= X-Google-Smtp-Source: AGHT+IFAGIFuRdPqdq+CxEO0+ss9bCRhvkOQNokqpUyu1pFAtz15mtmc75fcxU6hdDGH/yQ3P76XYA== X-Received: by 2002:a62:b403:0:b0:6bc:b13c:35d5 with SMTP id h3-20020a62b403000000b006bcb13c35d5mr6461057pfn.13.1699951560636; Tue, 14 Nov 2023 00:46:00 -0800 (PST) Received: from carrot.. (i223-218-133-131.s42.a014.ap.plala.or.jp. [223.218.133.131]) by smtp.gmail.com with ESMTPSA id u17-20020a056a00159100b006c4d2479c1asm748083pfk.219.2023.11.14.00.45.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 00:46:00 -0800 (PST) From: Ryusuke Konishi To: Andrew Morton Cc: linux-nilfs@vger.kernel.org, Matthew Wilcox , linux-kernel@vger.kernel.org Subject: [PATCH 15/20] nilfs2: Convert nilfs_btnode_create_block to use a folio Date: Tue, 14 Nov 2023 17:44:31 +0900 Message-Id: <20231114084436.2755-16-konishi.ryusuke@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231114084436.2755-1-konishi.ryusuke@gmail.com> References: <20231114084436.2755-1-konishi.ryusuke@gmail.com> 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: "Matthew Wilcox (Oracle)" Saves two calls to compound_head(). Signed-off-by: Matthew Wilcox (Oracle) Signed-off-by: Ryusuke Konishi --- fs/nilfs2/btnode.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/nilfs2/btnode.c b/fs/nilfs2/btnode.c index 5710833ac1cc..691a50410ea9 100644 --- a/fs/nilfs2/btnode.c +++ b/fs/nilfs2/btnode.c @@ -64,8 +64,8 @@ nilfs_btnode_create_block(struct address_space *btnc, __u= 64 blocknr) set_buffer_mapped(bh); set_buffer_uptodate(bh); =20 - unlock_page(bh->b_page); - put_page(bh->b_page); + folio_unlock(bh->b_folio); + folio_put(bh->b_folio); return bh; } =20 --=20 2.34.1 From nobody Tue Dec 30 17:01:36 2025 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 C360EC4332F for ; Tue, 14 Nov 2023 08:46:59 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232523AbjKNIq6 (ORCPT ); Tue, 14 Nov 2023 03:46:58 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47368 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232430AbjKNIq3 (ORCPT ); Tue, 14 Nov 2023 03:46:29 -0500 Received: from mail-oo1-xc2d.google.com (mail-oo1-xc2d.google.com [IPv6:2607:f8b0:4864:20::c2d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7336AD56; Tue, 14 Nov 2023 00:46:03 -0800 (PST) Received: by mail-oo1-xc2d.google.com with SMTP id 006d021491bc7-586ba7cdb6bso3058872eaf.2; Tue, 14 Nov 2023 00:46:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699951562; x=1700556362; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=pHyiqrpjh6fekzP9HnVZDAdWYJgQZ8Vlg/OwNXBLqa8=; b=fXhUrO2zYA4qTOqnQniFqP2O5p9F746F/jGCmtf2IdJYJ5YBQiZTPawyKfCkcGJy86 lSJgppNl5FwfTKVPwLTM1FIdfo0n5vwtSDqp7xEnaEY/+mjmovkw7BAglZyFEKPEUAcW 2E4KhPjPNJskhp8PGZeAcKFrvIcJHyFNQEUpen3SooVpL3kU9J9w+aWU0FvcVKpNj7m9 jfEtKazjGYX49pLbttlVMUbQpQMV54EAfohuX2T46cpkmnJY2W/ayJU+1hnvvyRKgGQO CMtcufbxG34gRY0EXv9Nw8D5tAtOghFGJweWtbWlRmKNbz4eqg3bAtLQoKbLZbqKL16N EXPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699951562; x=1700556362; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=pHyiqrpjh6fekzP9HnVZDAdWYJgQZ8Vlg/OwNXBLqa8=; b=iUVbnsC4M5gj6Of/6oafddbsfMsyuQ2D/mJzeawxpZ/GRNPwly2fgsOGC+c36+KW8u /vnfiBwvcH7T27LgY/2kceqGb652h/8dpAoxdvcYvebq7wpkwYZLdojTNhvv3yQC50b8 En2D2ZjI1MSoQUNTEbhf+oIyT2KgXc9Mq4wQelOk8jJOlIt9KuCHpJK0ka25UW/UMft7 JFYduwEDFZ/HWkJeiW7mwDhApmAr83+pn79GqvyWjPCJEODLTJJkydsXOe+YCuxe8yUA 8npPzCQbLyhgyY6Gt3X9wggztrruqsA1mFbmNJqogBkIYDaPkBGdLRFWTAv9W8H4rwWz 0f2Q== X-Gm-Message-State: AOJu0Yxers+XxcaPA2IeT2GTM+iBskHEt5hQSpKCFIOtxDjekttz7gih AsOO08TZjmZOW3tcT0EmeJXJjvzz+Hg= X-Google-Smtp-Source: AGHT+IGz2LlV6lwJ83IC/wPiFp4spN3YnuFCNFlP9ivoxhAV6QRnu6E5QKVLMg+O8P77py0aOvmnMA== X-Received: by 2002:a05:6870:bd4c:b0:1ea:8b10:247e with SMTP id og12-20020a056870bd4c00b001ea8b10247emr13073968oab.27.1699951562547; Tue, 14 Nov 2023 00:46:02 -0800 (PST) Received: from carrot.. (i223-218-133-131.s42.a014.ap.plala.or.jp. [223.218.133.131]) by smtp.gmail.com with ESMTPSA id u17-20020a056a00159100b006c4d2479c1asm748083pfk.219.2023.11.14.00.46.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 00:46:02 -0800 (PST) From: Ryusuke Konishi To: Andrew Morton Cc: linux-nilfs@vger.kernel.org, Matthew Wilcox , linux-kernel@vger.kernel.org Subject: [PATCH 16/20] nilfs2: Convert nilfs_btnode_submit_block to use a folio Date: Tue, 14 Nov 2023 17:44:32 +0900 Message-Id: <20231114084436.2755-17-konishi.ryusuke@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231114084436.2755-1-konishi.ryusuke@gmail.com> References: <20231114084436.2755-1-konishi.ryusuke@gmail.com> 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: "Matthew Wilcox (Oracle)" Saves two calls to compound_head(). Signed-off-by: Matthew Wilcox (Oracle) Signed-off-by: Ryusuke Konishi --- fs/nilfs2/btnode.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/fs/nilfs2/btnode.c b/fs/nilfs2/btnode.c index 691a50410ea9..5ef9eebd8d2e 100644 --- a/fs/nilfs2/btnode.c +++ b/fs/nilfs2/btnode.c @@ -75,7 +75,7 @@ int nilfs_btnode_submit_block(struct address_space *btnc,= __u64 blocknr, { struct buffer_head *bh; struct inode *inode =3D btnc->host; - struct page *page; + struct folio *folio; int err; =20 bh =3D nilfs_grab_buffer(inode, btnc, blocknr, BIT(BH_NILFS_Node)); @@ -83,7 +83,7 @@ int nilfs_btnode_submit_block(struct address_space *btnc,= __u64 blocknr, return -ENOMEM; =20 err =3D -EEXIST; /* internal code */ - page =3D bh->b_page; + folio =3D bh->b_folio; =20 if (buffer_uptodate(bh) || buffer_dirty(bh)) goto found; @@ -130,8 +130,8 @@ int nilfs_btnode_submit_block(struct address_space *btn= c, __u64 blocknr, *pbh =3D bh; =20 out_locked: - unlock_page(page); - put_page(page); + folio_unlock(folio); + folio_put(folio); return err; } =20 --=20 2.34.1 From nobody Tue Dec 30 17:01:36 2025 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 2B50FC4332F for ; Tue, 14 Nov 2023 08:47:03 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232467AbjKNIrD (ORCPT ); Tue, 14 Nov 2023 03:47:03 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57744 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232629AbjKNIqa (ORCPT ); Tue, 14 Nov 2023 03:46:30 -0500 Received: from mail-pf1-x42c.google.com (mail-pf1-x42c.google.com [IPv6:2607:f8b0:4864:20::42c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0AE921998; Tue, 14 Nov 2023 00:46:05 -0800 (PST) Received: by mail-pf1-x42c.google.com with SMTP id d2e1a72fcca58-6b1d1099a84so5371894b3a.1; Tue, 14 Nov 2023 00:46:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699951564; x=1700556364; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=v358YCD378yAUvjDSYqbMjqywkD/bfhThxAzZwlQTSk=; b=mHOGuFVK4jFaLGYVqhWbAgtTr37E66fbEpUFyra2s7OyZHcEoJf4DB6vTfujlQxHT6 nJ1TEcgQ3kNTV4OkPsw+m/CmcnNDLMFGa7VG2jPCvEwoTGmIipzixdtMunc50sNPwRLn DSZodufzhCsqS3Sn5JBsAnyJJ0i1vkLRdXxmfGpqsKxwwZBoeLIo1/Zbz6rOqCXMR/13 Xib4P6ZLl0FbKUTSSXMzLMpbk0WwPTo+h40DQoyaKejKSaBXrYDdorgCDZikp8MjUGM9 QbO5UdeZw3vJXAg86nlxgnhpXdEuRxX5q3JGY1HyjP7/ilAP9b9O98/2xLXvpUge5mRm 2Haw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699951564; x=1700556364; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=v358YCD378yAUvjDSYqbMjqywkD/bfhThxAzZwlQTSk=; b=MLZ4CPWCMs7lYcSX/gZW7hq+M2zvpAqbPXIkhBJZfXVYnGGctm2mEUsckFynCRFDU9 k8PvAtBZ/ImHpjzPlQ1SZFiwMS6I8Kw5CAO+muBOynXBXHTLAPkelAy65eDg1h9TlOIn EHaINJbKI13ySVt1fDskVbylxPdOnH6Z/CCzSz8RtV9n7thWhBb65BZJpJ3b+KueYzHa LuxQ91vh9dbTcx7GmidxVz5HAcZEn4M8EB3KgPmx0mPlJrDGUCpzvhYWI5SRSHJC2PnI opBiSV6VcXMcMXyaGOV++QHOmzqDgi9pImO51X/GZ9m9L3NzQt/W1jwM9cO4l7vfmOV/ ttjA== X-Gm-Message-State: AOJu0YzL3bcyS7s/vw65cSrQZrehdnZGfphnldqxXQaZQpl2SyrllXce 8rgr4rf5uoXarOO1KXlZseI= X-Google-Smtp-Source: AGHT+IHhs//nGD6esu/F6izEI8z4t8rdfe+6DIWTJVnJ+oTVGq+8evvez39HT07/TiWPXBGZQ0dRrQ== X-Received: by 2002:a05:6a21:788b:b0:180:daeb:ac5e with SMTP id bf11-20020a056a21788b00b00180daebac5emr12442402pzc.10.1699951564355; Tue, 14 Nov 2023 00:46:04 -0800 (PST) Received: from carrot.. (i223-218-133-131.s42.a014.ap.plala.or.jp. [223.218.133.131]) by smtp.gmail.com with ESMTPSA id u17-20020a056a00159100b006c4d2479c1asm748083pfk.219.2023.11.14.00.46.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 00:46:03 -0800 (PST) From: Ryusuke Konishi To: Andrew Morton Cc: linux-nilfs@vger.kernel.org, Matthew Wilcox , linux-kernel@vger.kernel.org Subject: [PATCH 17/20] nilfs2: Convert nilfs_btnode_delete to use a folio Date: Tue, 14 Nov 2023 17:44:33 +0900 Message-Id: <20231114084436.2755-18-konishi.ryusuke@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231114084436.2755-1-konishi.ryusuke@gmail.com> References: <20231114084436.2755-1-konishi.ryusuke@gmail.com> 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: "Matthew Wilcox (Oracle)" Saves six calls to compound_head(). Signed-off-by: Matthew Wilcox (Oracle) Signed-off-by: Ryusuke Konishi --- fs/nilfs2/btnode.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/fs/nilfs2/btnode.c b/fs/nilfs2/btnode.c index 5ef9eebd8d2e..e077d4a7a11c 100644 --- a/fs/nilfs2/btnode.c +++ b/fs/nilfs2/btnode.c @@ -145,19 +145,19 @@ int nilfs_btnode_submit_block(struct address_space *b= tnc, __u64 blocknr, void nilfs_btnode_delete(struct buffer_head *bh) { struct address_space *mapping; - struct page *page =3D bh->b_page; - pgoff_t index =3D page_index(page); + struct folio *folio =3D bh->b_folio; + pgoff_t index =3D folio->index; int still_dirty; =20 - get_page(page); - lock_page(page); - wait_on_page_writeback(page); + folio_get(folio); + folio_lock(folio); + folio_wait_writeback(folio); =20 nilfs_forget_buffer(bh); - still_dirty =3D PageDirty(page); - mapping =3D page->mapping; - unlock_page(page); - put_page(page); + still_dirty =3D folio_test_dirty(folio); + mapping =3D folio->mapping; + folio_unlock(folio); + folio_put(folio); =20 if (!still_dirty && mapping) invalidate_inode_pages2_range(mapping, index, index); --=20 2.34.1 From nobody Tue Dec 30 17:01:36 2025 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 469CEC4332F for ; Tue, 14 Nov 2023 08:47:07 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232635AbjKNIrH (ORCPT ); Tue, 14 Nov 2023 03:47:07 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57804 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232641AbjKNIqb (ORCPT ); Tue, 14 Nov 2023 03:46:31 -0500 Received: from mail-oi1-x22a.google.com (mail-oi1-x22a.google.com [IPv6:2607:f8b0:4864:20::22a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D1C5D19A6; Tue, 14 Nov 2023 00:46:07 -0800 (PST) Received: by mail-oi1-x22a.google.com with SMTP id 5614622812f47-3b2e4107f47so3625430b6e.2; Tue, 14 Nov 2023 00:46:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699951566; x=1700556366; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=0u3It2drrXQuzpGZGjojr+w5m1YXAaW5alfZVPVoURE=; b=i/4913lMnZTbNYYbBZxoONrvQd3ILz3Gk1WhsiUXlZ1IK2BRpcSrN/A6OvM8Q8yWMW JeGAdcKOWdcl/M5YsFBxHi7tlv2tI5qOcAC6xl9loODcv6dpKPNcgApv0WF7CAKoYVKb VE4sQk+3BnMFAqfZbnXYRguV6wPuJcLsljkL0L8ccJKh/0RbLUqVdf4aIUiBRiuWlgr/ fZbVBf+lOfe/qAarBh6BHTB2yJYjGPni/RuQ77idmjUD3YeP++5MDcDzY+L5ugjmMEEn xTJ6v23CQMUt287u6JtXJ6uvxUkvpFURDbjt8Ef5I/dbSIyVuY9b0GNBm7SVszmW5Ri4 +PFg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699951566; x=1700556366; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=0u3It2drrXQuzpGZGjojr+w5m1YXAaW5alfZVPVoURE=; b=jMCGvASOmSOrzXnpFhCVK8gYXTGQgpSD5kWDX6bhBmRS7TsmJ4Cet6+WJXd8zc3A+m 04tpefaWsGzbDWLABRqB/ea39OiXVA2tRDcDH9GW8dFIafu3SEhGW/eFdnm8o8qN7/1t cK0wQ0xTPAe7IizAzRFjxx4v5Rl3L2ZhlOpdKFIO2+gqfhEgp5+hLerZDZAKBZNNAgWc o7yAORnkrLvCPAYyELBp8153vhnc3bHbzseIln6d4g3wmgamqJlH3CFBnZYbHLzDQjR5 CGwhN6xaTV/mO5WH27V84WxzU5gxLwR2Tgz7R8cp7H/Dtm7bhz1dtF8FoJeboS8cBWvy 5XnQ== X-Gm-Message-State: AOJu0YyvDSURW4++8jOnlvtwlz0ujfrQz9PddNJj/EopNE59u9pydM0l 6gAU2y9g7p3L2IfzXHLRwO8= X-Google-Smtp-Source: AGHT+IHe0NkBRnHHGw5uhCB3JTRF9/uKlWMkmGVcyOzxYmzjCv/Ni9gUHlUDcP2Ke5fyXZnVPlRjLw== X-Received: by 2002:a05:6871:6203:b0:1f0:820a:e4b1 with SMTP id rd3-20020a056871620300b001f0820ae4b1mr11524624oab.34.1699951566366; Tue, 14 Nov 2023 00:46:06 -0800 (PST) Received: from carrot.. (i223-218-133-131.s42.a014.ap.plala.or.jp. [223.218.133.131]) by smtp.gmail.com with ESMTPSA id u17-20020a056a00159100b006c4d2479c1asm748083pfk.219.2023.11.14.00.46.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 00:46:05 -0800 (PST) From: Ryusuke Konishi To: Andrew Morton Cc: linux-nilfs@vger.kernel.org, Matthew Wilcox , linux-kernel@vger.kernel.org Subject: [PATCH 18/20] nilfs2: Convert nilfs_btnode_prepare_change_key to use a folio Date: Tue, 14 Nov 2023 17:44:34 +0900 Message-Id: <20231114084436.2755-19-konishi.ryusuke@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231114084436.2755-1-konishi.ryusuke@gmail.com> References: <20231114084436.2755-1-konishi.ryusuke@gmail.com> 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: "Matthew Wilcox (Oracle)" Saves three calls to compound_head(). Signed-off-by: Matthew Wilcox (Oracle) Signed-off-by: Ryusuke Konishi --- fs/nilfs2/btnode.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/fs/nilfs2/btnode.c b/fs/nilfs2/btnode.c index e077d4a7a11c..da3e4366625f 100644 --- a/fs/nilfs2/btnode.c +++ b/fs/nilfs2/btnode.c @@ -185,23 +185,23 @@ int nilfs_btnode_prepare_change_key(struct address_sp= ace *btnc, ctxt->newbh =3D NULL; =20 if (inode->i_blkbits =3D=3D PAGE_SHIFT) { - struct page *opage =3D obh->b_page; - lock_page(opage); + struct folio *ofolio =3D obh->b_folio; + folio_lock(ofolio); retry: /* BUG_ON(oldkey !=3D obh->b_folio->index); */ - if (unlikely(oldkey !=3D opage->index)) - NILFS_PAGE_BUG(opage, + if (unlikely(oldkey !=3D ofolio->index)) + NILFS_PAGE_BUG(&ofolio->page, "invalid oldkey %lld (newkey=3D%lld)", (unsigned long long)oldkey, (unsigned long long)newkey); =20 xa_lock_irq(&btnc->i_pages); - err =3D __xa_insert(&btnc->i_pages, newkey, opage, GFP_NOFS); + err =3D __xa_insert(&btnc->i_pages, newkey, ofolio, GFP_NOFS); xa_unlock_irq(&btnc->i_pages); /* - * Note: page->index will not change to newkey until + * Note: folio->index will not change to newkey until * nilfs_btnode_commit_change_key() will be called. - * To protect the page in intermediate state, the page lock + * To protect the folio in intermediate state, the folio lock * is held. */ if (!err) @@ -213,7 +213,7 @@ int nilfs_btnode_prepare_change_key(struct address_spac= e *btnc, if (!err) goto retry; /* fallback to copy mode */ - unlock_page(opage); + folio_unlock(ofolio); } =20 nbh =3D nilfs_btnode_create_block(btnc, newkey); @@ -225,7 +225,7 @@ int nilfs_btnode_prepare_change_key(struct address_spac= e *btnc, return 0; =20 failed_unlock: - unlock_page(obh->b_page); + folio_unlock(obh->b_folio); return err; } =20 --=20 2.34.1 From nobody Tue Dec 30 17:01:36 2025 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 7240AC4167D for ; Tue, 14 Nov 2023 08:47:15 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232469AbjKNIrQ (ORCPT ); Tue, 14 Nov 2023 03:47:16 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34960 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232529AbjKNIqb (ORCPT ); Tue, 14 Nov 2023 03:46:31 -0500 Received: from mail-pf1-x42f.google.com (mail-pf1-x42f.google.com [IPv6:2607:f8b0:4864:20::42f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2402819B5; Tue, 14 Nov 2023 00:46:09 -0800 (PST) Received: by mail-pf1-x42f.google.com with SMTP id d2e1a72fcca58-6b5cac99cfdso4619454b3a.2; Tue, 14 Nov 2023 00:46:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699951568; x=1700556368; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=rHhSpVpoa8KYOjWaZwduZV1w+B3zSOWFnG1dbpteVKA=; b=gxEpY1lJatMoM4W/ncumjdVT3M/5Wl0N37iAzYmFzgshyc7AVQn5h1OnhNq1Htl/U+ 1NTbDy1pu8gRVLELDHkXeXix80sZ3Zhil3Gyf2kO5/K9PG+HnF/4490bsHhrazvq3Q7T LKYBwRlHYWoWVdiVGGR4bk4xAyfls+MfZE3dLB7nuVvk6FedxeXMC/wyTtZ6YHKKujwu 8a59DczDj+RPJcfJzf6q0oZLPH6T7h8RsGTXHOlqQrpmWEpmhXMkMufjg1NkmsGwGiyR U9KhkOs3utxfheBSw9zppKwHWcjTuyRiH/3Y2Ue/RRZ3CvL7zsiX3qv8drA4LUIZ5SE3 J4aA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699951568; x=1700556368; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rHhSpVpoa8KYOjWaZwduZV1w+B3zSOWFnG1dbpteVKA=; b=Y2f5rPux75pDM4gjGiZnfuN6OCJ9NXvhy6DulgQ4bJdt+SEJ5SP9jic5RI+NOcvfkv /CoOjmnSOyFCqSSqvJQQCYA5LfCdAtObTvYluINZ6EJ4wse6kQShRX3qq41tqiMvr5hB 83E8Xdz9oDEHlOqYqgRTzCy2bCMo721z7Ya0I/6eyO+ysI6X2b6I8oiwhimPwKrYOXCZ UHjDeHyvRsRo2hskvrhEgAP+XR93uIMeF3Cpg6I+vDKs/2gRsmN2ewBbNTUW7mZJdaAH gHNoo9NkhWaKM4yvveI+6eSYpjVuHxoBzReacUbKVXjsNoSXh0gcvhcSpwzpErCHKKKK 1/KQ== X-Gm-Message-State: AOJu0Ywy4ATsEbhEh3LTfiD0LFRFf1JaeUYZdsrXcMt+cUyWznf2EB1D i63keg/mHla6OwsDJePClYQeadPiV/o= X-Google-Smtp-Source: AGHT+IGFSaFthI1x5h/jmjZZ8o9XSzcdZ6vQLRr9hW8bf4bAhYCK9NAQQD2uwZx4JDIYMvFKBpU8xw== X-Received: by 2002:a05:6a00:4e51:b0:6b8:69fa:8ff with SMTP id gu17-20020a056a004e5100b006b869fa08ffmr6053039pfb.17.1699951568593; Tue, 14 Nov 2023 00:46:08 -0800 (PST) Received: from carrot.. (i223-218-133-131.s42.a014.ap.plala.or.jp. [223.218.133.131]) by smtp.gmail.com with ESMTPSA id u17-20020a056a00159100b006c4d2479c1asm748083pfk.219.2023.11.14.00.46.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 00:46:07 -0800 (PST) From: Ryusuke Konishi To: Andrew Morton Cc: linux-nilfs@vger.kernel.org, Matthew Wilcox , linux-kernel@vger.kernel.org Subject: [PATCH 19/20] nilfs2: Convert nilfs_btnode_commit_change_key to use a folio Date: Tue, 14 Nov 2023 17:44:35 +0900 Message-Id: <20231114084436.2755-20-konishi.ryusuke@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231114084436.2755-1-konishi.ryusuke@gmail.com> References: <20231114084436.2755-1-konishi.ryusuke@gmail.com> 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: "Matthew Wilcox (Oracle)" Saves one call to compound_head(). Signed-off-by: Matthew Wilcox (Oracle) Signed-off-by: Ryusuke Konishi --- fs/nilfs2/btnode.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/fs/nilfs2/btnode.c b/fs/nilfs2/btnode.c index da3e4366625f..fb1638765d54 100644 --- a/fs/nilfs2/btnode.c +++ b/fs/nilfs2/btnode.c @@ -238,15 +238,15 @@ void nilfs_btnode_commit_change_key(struct address_sp= ace *btnc, { struct buffer_head *obh =3D ctxt->bh, *nbh =3D ctxt->newbh; __u64 oldkey =3D ctxt->oldkey, newkey =3D ctxt->newkey; - struct page *opage; + struct folio *ofolio; =20 if (oldkey =3D=3D newkey) return; =20 if (nbh =3D=3D NULL) { /* blocksize =3D=3D pagesize */ - opage =3D obh->b_page; - if (unlikely(oldkey !=3D opage->index)) - NILFS_PAGE_BUG(opage, + ofolio =3D obh->b_folio; + if (unlikely(oldkey !=3D ofolio->index)) + NILFS_PAGE_BUG(&ofolio->page, "invalid oldkey %lld (newkey=3D%lld)", (unsigned long long)oldkey, (unsigned long long)newkey); @@ -257,8 +257,8 @@ void nilfs_btnode_commit_change_key(struct address_spac= e *btnc, __xa_set_mark(&btnc->i_pages, newkey, PAGECACHE_TAG_DIRTY); xa_unlock_irq(&btnc->i_pages); =20 - opage->index =3D obh->b_blocknr =3D newkey; - unlock_page(opage); + ofolio->index =3D obh->b_blocknr =3D newkey; + folio_unlock(ofolio); } else { nilfs_copy_buffer(nbh, obh); mark_buffer_dirty(nbh); --=20 2.34.1 From nobody Tue Dec 30 17:01:36 2025 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 3B6C4C4332F for ; Tue, 14 Nov 2023 08:47:19 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232674AbjKNIrU (ORCPT ); Tue, 14 Nov 2023 03:47:20 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47336 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232672AbjKNIqd (ORCPT ); Tue, 14 Nov 2023 03:46:33 -0500 Received: from mail-pf1-x42a.google.com (mail-pf1-x42a.google.com [IPv6:2607:f8b0:4864:20::42a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5D10E1BC6; Tue, 14 Nov 2023 00:46:11 -0800 (PST) Received: by mail-pf1-x42a.google.com with SMTP id d2e1a72fcca58-6c320a821c4so4572396b3a.2; Tue, 14 Nov 2023 00:46:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699951570; x=1700556370; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=cYy3qj/vutDt+D3+abE3OR1PaLNKfT9k3Yx/seQi4CM=; b=eseC46oWq92951qfMVbWpumE3BsQ7VPqmRlMHOIssSdgBVMOK12OFTH9omCxYSNh2G NSzd7b1MNxLC4f2a6A7p3cb/S/oQB+c7R6bOTtGSfGRP+35Zqj8VSExp5oYCZau/WdtO 1tKlscof0R9uHb3SuJg2yFkZdYK09l6nUwyUBhdt1o4W0644W3VQeaLiUhcwtYihcQOu yusFsXn723WdqzBlixD8bNWkT4v8xs+cw1bLawUYRJZ/388OW/wNgLfg3/nDqbS35fGG Vc8ODGIauiXWctNi5+Vg5v7y+L3R9DpLIZy2AgEUV+EZerwHVrcKAFhbHxXwpTOZL1zu 6MZg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699951570; x=1700556370; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=cYy3qj/vutDt+D3+abE3OR1PaLNKfT9k3Yx/seQi4CM=; b=jZ8qKtEZWBqdiSJEy42nvLR8ylNxygO0h9ezbvkmRC5BLnl2IJAQL/5cuXAun6cYi8 0DxK6KOvZZJjz1/EysiRVlT5Hl0cjH+IA417y8C4Lop2NnaEXcGOvVwS22h8uvV7YZ36 tcL7X4xfamBiVh3q38E1L3ccxdCAdYz1rBJ6osy5j5m+04ebDW/EZfMndfZJsKm/QCus Przq9DCQIDebXEli0itm7IYa4kCQCUFB3iOPG2dsrBVSBfwJFe9QwAOGhd2jmCe3TWPl luNx4ozqjnwdXPZrW1mlI63GdpMVnNJfgIXLUCAzjOzAlaep1+LAucJfokynyDyKsrlE vT8g== X-Gm-Message-State: AOJu0YwEiwkPxWvf5slyITGl7UBUQsfvjKEFdDdmPNFraRgV8Odqk4oi kj1BDiA2axh8ViI+BBPY2TFYCEbkg50= X-Google-Smtp-Source: AGHT+IGoNFWQTBdRQ8lFIohacw/5UPQ+Mex4ArUkR7byM9Apbrjb6Iw0AXUEpKyrNtWOzX2IprESKA== X-Received: by 2002:a05:6a00:4388:b0:6c0:642c:274b with SMTP id bt8-20020a056a00438800b006c0642c274bmr7557613pfb.9.1699951570453; Tue, 14 Nov 2023 00:46:10 -0800 (PST) Received: from carrot.. (i223-218-133-131.s42.a014.ap.plala.or.jp. [223.218.133.131]) by smtp.gmail.com with ESMTPSA id u17-20020a056a00159100b006c4d2479c1asm748083pfk.219.2023.11.14.00.46.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 00:46:09 -0800 (PST) From: Ryusuke Konishi To: Andrew Morton Cc: linux-nilfs@vger.kernel.org, Matthew Wilcox , linux-kernel@vger.kernel.org Subject: [PATCH 20/20] nilfs2: Convert nilfs_btnode_abort_change_key to use a folio Date: Tue, 14 Nov 2023 17:44:36 +0900 Message-Id: <20231114084436.2755-21-konishi.ryusuke@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231114084436.2755-1-konishi.ryusuke@gmail.com> References: <20231114084436.2755-1-konishi.ryusuke@gmail.com> 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: "Matthew Wilcox (Oracle)" Saves one call to compound_head(). Signed-off-by: Matthew Wilcox (Oracle) Signed-off-by: Ryusuke Konishi --- fs/nilfs2/btnode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/nilfs2/btnode.c b/fs/nilfs2/btnode.c index fb1638765d54..1204dd06ead8 100644 --- a/fs/nilfs2/btnode.c +++ b/fs/nilfs2/btnode.c @@ -284,7 +284,7 @@ void nilfs_btnode_abort_change_key(struct address_space= *btnc, =20 if (nbh =3D=3D NULL) { /* blocksize =3D=3D pagesize */ xa_erase_irq(&btnc->i_pages, newkey); - unlock_page(ctxt->bh->b_page); + folio_unlock(ctxt->bh->b_folio); } else { /* * When canceling a buffer that a prepare operation has --=20 2.34.1