From mboxrd@z Thu Jan 1 00:00:00 1970 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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id EF77AC61CE8 for ; Thu, 12 Jun 2025 14:34:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 714296B0088; Thu, 12 Jun 2025 10:34:54 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6EC216B0089; Thu, 12 Jun 2025 10:34:54 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5DBDC6B008A; Thu, 12 Jun 2025 10:34:54 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 3FC426B0088 for ; Thu, 12 Jun 2025 10:34:54 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 4ACC28118E for ; Thu, 12 Jun 2025 14:34:53 +0000 (UTC) X-FDA: 83546995266.17.A559D10 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf14.hostedemail.com (Postfix) with ESMTP id 2B8ED100008 for ; Thu, 12 Jun 2025 14:34:50 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=qfrKEFtw; spf=none (imf14.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1749738891; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=A5sgLDe/j2Mx08BUj7TZjE5KbZPw47LyiOmwt83Oy/0=; b=nt55CNJa//6956MKaz+GHxhOq3c1IXPAH5N+/3lUyNapgMZ4H6CWMmLriXKJbVKoaCUCYZ MTOOa/8EQKzr4Kghr/AZJ1B3bye4N3im2BeturcwOx/X8+ku5KJB7SLGQUgGZoXqisqOea miyYSbYXhFtCLdbeDVsU8PyO0zvkO2w= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1749738891; a=rsa-sha256; cv=none; b=EMhMhcL3TyHM6HTtnJvwZWI0wsIk2RLgjGo3RUq+hCE1OLVbcpWQQW7ZOs5x0dfYBG/7Nn 71ed1kdFFiJathqZyxju7B46fTDNXPECsjNXX6lbX9ECqKCPT//eag/YDjcQZUrB5RNvWm ysKyVEWsI784y9xfwtG1yZXETy1jalg= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=qfrKEFtw; spf=none (imf14.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Sender:Reply-To: Content-Type:Content-ID:Content-Description; bh=A5sgLDe/j2Mx08BUj7TZjE5KbZPw47LyiOmwt83Oy/0=; b=qfrKEFtwnEjcl8+Pl5Jlod98PE 4247RjMSHuVyPLEOVYesW6ycjeqrA006fTgmEo2ZyXRn52hvAT23OXwSYjb8xwlQDCcP1/trZx42t ywkVArol7CRiXVGaY5Q4Ps0OMuwh9y6Od3vHWWqjzbdgteFDWWpdAtIDuq2tuAQlGvhbFb1CehnIr p52VRRBqy8PeCfdx3AV5TenUW8NArarUp/imzqZJc8eCS67pz75KrC/gANkgXZmHcvrXZ0BnlxtKv i71oImgETuq9D8GOjnIrjZjmXlRKzzZ6IuXF0B2xJtvEcadfm5ZzMtBqGfrw9hkm/o9p6f8QTIvBr xHPVyddg==; Received: from willy by casper.infradead.org with local (Exim 4.98.2 #2 (Red Hat Linux)) id 1uPj0y-0000000Bwxq-2RSX; Thu, 12 Jun 2025 14:34:48 +0000 From: "Matthew Wilcox (Oracle)" To: Andrew Morton Cc: "Matthew Wilcox (Oracle)" , linux-mm@kvack.org, Ira Weiny , Christoph Hellwig , linux-block@vger.kernel.org, ceph-devel@vger.kernel.org, linux-fsdevel@vger.kernel.org Subject: [PATCH 4/5] ceph: Convert ceph_zero_partial_page() to use a folio Date: Thu, 12 Jun 2025 15:34:40 +0100 Message-ID: <20250612143443.2848197-5-willy@infradead.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250612143443.2848197-1-willy@infradead.org> References: <20250612143443.2848197-1-willy@infradead.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Queue-Id: 2B8ED100008 X-Stat-Signature: 37wajbhzjnc9qcydwromp5mpcc98bkk7 X-Rspamd-Server: rspam04 X-HE-Tag: 1749738890-138944 X-HE-Meta: U2FsdGVkX19FLw8fI8Ser0Bun25nqhdsWYMki3zBt0RzAu3opwj9M341nc5VLPDqzqUqX7YQmj0w/TYPBAQ7/UgefLy2RgbqNHorxpH+CLm/7n2l2ARxIqPEe9f3ZC9E3SZr/sOCNUHSOevzWui6DVdLs7jBZKfosO30dwWfG4903JmDwnp2YYrj5Pwn41arpqy/pA0KuzUYP5zwBZHIWHestvUTC4Dns4oRXBOH1qT18YSWuvJetQvfXnVJYmlpO3A0yw+SCYoHznjqUNqYSiGenDgNT5WkNZeG5AG7fs8u1+6NfaTsR7YhlbBZWMNklx0s+5mKp5iYEDz2WiEeyY17Q5sj4a/GDYK0piWevr7IWlEfhrcTnPsvfm1w2zukQCNTSB78cJHVYS3ALTed28Pa9B3sEXhHxDYs/e5kIFBQWt3i7dD3dinQo+PAuzGnBc8ts5vaXp4GfylyPYy6BcLccBUFKgnx657OjmvkcPSwGAg2emZWUwhEU5ewKWZA2lWlWl996Xc200N90cnfKv8XymMRFp9DAOtIvc37jqCkSxmuLnL91wDbjJLy20jd+gYE8PtOwAZjcipX30KblhxhBF0qFqmte68ctVEorDX7BJgY2kANIIkevkf1IXUljdeGNg6iqWvnUuhPMX3eS9lqoE8VCOPLhQ00dSKYeLJFlvlKagFkFecVbPcqjBbiy9hH1cub9qKK/wNCdGRt8RjqG9c4WQKkmpodCF1h1+SV9qPWBC+NxpE1w2zP0h6PB/PjIaZsUmL64VQGL3h7uSpx9RAHj/GWCPDt7RebkiZjZiyzHs9ycw5qfewIcuq5VMPG24caU5H0MxXK5PWvhCsit9ZQZlpJ3tO/aBx3H0ui4q9lClKonI32b9xdT4odB8QrvtuU0LAWTc4HgaU1YdUylE58WXonDY9U22X1Pt1Br1VMINz/qT2iEF4MQJs5O45reVdHee8p9ZFhaFG D1m431Zo mgpVFHLfbAyxGUzpEo0KMJd6wAdqz/xRxX1imIpUxy48cHBpyWc+2bb3g+pA8CoFuq1zJSLEjQj3oC7WYb/UnszuBnl3muo9vH24tBp4Np0Q+LWoA2Bb7pRv6avAIKqSFp19vsE1xxqvQ6CTOU63FQAQ451Iw8dV4LjbH8XKmxwSaqcjBTDBjGqqJ3BHOPngFWaSVH7qgZmtYeehnSQ47gfopoeaFu9IBvpXpAPtxPV9GOM7S7gChoEkaGoYTitnWgilsq/5hAxV33HEId3XYFHL966bdgSE4q+1U X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Retrieve a folio from the pagecache instead of a page and operate on it. Removes several hidden calls to compound_head() along with calls to deprecated functions like wait_on_page_writeback() and find_lock_page(). Signed-off-by: Matthew Wilcox (Oracle) --- fs/ceph/file.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/fs/ceph/file.c b/fs/ceph/file.c index a7254cab44cc..d5c674d2ba8a 100644 --- a/fs/ceph/file.c +++ b/fs/ceph/file.c @@ -2530,18 +2530,17 @@ static loff_t ceph_llseek(struct file *file, loff_t offset, int whence) return generic_file_llseek(file, offset, whence); } -static inline void ceph_zero_partial_page( - struct inode *inode, loff_t offset, unsigned size) +static inline void ceph_zero_partial_page(struct inode *inode, + loff_t offset, size_t size) { - struct page *page; - pgoff_t index = offset >> PAGE_SHIFT; - - page = find_lock_page(inode->i_mapping, index); - if (page) { - wait_on_page_writeback(page); - zero_user(page, offset & (PAGE_SIZE - 1), size); - unlock_page(page); - put_page(page); + struct folio *folio; + + folio = filemap_lock_folio(inode->i_mapping, offset >> PAGE_SHIFT); + if (folio) { + folio_wait_writeback(folio); + folio_zero_range(folio, offset_in_folio(folio, offset), size); + folio_unlock(folio); + folio_put(folio); } } -- 2.47.2