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 CE52DC54FC6 for ; Sun, 1 Sep 2024 16:30:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 309548D004C; Sun, 1 Sep 2024 12:30:19 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2B9388D002D; Sun, 1 Sep 2024 12:30:19 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1A9898D004C; Sun, 1 Sep 2024 12:30:19 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id F13438D002D for ; Sun, 1 Sep 2024 12:30:18 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id A686312160A for ; Sun, 1 Sep 2024 16:30:18 +0000 (UTC) X-FDA: 82516706916.11.72C5502 Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91]) by imf23.hostedemail.com (Postfix) with ESMTP id E6080140004 for ; Sun, 1 Sep 2024 16:30:15 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=linuxfoundation.org header.s=korg header.b=2V5O9nqs; dmarc=pass (policy=none) header.from=linuxfoundation.org; spf=pass (imf23.hostedemail.com: domain of gregkh@linuxfoundation.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=gregkh@linuxfoundation.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1725208193; a=rsa-sha256; cv=none; b=ojFuQO2vAz86stE6EQZH7+OqHUbcaC8s6R2Oy/BbNSWmkscMbguzYiS9f33Gnro09/bICY R41mxuPVohVmodxuDSzbG/WLJYglffwhMbutGmXQa30ezwGzGe/ZwSlxNsxMIWmSsNETiu 36h7lCOY6tL9EIWM/zk5xtEZnTFEeg4= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=linuxfoundation.org header.s=korg header.b=2V5O9nqs; dmarc=pass (policy=none) header.from=linuxfoundation.org; spf=pass (imf23.hostedemail.com: domain of gregkh@linuxfoundation.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=gregkh@linuxfoundation.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1725208193; 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=DLBfVTr+nSJQq7m3piWA6Vm0vw/zfuCNv37cygOtHYM=; b=DzuEg8uhMMMxO/5syM6VCJ0GkxGdcLw7pVlBFN5VQiA95vRMd29Oyo78TPjrEmBgWMCRj+ PHsA391RIMxygWXPEdpVur0+HJp6QzO3ib6ngRyviLYIdF94KoiM6nVv/z/jS1eyoAL9YY JJzOFECGKw3G40mzEg3omJeOzNosLEo= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id 0C6B0A413F5; Sun, 1 Sep 2024 16:30:08 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 31360C4CEC3; Sun, 1 Sep 2024 16:30:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1725208214; bh=xhn+MF3hqGrLXb1LRI3b0c5JVKjjLvNvVZqlphT19lI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=2V5O9nqsFDR57FvnegInxeAuc83cHU0ZNA4UjPv3TDvSaxBQXOJL5oCBdZE8MzIJI KV6BtVKD9PM/Zn1St6GUfqCAQ+per85uqgYUzh+2ZTIVlK/RJLGb4UeQA5tepxGe+M y0Py8J/fmH4h9iCzTfDqJkr8iH/u87y2rEojN2Hw= From: Greg Kroah-Hartman To: stable@vger.kernel.org Cc: Greg Kroah-Hartman , patches@lists.linux.dev, David Howells , Max Kellermann , Ilya Dryomov , Xiubo Li , Jeff Layton , Matthew Wilcox , ceph-devel@vger.kernel.org, netfs@lists.linux.dev, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, Christian Brauner Subject: [PATCH 6.10 014/149] netfs, ceph: Partially revert "netfs: Replace PG_fscache by setting folio->private and marking dirty" Date: Sun, 1 Sep 2024 18:15:25 +0200 Message-ID: <20240901160818.003327412@linuxfoundation.org> X-Mailer: git-send-email 2.46.0 In-Reply-To: <20240901160817.461957599@linuxfoundation.org> References: <20240901160817.461957599@linuxfoundation.org> User-Agent: quilt/0.67 X-stable: review X-Patchwork-Hint: ignore MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Queue-Id: E6080140004 X-Rspamd-Server: rspam01 X-Stat-Signature: 5etuzg9k31p9od57iccokrsdfdy9pc1k X-HE-Tag: 1725208215-517655 X-HE-Meta: U2FsdGVkX18SJzpGaRsyEEEoISkOW09jXhgI5KhBt4iOnot8EEefPkwgnv2xRVuCtuN4CFN56sARPIX4ND6ndXnviOtNKVzK8yCyLISh0NrvQkHaXMuV7h8FP6D6V8RbIlsqJgqc2ffwmyeJFmmAx/ru81LVEN+9bPgN+L8FVElyJ9D6P4dYmsjkWE4hNGBZ4SbnjjoMu66Z5uigC3w0Ix0rSaPZDCJo57K6kfc3iUA3tau3ThFiYhZ/G6RVBvHGJKBDlIG2tdezoRS0t0SaMRgfYnCTBXLPFXwuazEfnBEhS1A0mlFqR3rr1EMuvTxCvLgCpqtCVYtN86dDMP858DXpk7C8dTfiaf78BEG3iDkHYyhjcNwhJjJMOJoMm761b2R1Pi6CMpmses0dl+z7PZpHq6kE4gWPEVyexNMKQgkCKITiwB7rZkZdKLuRCB8TTCKGScyTJHJusylJy6V+jcAGzbFjBzHuoya81ytWiEDRnsdLQiTpKU1Bw9USwrWNGOy5HeJmSLBX8uCm/CMY9vUcmS3l0uw+MmVvLdchMrNZLmWNPnOkjedSqAd0p5tjIl3emCaMpcyYCs/6ZlI4AVGUTfnOJQSi84nyfHGqHwp96VILKa1wrhhnVCEpybhSlpNs+Z8MJdZ5g53/pHo1aVT3WGqlP5X89hRn+8zeGztcgS5xYGa4s5cmjyuGJ4KalImin7g+Lz4qIbCRQ0mrLMGU49ZX4bBOk+V6TF7tw44JhxzSSxnKJjdDDIMHiEDNHDAYedtHX7ihzazW8VXj2H7f+cZLqbSrdt6n4efY0xBlLgO+hUmU1uGzlg6WO/CtUcAKfWjC1uReEQNrtAFQIJegKhD7l3JnZbwfk/tG0btJ/lslGZ/hnPA3Aq2rTCog3YQSjwkSSI2FbwVHdeFBWuYevxMFrUPJ6jmqvIWanmjaLt1/wghV39BeMYxxgDdG3BSUF+y8A+mhYWWy58H /mMVeKRb 7x+7Ol6D8cXkCkyNmxYOWRhTyrra2Kl1qiBu/9h4nJHdlG/YVHNgF+SxleohEfaG7jjO4oGpmIrhKvPQrYofY8RRvUU9KrQ+1PtIFnnDYNbsxVWCiS95EyIIylI6bBs700oTMJzwzQyh9bVYLKIPYN+STLIxJLeyHnuAHEgKMb0FyS7bltYmHzzY/G2Hz5s7ch77nG8XV+b17j3IAy406vT5GijPlBTo8s3vt6nQPBBTC5Ai62OH5alrJVUfjbyY54q7HUNjr93n1mD8lxwgKhqTqLTijB92vNoGWo0niZ4Kxa8W0LfMqiypzZrx2wwHbrfbaLMBZheDw2aDHNepFFDBwyGPim7/Wwhtd4qp5IYIFXXuCN+pnnpQb6TZFLcBUPzweG5UwbmrfCvJPE6VrhPG/46Z8bdqPTb7SX7ZNMC7cTs8D7AhhWlNJxRLH5gux0ro1BhlEe6waQKByYy3KEVoV7Upcb7ThbNtavNsbSH+Z+8E9aMyDR72kFoCcK7bglpZSXDFeFqd4GPOAG0398UErbqewxUkOfezR1BTv4IZDSngpP5w+G0Fi6UQR7C6Yx+PC0eu/YFL3CkS51Pw7KeCbeVyw0WTR3rNo3Tjw3vFXLDxL7B8z9vKpteTVfuccqdW/N+vNzZ7z1Hg= 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: 6.10-stable review patch. If anyone has any objections, please let me know. ------------------ From: David Howells commit 92764e8822d4e7f8efb5ad959fac195a7f8ea0c6 upstream. This partially reverts commit 2ff1e97587f4d398686f52c07afde3faf3da4e5c. In addition to reverting the removal of PG_private_2 wrangling from the buffered read code[1][2], the removal of the waits for PG_private_2 from netfs_release_folio() and netfs_invalidate_folio() need reverting too. It also adds a wait into ceph_evict_inode() to wait for netfs read and copy-to-cache ops to complete. Fixes: 2ff1e97587f4 ("netfs: Replace PG_fscache by setting folio->private and marking dirty") Signed-off-by: David Howells Link: https://lore.kernel.org/r/3575457.1722355300@warthog.procyon.org.uk [1] Link: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8e5ced7804cb9184c4a23f8054551240562a8eda [2] Link: https://lore.kernel.org/r/20240814203850.2240469-2-dhowells@redhat.com cc: Max Kellermann cc: Ilya Dryomov cc: Xiubo Li cc: Jeff Layton cc: Matthew Wilcox cc: ceph-devel@vger.kernel.org cc: netfs@lists.linux.dev cc: linux-fsdevel@vger.kernel.org cc: linux-mm@kvack.org Signed-off-by: Christian Brauner Signed-off-by: Greg Kroah-Hartman --- fs/ceph/inode.c | 1 + fs/netfs/misc.c | 7 +++++++ 2 files changed, 8 insertions(+) --- a/fs/ceph/inode.c +++ b/fs/ceph/inode.c @@ -697,6 +697,7 @@ void ceph_evict_inode(struct inode *inod percpu_counter_dec(&mdsc->metric.total_inodes); + netfs_wait_for_outstanding_io(inode); truncate_inode_pages_final(&inode->i_data); if (inode->i_state & I_PINNING_NETFS_WB) ceph_fscache_unuse_cookie(inode, true); --- a/fs/netfs/misc.c +++ b/fs/netfs/misc.c @@ -101,6 +101,8 @@ void netfs_invalidate_folio(struct folio kenter("{%lx},%zx,%zx", folio->index, offset, length); + folio_wait_private_2(folio); /* [DEPRECATED] */ + if (!folio_test_private(folio)) return; @@ -165,6 +167,11 @@ bool netfs_release_folio(struct folio *f if (folio_test_private(folio)) return false; + if (unlikely(folio_test_private_2(folio))) { /* [DEPRECATED] */ + if (current_is_kswapd() || !(gfp & __GFP_FS)) + return false; + folio_wait_private_2(folio); + } fscache_note_page_release(netfs_i_cookie(ctx)); return true; }