From patchwork Mon Nov 27 14:30:19 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ryusuke Konishi X-Patchwork-Id: 17145 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:ce62:0:b0:403:3b70:6f57 with SMTP id o2csp3165213vqx; Mon, 27 Nov 2023 06:33:03 -0800 (PST) X-Google-Smtp-Source: AGHT+IEHQkjB97ChmwoX4hR5VNBxnSIHew4pms8UjgakYaBvNM2UPGjPfcwgaptADWqBNSyBn2sI X-Received: by 2002:a05:6a20:4413:b0:187:ef24:358 with SMTP id ce19-20020a056a20441300b00187ef240358mr16103207pzb.60.1701095583338; Mon, 27 Nov 2023 06:33:03 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701095583; cv=none; d=google.com; s=arc-20160816; b=twYqnniAKDaDSjW/qXgVEQdPmzNFU5EMUC0TzlK3Z5f2MafMQEnozoMged+OhCTeAv Um4X9TyG2QTzmDLSnX/UQhAKmQHB/45ng8bm8jcKrrha90i3LFwBNEer9veA/YT2yVSa v9X05p1agK5976QKrf2Qq/eFsUwjSkzl37FsvsNBwCWAHxinnl+azXcHQe0GKRt9//DR QpIVagH3XVFL4N6+64focK7K2+QxfrUJqB5r1/PnraLk1WalBodp8ayEfZoDzo4EnyA1 lnE8SBYKYlzJQpSuQQfGAorCEdABMzy7tglEn9uUyQvsK5FuKijuRd59jgRnXqhni5rC 3Gdg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=LSxSrCRiJkeqU23CuDt7v+73UNnBJ7TRHcGgifUa9Yk=; fh=c4gLbwT9pvttlQWxFI2VesWIZ95B4IQ3bBh75IOono4=; b=n+AlYG7UV8sl7RYTPhX9NO3ucvJdrtOg7L2J/aijy2TfKM9hn5bdSsp4PXuaBzP5Fy QpY5zodxIZNaP/wpZyAg5hI11UG2WzxUi7jf2/kcUQnjzJEIc4b78DsAKuqDmnmxpx6c htlinhAkxzGacyd85ixbB9Yp7lCfTdKezB7oqTokPZQ2jS88cx+jlCp3P3vP8fLI4qwn p4PlpXCO/mFHSMY165p5V0k7H18gMkI4Jps9CWIldh3f7t01KRVo+nz5tDfjObSRJkxH LzZ7kNiBdX4ZiTI630sRphs8CG8z4uMfhiNaKpdXktjAWnLdSbGOL1lu5/WPhbtLt8RC rGeg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=bYpJqI8E; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id g17-20020a056a0023d100b006cbb7e5e06fsi9794677pfc.125.2023.11.27.06.32.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Nov 2023 06:33:03 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=bYpJqI8E; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 8C0B580792EE; Mon, 27 Nov 2023 06:31:47 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233689AbjK0Obg (ORCPT + 99 others); Mon, 27 Nov 2023 09:31:36 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42108 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233696AbjK0ObO (ORCPT ); Mon, 27 Nov 2023 09:31:14 -0500 Received: from mail-pl1-x62c.google.com (mail-pl1-x62c.google.com [IPv6:2607:f8b0:4864:20::62c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C4258D5F; Mon, 27 Nov 2023 06:30:43 -0800 (PST) Received: by mail-pl1-x62c.google.com with SMTP id d9443c01a7336-1cf80a7be0aso35291535ad.1; Mon, 27 Nov 2023 06:30:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1701095443; x=1701700243; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=LSxSrCRiJkeqU23CuDt7v+73UNnBJ7TRHcGgifUa9Yk=; b=bYpJqI8EnryZ+yo2VOVu99RmRipT4pzrIgwkmm5LJySXc5SIuCNGcNdyWWQH612oDY 3ZnkW+dv7IU0Kj6/GXHCHuZg6tPPt7f7BNsxOiVSPYbn6Q3CqTShhVEVHTjDWoULG+9b k9qdk54ToGM+7J4yQfBhv4+vMu2lcyKyFZ9w0pfHTzWuRHywtv/GNCdhncw8L+JMcBS9 wsnnMsiMUb++FoviSnvB3MMROkFb45JZ9PyU8+Cc7dtS+Ntx6illuA0jfd8tORzdhYHc TBxPpePuwpTF6eE7OGTCXgYY7hLk2eb4FCqYYGlkZ+5w18hWrFdN6fcJ6j5H5NreMIEW oY9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701095443; x=1701700243; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=LSxSrCRiJkeqU23CuDt7v+73UNnBJ7TRHcGgifUa9Yk=; b=m83maYOBV1W9dvydFEHSG8IKwL9jP3JfZmqhM8ha1wvfSJGC7oowrH/pndCXUaDGHQ 4DNMglYThCMRjO/1n5T3ut70M/2SN/2hIIqF3eNKALbIkpVO9OJq8p0rnRdG5zzawyEa UgrYwCD+yO6lhZ5hSBD0W8x6Ivn7yBCurHSRHLaMS+zxHWiHpbfqtN5xf1PncBRBubJA 8YLoNs8Q6GJfmUeBGmiOWFsdjeqCHIUKFlch3LEehA2LWPuA+EzfmSJ1pv/xB50BCLtV 5a5D7tcecTSUkIJrv5p3HcebVDk2nxDQy35bG31ZZTJCjwfNi9rhqXgrVDT/SEHPQNTk JsOg== X-Gm-Message-State: AOJu0YyS5AXEGzdTxJEfATcrcy4M5lKaTZCtiCYvCwxm79Pcz765sp+Z QsiCrQnJvw/IsU4pMrSyf8A= X-Received: by 2002:a17:902:8488:b0:1cc:5e1b:98b5 with SMTP id c8-20020a170902848800b001cc5e1b98b5mr12600757plo.66.1701095442903; Mon, 27 Nov 2023 06:30:42 -0800 (PST) Received: from carrot.. (i60-34-119-11.s42.a014.ap.plala.or.jp. [60.34.119.11]) by smtp.gmail.com with ESMTPSA id a5-20020a170902ee8500b001cf51972586sm8302784pld.292.2023.11.27.06.30.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Nov 2023 06:30:42 -0800 (PST) From: Ryusuke Konishi To: Andrew Morton Cc: linux-nilfs@vger.kernel.org, Matthew Wilcox , linux-kernel@vger.kernel.org Subject: [PATCH 00/17] nilfs2: Folio conversions for directory paths Date: Mon, 27 Nov 2023 23:30:19 +0900 Message-Id: <20231127143036.2425-1-konishi.ryusuke@gmail.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Mon, 27 Nov 2023 06:31:47 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783728002380528751 X-GMAIL-MSGID: 1783728002380528751 Hi Andrew, please add this series to your queue for the next merge window. This series applies page->folio conversions to nilfs2 directory operations. This reduces hidden compound_head() calls and also converts deprecated kmap calls to kmap_local in the directory code. Although nilfs2 does not yet support large folios, Matthew has done his best here to include support for large folios, which will be needed for devices with large block sizes. This series corresponds to the second half of the original post [1], but with two complementary patches inserted at the beginning and some adjustments, to prevent a kmap_local constraint violation found during testing with highmem mapping. [1] https://lkml.kernel.org/r/20231106173903.1734114-1-willy@infradead.org I have reviewed all changes and tested this for regular and small block sizes, both on machines with and without highmem mapping. No issues found. Thanks, Ryusuke Konishi Matthew Wilcox (Oracle) (15): nilfs2: Remove page_address() from nilfs_set_link nilfs2: Remove page_address() from nilfs_add_link nilfs2: Remove page_address() from nilfs_delete_entry nilfs2: Return the mapped address from nilfs_get_page() nilfs2: Pass the mapped address to nilfs_check_page() nilfs2: Switch to kmap_local for directory handling nilfs2: Add nilfs_get_folio() nilfs2: Convert nilfs_readdir to use a folio nilfs2: Convert nilfs_find_entry to use a folio nilfs2: Convert nilfs_rename() to use folios nilfs2: Convert nilfs_add_link() to use a folio nilfs2: Convert nilfs_empty_dir() to use a folio nilfs2: Convert nilfs_make_empty() to use a folio nilfs2: Convert nilfs_prepare_chunk() and nilfs_commit_chunk() to folios nilfs2: Convert nilfs_page_bug() to nilfs_folio_bug() Ryusuke Konishi (2): nilfs2: move page release outside of nilfs_delete_entry and nilfs_set_link nilfs2: eliminate staggered calls to kunmap in nilfs_rename fs/nilfs2/btnode.c | 4 +- fs/nilfs2/dir.c | 244 +++++++++++++++++++++------------------------ fs/nilfs2/namei.c | 38 +++---- fs/nilfs2/nilfs.h | 20 ++-- fs/nilfs2/page.c | 25 ++--- fs/nilfs2/page.h | 6 +- 6 files changed, 159 insertions(+), 178 deletions(-)