Received: by 2002:a05:6358:16cc:b0:ea:6187:17c9 with SMTP id r12csp4027452rwl; Sat, 7 Jan 2023 09:43:22 -0800 (PST) X-Google-Smtp-Source: AMrXdXtRt047n1WVrJnJQH6vf3/DBmmrE5h66IRwMRWGWic9vf0MCVGkJeJN8rnATNw5O3MPXx1d X-Received: by 2002:a17:902:6b4c:b0:18f:9cfb:42aa with SMTP id g12-20020a1709026b4c00b0018f9cfb42aamr59200076plt.10.1673113402436; Sat, 07 Jan 2023 09:43:22 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673113402; cv=none; d=google.com; s=arc-20160816; b=fTTBaak0wC0EEe6SSTaX3Vt+qUtMAZMWPk+bg5h8s3RdUnEom0aZLrNDR91p2aXdvf 6O4eFbtLH6+sKzmoaxpHSz4YVdOOyL+sKRsLyy+Ddn/ja7I/Zw48MTzqKh6FxycskXqM mVTQYrlJ3zPb46dqeyRv3DAGgf2/OTGKuvLL7RpuV8LlG0ql2uGBkjRxZQ9pp2cPpb4C 0yYf+nPwY42xhMFQGSTxh8e30SA3STXsMjaOD/G3SccVxyHsHi/18EOiQpjK4AizDrt4 aouvGsT7TE8ljtTyDA9/coteeEqcEzchD3RDZt4xGmXDqTfhHDARQOq3DvrWhI5oQYzR De4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=mnvhNyf52sbDyDeS8ytL6jWceUezhpFRrKkB2zVb2lM=; b=dCny68dYgdaVu1ye1I2EkpUdhMNvGXOEVAt295HTUsERkadOJzN68V/9ljiU6k3ECo 4EAQk9qBRy70LAdN7N4cmDEGzRGPy7Pp9SgYYWrag6aEQGLkEx/G8sR3XaXJS3KEqF9q eJgphaZVG6ylEOcoOh2Nf/NYdoq9YY5nrI0FZqeqh4tcETdlfqY6caOxqBxCkVVN0/Xo Ek7XO69JRwAw+UH6gFUnUNVeUqbeGnJFIGYMHq6S9dT/0R7er86BiDicGt5zLZwUdBFO k9PVsPG/qWsvj1CAC1VfVitBTIFdaUm5j3xPLMEC1jySJWyQPuP6UcCKMRzBF/daQikX Izww== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=GBOOu8ya; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id bd9-20020a170902830900b00192a3e13b52si4276722plb.140.2023.01.07.09.43.11; Sat, 07 Jan 2023 09:43:22 -0800 (PST) Received-SPF: pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=GBOOu8ya; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231445AbjAGRmN (ORCPT + 99 others); Sat, 7 Jan 2023 12:42:13 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44856 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232417AbjAGRmL (ORCPT ); Sat, 7 Jan 2023 12:42:11 -0500 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4E826B91 for ; Sat, 7 Jan 2023 09:42:10 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id E160260B98 for ; Sat, 7 Jan 2023 17:42:09 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 82BF4C433F0 for ; Sat, 7 Jan 2023 17:42:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1673113329; bh=ueveN7A5UC42OUPcMshY6eat/c5aAWOSuJDRbj5z8Og=; h=From:To:Subject:Date:In-Reply-To:References:From; b=GBOOu8yad6PxCuqYq660zuFzjFgdtvk2eBceBf/7ps2O0f/hHSuwGOLpe1wd6TPl6 fsO/lMum0NUeEekx0S7gKeLUL/Mp4n/bX1upimXFHNiWq4WDsTxX4HdIgxqBamC1s5 r2YZk8AAhoO8la7/olZwCfemlmZzp9CirjVF5VSGE1yXSZxz1vkjwPRykpguEFZJ7R Yixm+nYwZ1N/TLXqkdSV292yq2SUbiunQviBMNnflC/xgYop2LQp04LI1GXPfGXQyA gEpx8fG1KmwyolwXPmrpp6kebZ3D/KPJxRWm2iaKS6T21Ce82W/fleITaFTRC9vphv z9V8BOAKKd2UQ== From: trondmy@kernel.org To: linux-nfs@vger.kernel.org Subject: [PATCH 05/17] NFS: Add a helper to convert a struct nfs_page into an inode Date: Sat, 7 Jan 2023 12:36:23 -0500 Message-Id: <20230107173635.2025233-6-trondmy@kernel.org> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230107173635.2025233-5-trondmy@kernel.org> References: <20230107173635.2025233-1-trondmy@kernel.org> <20230107173635.2025233-2-trondmy@kernel.org> <20230107173635.2025233-3-trondmy@kernel.org> <20230107173635.2025233-4-trondmy@kernel.org> <20230107173635.2025233-5-trondmy@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS 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-nfs@vger.kernel.org From: Trond Myklebust Replace all the open coded calls to page_file_mapping(req->wb_page)->host. Signed-off-by: Trond Myklebust --- fs/nfs/pagelist.c | 2 +- fs/nfs/write.c | 7 +++---- include/linux/nfs_page.h | 13 +++++++++++++ 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/fs/nfs/pagelist.c b/fs/nfs/pagelist.c index 30722cbcf5f4..18a10f43612f 100644 --- a/fs/nfs/pagelist.c +++ b/fs/nfs/pagelist.c @@ -426,7 +426,7 @@ nfs_page_group_init(struct nfs_page *req, struct nfs_page *prev) * has extra ref from the write/commit path to handle handoff * between write and commit lists. */ if (test_bit(PG_INODE_REF, &prev->wb_head->wb_flags)) { - inode = page_file_mapping(req->wb_page)->host; + inode = nfs_page_to_inode(req); set_bit(PG_INODE_REF, &req->wb_flags); kref_get(&req->wb_kref); atomic_long_inc(&NFS_I(inode)->nrequests); diff --git a/fs/nfs/write.c b/fs/nfs/write.c index f41d24b54fd1..f624b3d98cf7 100644 --- a/fs/nfs/write.c +++ b/fs/nfs/write.c @@ -421,7 +421,7 @@ static void nfs_set_page_writeback(struct page *page) static void nfs_end_page_writeback(struct nfs_page *req) { - struct inode *inode = page_file_mapping(req->wb_page)->host; + struct inode *inode = nfs_page_to_inode(req); struct nfs_server *nfss = NFS_SERVER(inode); bool is_done; @@ -592,8 +592,7 @@ nfs_lock_and_join_requests(struct page *page) static void nfs_write_error(struct nfs_page *req, int error) { - trace_nfs_write_error(page_file_mapping(req->wb_page)->host, req, - error); + trace_nfs_write_error(nfs_page_to_inode(req), req, error); nfs_mapping_set_error(req->wb_page, error); nfs_inode_remove_request(req); nfs_end_page_writeback(req); @@ -1420,7 +1419,7 @@ static void nfs_initiate_write(struct nfs_pgio_header *hdr, */ static void nfs_redirty_request(struct nfs_page *req) { - struct nfs_inode *nfsi = NFS_I(page_file_mapping(req->wb_page)->host); + struct nfs_inode *nfsi = NFS_I(nfs_page_to_inode(req)); /* Bump the transmission count */ req->wb_nio++; diff --git a/include/linux/nfs_page.h b/include/linux/nfs_page.h index 192071a6e5f6..b0b03ec4a209 100644 --- a/include/linux/nfs_page.h +++ b/include/linux/nfs_page.h @@ -189,6 +189,19 @@ static inline struct page *nfs_page_to_page(const struct nfs_page *req, return folio_page(folio, pgbase >> PAGE_SHIFT); } +/** + * nfs_page_to_inode - Retrieve an inode for the request + * @req: pointer to a struct nfs_page + */ +static inline struct inode *nfs_page_to_inode(const struct nfs_page *req) +{ + struct folio *folio = nfs_page_to_folio(req); + + if (folio == NULL) + return page_file_mapping(req->wb_page)->host; + return folio_file_mapping(folio)->host; +} + /** * nfs_page_max_length - Retrieve the maximum possible length for a request * @req: pointer to a struct nfs_page -- 2.39.0