From nobody Fri Oct 2 10:08:42 2026 Received: from mx0a-00364e01.pphosted.com (mx0a-00364e01.pphosted.com [148.163.135.74]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id ACD733C3F4A for ; Sun, 2 Aug 2026 16:53:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.135.74 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785689617; cv=none; b=DF1/oL71LkYif5+ig1Jzri7uuZGtpPM5PkbPqTGZ2ukLsn2McH/Dl0fhEG7fAoJgLEDkYnyDt0Qszr7trNRQimCWBfnLB0z9JOsLqG1cYpzhKefVc0iIRf0sapJ3FjxvAAjiuxabCqkua5l2ORvayEjSSCQZK1GGpr7whhZ6ibM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785689617; c=relaxed/simple; bh=QqylW3bsSIhF05NLxH45ljAlwMTCLlW2b0M3h7Ydtyk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=jJUOr/8511qw33iHpLW1b93M9TX9ijlTMCUqUoEemh6cca8V/bnrOKXSNMBendpB6YcchWvJAqbFylrf6nPFhAPD/DEXK3K4xPoadqNN1+hKNqHTBkLnWnBdjF8JoZqm51kRgkjsOzNoMuIQSvqszd0A/w2FOcyz+ffmjRBumaA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=columbia.edu; spf=pass smtp.mailfrom=columbia.edu; dkim=pass (2048-bit key) header.d=columbia.edu header.i=@columbia.edu header.b=GCggjXSk; arc=none smtp.client-ip=148.163.135.74 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=columbia.edu Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=columbia.edu Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=columbia.edu header.i=@columbia.edu header.b="GCggjXSk" Received: from pps.filterd (m0167069.ppops.net [127.0.0.1]) by mx0a-00364e01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 672GEqdR1598638 for ; Sun, 2 Aug 2026 12:53:34 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=columbia.edu; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=pps01; bh=gxVd pvxkC5zPJOy2sGwkp20ewyXEsgwMMwkoFsHT1cE=; b=GCggjXSkylmK9j0b1Jp8 oP3vczyvYz5vManXcGOZUGpnAR3eQwyYlptq2RtkgZamFQKTR6CERuIQwtPdg/lJ YU3rEa2IxVA2JcK3L11HOSw6DrcgmmFBe/itIo5NvHQLi4e82RkV3Fz8/Ek/ZfPJ qK5nBCYxhMOFwQXtbCO1RzQVAzlv9TXeIvtqngpMG8hjyG5/mgNBFtYehPoDBaAu LHIQG5RNx5PAMEh+jJHUdIhgmJX1OeTKP9SGo2A1c9srlSeGdVfDdPtjWGn8xlkX 4AdkHPOgB/s+3gheu+wBxieB6FXuhILGq2RdNbBfYj9Ajd9/HuEJJl4QgoJmX87F Ug== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-00364e01.pphosted.com (PPS) with ESMTPS id 4ft989840a-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sun, 02 Aug 2026 12:53:33 -0400 (EDT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-51a8db414c7so37204931cf.0 for ; Sun, 02 Aug 2026 09:53:33 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785689613; x=1786294413; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=gxVdpvxkC5zPJOy2sGwkp20ewyXEsgwMMwkoFsHT1cE=; b=pNOx6UJP+QCNnFBR7Nwd6usgXTF4sfdcYQ6n5mA7d/lV4Niq2USEa4av7DjkSImnBR AkeGyyfIVtuE7wCQSfi2U166NCLihc7BCgcy46VDfV71UX51QIhJPsd5jpFlEFMB6p4R M7iHSNKuMwk16PG3giHxUnZ5sap0v9ZYC3RPd3+FcTF8+k1DT6ukugUaFEMGxfnNHRAZ QSxaDJQN76x8raAz58UL1pflkH9Wih5TO3s8jFP90wHoHTuB66Is2YiSrnTAoBJyX/D5 1EZS8xIwfy90ImF7NYeWYBbt3fftFxPl9893JDdBMfeKfbW5fTtY8YShLl9yfLLouhS/ t/vg== X-Forwarded-Encrypted: i=1; AHgh+Rqt2dhp2f+0JyosaZDFhrUxYV52CtYQOOv0ucsHiL1EGTTp78QUJOuFc4B0tylEIxdj3cmLIVSF6AYtmYA=@vger.kernel.org X-Gm-Message-State: AOJu0YwbsJXHcrqg7rgQFCJmAYx0vGUIIZEdD3HECo9CXEkcT7J0EKpL fVQCc/5lR2PbCND3AIUUO70fYH+a5tig1b53APCtZ7JpZbkgH3kLnBeuTqlCF3fSUW2vYS5IpXk IWxlad4xixnwx29lUkL8VkhDjbkkD3hDk9ENkizSoxFDAVHBf7mduE/aX4T60eQ== X-Gm-Gg: AR+sD12Je+BPgr8mjg+/cmBUZK2zs3o05qxbnoh8oI314fhKXYmGfp6ucPmMx48NWPo rqgkYeSffnaz+VA6lDpG58IvqjJ8F/MIPGC9m4OYEK7JJrCwgZMgYAvb8rc01ruBRaHV1NX7O3J vCGHidF1vsxV6qb5jfmCHb2zT9jYvTEHpkwCEd4+iWyCjKUqBop1HZaQ6bVVgcqkYGJGRMvj2PH uLLd5lnFLsskQxxEGlrNxKBbdqCungqoekVSS6ILWx6dQd8idLAaQt9r7Kx0KrKYgIIW/YKabOP AUb0HQ6g8pAzeR0UOSZzSfL0QUioat+yg0PZXtnIJ2djFsOUjfj+rn3HQ+HcltI5nFwaoAVpN14 /T7DrqvyHveOzGS2Y0+25pQ9yXN8II0wGjxSaWDUabh1GNsKtsgc= X-Received: by 2002:a05:622a:2486:b0:517:736b:e0c2 with SMTP id d75a77b69052e-52b5673f0b6mr159137821cf.27.1785689612923; Sun, 02 Aug 2026 09:53:32 -0700 (PDT) X-Received: by 2002:a05:622a:2486:b0:517:736b:e0c2 with SMTP id d75a77b69052e-52b5673f0b6mr159137361cf.27.1785689612478; Sun, 02 Aug 2026 09:53:32 -0700 (PDT) Received: from [127.0.1.1] (CBL217-132-158-98.bb.netvision.net.il. [217.132.158.98]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47fd45a0c8bsm24064574f8f.34.2026.08.02.09.53.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 02 Aug 2026 09:53:31 -0700 (PDT) From: Tal Zussman Date: Sun, 02 Aug 2026 12:50:02 -0400 Subject: [PATCH 1/4] ceph: add ceph_folio_snap_context() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260802-remove-wait-on-page-writeback-v1-1-6c35d6b3ad36@columbia.edu> References: <20260802-remove-wait-on-page-writeback-v1-0-6c35d6b3ad36@columbia.edu> In-Reply-To: <20260802-remove-wait-on-page-writeback-v1-0-6c35d6b3ad36@columbia.edu> To: Ilya Dryomov , Alex Markuze , Viacheslav Dubeyko , "Matthew Wilcox (Oracle)" , Jan Kara , Andrew Morton , David Hildenbrand , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Zi Yan Cc: ceph-devel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, Tal Zussman X-Mailer: b4 0.14.3-dev-d7477 X-Developer-Signature: v=1; a=ed25519-sha256; t=1785689606; l=1979; i=tz2294@columbia.edu; s=20250528; h=from:subject:message-id; bh=QqylW3bsSIhF05NLxH45ljAlwMTCLlW2b0M3h7Ydtyk=; b=dxZbHRsFgGPdfbaM7ZuaRZB4wbT0T9ysMyProgY4c8BR9d6NCgfGc+G/TZXj0NJTYAzcPrmn9 AlW+bBeNVYvBE31GxwJr7e7QgAOWIYuQLUSYFlUILQVrkd9oIz1kjwh X-Developer-Key: i=tz2294@columbia.edu; a=ed25519; pk=BIj5KdACscEOyAC0oIkeZqLB3L94fzBnDccEooxeM5Y= X-Proofpoint-Spam-Info: AW1haW4tMjYwODAyMDE1MyBTYWx0ZWRfX4R0aQb1IHF8S 4+eCq/NBos/Lgd+eHF3PxHKt/14BYRDoSqomG47eTF9rUFoJsnk46EhR3K94XMDvAcuEY7D6kbJ Whv89KgEZ8Ou6l1ODfVGc8C4m+fE//6TLWCKra2kWE5TOp5RrkOB X-Proofpoint-GUID: sniD2WECY-cjCbDvh5ui0paSnjVLNiL0 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODAyMDE1MyBTYWx0ZWRfXzKo5/oqQ+bNC fZMqnHVhRL/iolRVlsGOAS61gUMJ+dXrGEThssXgcc+9/wL+1phSXv7YBHgwbXJlLRv0XkZ+xkE OcKIWCGlnmnYNe/JWVOs8XZ3urlrdEfaNf8O6GG8a8DQJiXgz/BXwuFJmwKFYUv/XHkx8n1XpjM Usne0K1gaOXu1c/e1yfxDNMhJq2eJrokE+Ak16ldSfGkApkNTX8PXenFHIF9WQqtu1U1F2iIkZI KCi8Slb0VhNI+Popdgm+O1dV4T/DgyoaL4ostGsJ5qmmH3aKTf320axh4nDqslCdJrvLZcV4Ss8 Wlj9eoH66hKoSkudw5CfoHqhNDcYvcGJtaAmjObMeqqPx9UlpVPgffjPz05QXJmGP6oKAKBViIE 5ZPCBCesw2wQEu1NJZBFn5VIEj1+9PAORytpyAAJWartmVrfNPjZL4O2UXsLKg4HEBVx/Hw78cF gsYU44rri/YAPsrWfHw== X-Authority-Analysis: v=2.4 cv=G6ss1dk5 c=1 sm=1 tr=0 ts=6a6f760d cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=C4zMR0+CEq2lM/mtmjScOA==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=x7bEGLp0ZPQA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Da8U98TiO7q1upZEImrf:22 a=JR4YdQiviy7OQf72WyZ1:22 a=ALYDsW89DncSylXEcn0A:9 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-ORIG-GUID: sniD2WECY-cjCbDvh5ui0paSnjVLNiL0 X-Proofpoint-Virus-Version: vendor=nai engine=6900 definitions=11863 signatures=596817 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 impostorscore=10 malwarescore=0 suspectscore=0 phishscore=0 adultscore=0 clxscore=1015 lowpriorityscore=10 bulkscore=10 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608020153 Add a folio-based counterpart to page_snap_context() that reads the snap context from folio->private directly. Convert the three writeback paths that passed &folio->page to page_snap_context() to ceph_folio_snap_context(), removing three open-coded folio-to-page conversions. No functional change. Signed-off-by: Tal Zussman --- fs/ceph/addr.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/fs/ceph/addr.c b/fs/ceph/addr.c index ecf33b66610c..a8ed2a14da44 100644 --- a/fs/ceph/addr.c +++ b/fs/ceph/addr.c @@ -75,6 +75,13 @@ static inline struct ceph_snap_context *page_snap_contex= t(struct page *page) return NULL; } =20 +static inline struct ceph_snap_context *ceph_folio_snap_context(struct fol= io *folio) +{ + if (folio_test_private(folio)) + return (void *)folio->private; + return NULL; +} + /* * Dirty a page. Optimistically adjust accounting, on the assumption * that we won't race with invalidate. If we do, readjust. @@ -745,7 +752,7 @@ static int write_folio_nounlock(struct folio *folio, return -EIO; =20 /* verify this is a writeable snap context */ - snapc =3D page_snap_context(&folio->page); + snapc =3D ceph_folio_snap_context(folio); if (!snapc) { doutc(cl, "%llx.%llx folio %p not dirty?\n", ceph_vinop(inode), folio); @@ -1171,7 +1178,7 @@ int ceph_check_page_before_write(struct address_space= *mapping, } =20 /* only if matching snap context */ - pgsnapc =3D page_snap_context(&folio->page); + pgsnapc =3D ceph_folio_snap_context(folio); if (pgsnapc !=3D ceph_wbc->snapc) { doutc(cl, "folio snapc %p %lld !=3D oldest %p %lld\n", pgsnapc, pgsnapc->seq, @@ -1824,7 +1831,7 @@ ceph_find_incompatible(struct folio *folio) =20 folio_wait_writeback(folio); =20 - snapc =3D page_snap_context(&folio->page); + snapc =3D ceph_folio_snap_context(folio); if (!snapc || snapc =3D=3D ci->i_head_snapc) break; =20 --=20 2.39.5 From nobody Fri Oct 2 10:08:42 2026 Received: from mx0a-00364e01.pphosted.com (mx0a-00364e01.pphosted.com [148.163.135.74]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 543FD3B71C3 for ; Sun, 2 Aug 2026 16:53:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.135.74 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785689619; cv=none; b=B1vaRaP+87Sq9zzHgdgSwdWvnWt/Q4vDmRxz1HU0xX0qy/aw1qVfJQ5ErHt+hpS/EhECZwd7rHEZZAFZgy+iW3G80tme03A3+x0gGt+FO/XEEbSGEZ1WpjhEKbPHWJlwDO52dqK2KwYEi9vtBwMaGgLhA+4mpKse6ghxaPboKpQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785689619; c=relaxed/simple; bh=hA71l4zps3FIZrXce++oKUdmiZgrWiFFt8Rlg/EPXQg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=fEYUmTwTSG9az1+/cCJvzFkmG2FS5bLiJAXvhcN7I8ML38SBdnzL0/BI+W9YR+8njiYYtk7drXdwwUlFVpZ42/eyObgQfneKclDa3BddArLBkUU2VTywZsoDjpmqXYIV6e6qAw8PnrEJCHpsbtvOSD7nsDAVw0Tp5IuZK13q+dQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=columbia.edu; spf=pass smtp.mailfrom=columbia.edu; dkim=pass (2048-bit key) header.d=columbia.edu header.i=@columbia.edu header.b=VJFCRnFc; arc=none smtp.client-ip=148.163.135.74 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=columbia.edu Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=columbia.edu Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=columbia.edu header.i=@columbia.edu header.b="VJFCRnFc" Received: from pps.filterd (m0167071.ppops.net [127.0.0.1]) by mx0a-00364e01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 672CvOvT3454330 for ; Sun, 2 Aug 2026 12:53:36 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=columbia.edu; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=pps01; bh=bzSq CN2ouqH/79hGb/FloWxsYWLiwWNlCW+sts7/z0Y=; b=VJFCRnFcbNLUu8cH58YJ s7DAqqc6gSH+kjyFskxBpwJixkUKaah7HWdTfzrfwZzb99FL1a9M0wAc6C3OUvIe VVuOskaxSaFF40fVu7ekQrsIeSnNoyHq3/WxLkOq6VCTu7BtSXjRpS1qxb06Dcm1 rKfOoJ9oycpBp+0sTVCcEwouT7xKNGcxHJGnBIm/VPxHRb2YKzRbn1bBcLDXG1i1 mEW63dNyT/J3l8Wcjg97vn2TQNvp3wFE8Q6zdJoCZr7Nr94DLYx+IUJuI/7KXgyl 16+MrjJHWuvrM/Lvhme5FMtgNwUQYoZguefFID7Ig95GccXsf5j/c+g6RKJA2ygQ SQ== Received: from mail-qv1-f69.google.com (mail-qv1-f69.google.com [209.85.219.69]) by mx0a-00364e01.pphosted.com (PPS) with ESMTPS id 4fsdrgneq5-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sun, 02 Aug 2026 12:53:36 -0400 (EDT) Received: by mail-qv1-f69.google.com with SMTP id 6a1803df08f44-8f0ed4fe79aso58156866d6.0 for ; Sun, 02 Aug 2026 09:53:36 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785689615; x=1786294415; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=bzSqCN2ouqH/79hGb/FloWxsYWLiwWNlCW+sts7/z0Y=; b=Id2z4HnsuvIn7xnVnyLHkK4feBLLOS9SlJl1SwZs/ImH3gYDFlnrNT9TqyV4AEYdmD ZCzJfgB1H/mSfcwNk3u6zgMUVeHNOXkARUNMsAZUzo25yVB8i3x45k9m4aHIpNp9ytYS Ay0B+oqK2/XWA6eJF2YtRR6T/bFFdK/cJf8YRpPE02hDEw/5lVESzlvkvtMzo6Wyt6oM 1058VRSaJQpbDxaTf6X+g9Ko3jEqcu/2ua9ginfzE+adn1fL93H+6hNET1c1iM/uUJFi hXcZ869AThef46Inb1l+hqk+tqC0WeJZhf9d78saIWrP5/0bOHvCk+BnjrgpWqxKhCGJ 6UEw== X-Forwarded-Encrypted: i=1; AHgh+Rp7QVfAbLWeX5jBYKTW5lVskr0wYx6mGE7d8vATXLQo6oEi8yu+fAQLcTpHq+hDn6FLSe5dX+tuZBF1p90=@vger.kernel.org X-Gm-Message-State: AOJu0YzWaIFV6LN47izLxHJwo1/DzAgMEblVSzU4MbaPe46yBT7WTeHo HYjqrgL/BJjAwDZUSSsXyYiML+gNDygrqynMXjQ0G7o3nTeCn23iUYiL6rgNxtKZ9guHF33ZoPo IpxF1Yxwt6tiZJqa2/JPNmQDECHZLyNDtomPvtkV4Dr2FYiEJudX0UBrfkpe+nA== X-Gm-Gg: AR+sD13UMN+bbdgPuc3YMMKzfunzjwcj8EnmqDuPvqAQW+u8AxKZPkwq5iO1eM/woRS 5MQWowXj18uN7xDTfcXTTcpNqcM63rVoAzZpZj9WhRszz5uzikomql394xMkBDGcapTAJtGNotr NJh4bqQgFkFr4LNGELRzDIiHLLmeiFigUAnunUA8IRfxnBMVf9HGGp3WAM1sPKuJtL8w832dWPy pgV9c6FURxCFqv6yz92el6ra+95VtX/FrD1IRQNCCf1eVcdXTaCFdzD+/9bJHtpBpSDZCvEP3di QLXws5oCWrxm9vc7KOcFv9u027NI8TntL4zw2K4PGjTa9L4S8d63T8ffuSX8GlPCn4iwAZdrgSe bX1GnmNmRMbBgUnYXBElHKGCJxqN3y3JrYBZEIiPcnwmAYA0JmK4= X-Received: by 2002:ac8:7c48:0:b0:51b:7af7:77de with SMTP id d75a77b69052e-52b566abe38mr141990941cf.14.1785689615766; Sun, 02 Aug 2026 09:53:35 -0700 (PDT) X-Received: by 2002:ac8:7c48:0:b0:51b:7af7:77de with SMTP id d75a77b69052e-52b566abe38mr141990671cf.14.1785689615218; Sun, 02 Aug 2026 09:53:35 -0700 (PDT) Received: from [127.0.1.1] (CBL217-132-158-98.bb.netvision.net.il. [217.132.158.98]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47fd45a0c8bsm24064574f8f.34.2026.08.02.09.53.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 02 Aug 2026 09:53:34 -0700 (PDT) From: Tal Zussman Date: Sun, 02 Aug 2026 12:50:03 -0400 Subject: [PATCH 2/4] ceph: convert ceph_wait_until_current_writes_complete() to folios Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260802-remove-wait-on-page-writeback-v1-2-6c35d6b3ad36@columbia.edu> References: <20260802-remove-wait-on-page-writeback-v1-0-6c35d6b3ad36@columbia.edu> In-Reply-To: <20260802-remove-wait-on-page-writeback-v1-0-6c35d6b3ad36@columbia.edu> To: Ilya Dryomov , Alex Markuze , Viacheslav Dubeyko , "Matthew Wilcox (Oracle)" , Jan Kara , Andrew Morton , David Hildenbrand , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Zi Yan Cc: ceph-devel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, Tal Zussman X-Mailer: b4 0.14.3-dev-d7477 X-Developer-Signature: v=1; a=ed25519-sha256; t=1785689606; l=1458; i=tz2294@columbia.edu; s=20250528; h=from:subject:message-id; bh=hA71l4zps3FIZrXce++oKUdmiZgrWiFFt8Rlg/EPXQg=; b=NXcXcTwUKpw/VIbn16Dx6cegEB7ZHn9mIgTG7Ygwab6MpVdeUesY1ep5jkehOa6xD+NThEIbd Vk1axHal36zA+fFgqbopbWbRnXaom8Fun+tidHpPwN/TLt6hKEzLiKm X-Developer-Key: i=tz2294@columbia.edu; a=ed25519; pk=BIj5KdACscEOyAC0oIkeZqLB3L94fzBnDccEooxeM5Y= X-Proofpoint-GUID: XK-gv0G1WbRd-I2sPY7BqGfyyVdXYAa6 X-Authority-Analysis: v=2.4 cv=WMxPmHsR c=1 sm=1 tr=0 ts=6a6f7610 cx=c_pps a=wEM5vcRIz55oU/E2lInRtA==:117 a=C4zMR0+CEq2lM/mtmjScOA==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=x7bEGLp0ZPQA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Da8U98TiO7q1upZEImrf:22 a=79PYxaXUQd1wl-QFWJnA:22 a=oBeIbaJldBQvbLH65vwA:9 a=QEXdDO2ut3YA:10 a=OIgjcC2v60KrkQgK7BGD:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODAyMDE1MyBTYWx0ZWRfX8T4IVslCg/um UbnAY7XET29ZKddrdzeWibFjsS0jIMx2ykPkZiapeTZOkXZCKUGsIu16kOObU/SteJd7cFH0D6+ dreMmfMWXAqQ9yB4bVoa+m3CiwyADfS+T7wQwBLLS6tWdDc3EY6SWzdXp32EgLCtiMMzvqJRV/3 W+tYCiBr6i1y2QMcF4Raxdvg1tee6I9D/MlILJJCulOU33UYLadXY/bCu8JxaP3ZFPWFmTWRQhM qJiiSm8FWOaEv584Enj2ptTZQ07zhgL4gVTpKgEyRb1vRceSmXKOyHoi3jaedk1HbIRzqYtrrro B6EyUPvu6eZXWYs1AJKMnX1cWUsoEV4VL6yOgG5Qt7JsuLZQ11w3uAUPAEXz4xSq/XBUpYaIt97 7ATgmA16yTZVvRVIUg8REYqCPKEGgavMzprKcbnekTl6k55mboLF+LJivtKOe9gEKQjKRffgMTr 9Xkv5Y9IqyEbI9K76Cw== X-Proofpoint-Spam-Info: AW1haW4tMjYwODAyMDE1MyBTYWx0ZWRfX9KfH0akrD5eT Td+SUWoL2HUxsrJdHmRSWamgcmKHAA4y7jPjfoICHwKZx4I33sdkWo0i9SirVqKrqoIAeM/jsjT LeWF2Sa3U5eUetiiOifJX+yrSIhQfXPwFHvzZxuqvdtkcuw0Rfyb X-Proofpoint-ORIG-GUID: XK-gv0G1WbRd-I2sPY7BqGfyyVdXYAa6 X-Proofpoint-Virus-Version: vendor=nai engine=6900 definitions=11863 signatures=596817 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 phishscore=0 impostorscore=10 malwarescore=0 adultscore=0 lowpriorityscore=10 clxscore=1015 bulkscore=10 priorityscore=1501 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608020153 Iterate the writeback batch as folios rather than using &folios[i]->page. Use ceph_folio_snap_context() for the snap context check and folio_wait_writeback() instead of wait_on_page_writeback(). This removes one call to compound_head() and the last caller of wait_on_page_writeback(). No functional change. Signed-off-by: Tal Zussman Reviewed-by: Matthew Wilcox (Oracle) --- fs/ceph/addr.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/fs/ceph/addr.c b/fs/ceph/addr.c index a8ed2a14da44..f4aaf9a5f196 100644 --- a/fs/ceph/addr.c +++ b/fs/ceph/addr.c @@ -1625,7 +1625,7 @@ void ceph_wait_until_current_writes_complete(struct a= ddress_space *mapping, struct writeback_control *wbc, struct ceph_writeback_ctl *ceph_wbc) { - struct page *page; + struct folio *folio; unsigned i, nr; =20 if (wbc->sync_mode !=3D WB_SYNC_NONE && @@ -1640,10 +1640,10 @@ void ceph_wait_until_current_writes_complete(struct= address_space *mapping, PAGECACHE_TAG_WRITEBACK, &ceph_wbc->fbatch))) { for (i =3D 0; i < nr; i++) { - page =3D &ceph_wbc->fbatch.folios[i]->page; - if (page_snap_context(page) !=3D ceph_wbc->snapc) + folio =3D ceph_wbc->fbatch.folios[i]; + if (ceph_folio_snap_context(folio) !=3D ceph_wbc->snapc) continue; - wait_on_page_writeback(page); + folio_wait_writeback(folio); } =20 folio_batch_release(&ceph_wbc->fbatch); --=20 2.39.5 From nobody Fri Oct 2 10:08:42 2026 Received: from mx0a-00364e01.pphosted.com (mx0a-00364e01.pphosted.com [148.163.135.74]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3055C3C9ED5 for ; Sun, 2 Aug 2026 16:53:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.135.74 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785689621; cv=none; b=YvsiyYHgSfOOhEhciuN+hlxYnUB3dEqxPViaHBljl8MiH/9GZSjgY8AMEBRdIeJUJLCDi0c4qSXqEG/ECKR5ij/eBUjUlkIxCJ9jMDSWD4u/9Ym074w1Jn0jTl0urvgE3bh1Q4Z6XWzh0boDdqEYRtFabGqFN1yFS0Mmo5ZRfoM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785689621; c=relaxed/simple; bh=2VkgDhoLJZc2rtRUaEo1H+FE+H647yEoceZpR1wCk5A=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=fG5HARgGe/cr2JgzLfM5pbTGN0fgwfATOkQ9g29A85Ohyx1m1V/BJMDqYuFd6St6AMkuNXXd8lK5HrYfTUnufaRZEDuEqSlL/xLqoA2eajSzS7qriL3ZyUWvRMyO2juJA1lLPzAbAJVs4MyskgBuVTD6abshgEzm63uCKMhin6o= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=columbia.edu; spf=pass smtp.mailfrom=columbia.edu; dkim=pass (2048-bit key) header.d=columbia.edu header.i=@columbia.edu header.b=ZiAxOXOQ; arc=none smtp.client-ip=148.163.135.74 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=columbia.edu Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=columbia.edu Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=columbia.edu header.i=@columbia.edu header.b="ZiAxOXOQ" Received: from pps.filterd (m0167068.ppops.net [127.0.0.1]) by mx0a-00364e01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 672GdkwA107316 for ; Sun, 2 Aug 2026 12:53:39 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=columbia.edu; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=pps01; bh=iXtH coi8cVlKLUHZRCUmBtHXjzieXyTC4IDYVelJs2g=; b=ZiAxOXOQ3C5l4e5uF4z6 qf860eJMZ+uFHA/DGWEFHgkHs06bLW/WI9JvjPDgwqRmtv3akXM8M2t4dQ0d4sHZ LDwA9H8xKpBXfBZmHgdurZDBdVO9mZRSvjz14TBpcaPL7oUD/ZZ/Ha3YqSSCzk85 HROLuAGoTH2MFGWls7o5GW6zZJossm0QmOkRvZxBjaQGrsgapg5dob+RAWPYjVKe I/DwPmS6nU2zRow2146FpSc0ywFMFlHtA1b+ZY8K3BzHzV+CVxDmUKbeipqony73 tf33GiAkxC9ykvzGHcm/wbWM2UVmeXDSYhDgm5U9y9+QURrkhIJ0xuFI0v/nr32f rg== Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-00364e01.pphosted.com (PPS) with ESMTPS id 4ft9m1r18w-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sun, 02 Aug 2026 12:53:39 -0400 (EDT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-522de3c645dso52974461cf.3 for ; Sun, 02 Aug 2026 09:53:39 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785689618; x=1786294418; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=iXtHcoi8cVlKLUHZRCUmBtHXjzieXyTC4IDYVelJs2g=; b=I3EnOtQmNQLPtA6oCx9ohZI7kha+YU7olL+Icn31fKvq0FNkIwMgrgrE98YMgE7t8Z ImQW71t+X2FjVnUjkagw7Utc+rPL9WFVE3NrV73DvQnTpEdU+5SSoQeKD4LnVZwk+AG4 sTA2qVNAIXRrdn7sjWM9eKutBH8NKYB4HbLjo6QTo9Fts1WxfoMDWQ7Z2V5dhid4eMq7 9oM4KKWqR2bGRnOLLnGNrAltg7CFyrxAg/gqNLwSzSNYuPq0642QFb46ILu8svKUjyk3 q8SNZ/VRBK5Bp1gCMFUqvNLx+5IFHGsMvlt8d5RKYmmqkwl7adLJ3yLr+k6b8xjgVNOl Iy8Q== X-Forwarded-Encrypted: i=1; AHgh+RrZCnZhmXe2wbx8YgvE0wKmev6C9hmP2RjGxMCIH0zCp5lWQa1Ok8z9pPq/TtjPackjkWUYWHZcc9e7+RE=@vger.kernel.org X-Gm-Message-State: AOJu0YwKe599Hh6AHHV99CfMGo8KO7/+yA5P0f1LOaRbELuuszrKJlEV TbSeUB7ocvPkPNY45zGDlfKr2cB8i6IYufgj2ijj2ZSH7ThgSHTgpqQJsihR8gCBPGFLCSlxNqQ CRFXFHmugqPsw7mH/xBkSmAzOwUSW0Dby6FB9maKqgnDrya2EV4QQqxMD763i1A== X-Gm-Gg: AR+sD11XOpW9X85+ytSRJZN8qNl1E94Mx9/2hb4J3EmE1YfPLTPgSts3LWlHvZj2w4Z 1vI25aWa6+7HX9vnespA0kkxRVR6fQfcCjKTkNTXnVRKG+jQeXQUQr7orWZTcVESMOlrQ73yLTA sZ1IxRwFgADTXh4Tn7sYzKM8dbdyyVnzzN6QOdS+aIpOBuN65MVl+LxmRwHT/cKsr4W3pPXpKPA LFUYpXMeJuGGFL7YilPG3B/W/hbxaRoy9c6QX9IUrmVbfK9/mMYXlHLYB7/gsilfasFX94P1CkK qpOzoKnKyRtRU2rWdrNVUeOYlVOpV0MExXfws5VLcw9H8uE+4DtEpKNTQCVKGVARZhCyrti6+yr 6RlF71cecaLCqV+6THeTQi8Bb8Yds6GA8gLbt1Dho0dpNwti0tuw= X-Received: by 2002:a05:622b:89:10b0:52b:6543:d8a with SMTP id d75a77b69052e-52b654316e8mr58751411cf.26.1785689618609; Sun, 02 Aug 2026 09:53:38 -0700 (PDT) X-Received: by 2002:a05:622b:89:10b0:52b:6543:d8a with SMTP id d75a77b69052e-52b654316e8mr58751081cf.26.1785689618191; Sun, 02 Aug 2026 09:53:38 -0700 (PDT) Received: from [127.0.1.1] (CBL217-132-158-98.bb.netvision.net.il. [217.132.158.98]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47fd45a0c8bsm24064574f8f.34.2026.08.02.09.53.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 02 Aug 2026 09:53:37 -0700 (PDT) From: Tal Zussman Date: Sun, 02 Aug 2026 12:50:04 -0400 Subject: [PATCH 3/4] mm: remove wait_on_page_writeback() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260802-remove-wait-on-page-writeback-v1-3-6c35d6b3ad36@columbia.edu> References: <20260802-remove-wait-on-page-writeback-v1-0-6c35d6b3ad36@columbia.edu> In-Reply-To: <20260802-remove-wait-on-page-writeback-v1-0-6c35d6b3ad36@columbia.edu> To: Ilya Dryomov , Alex Markuze , Viacheslav Dubeyko , "Matthew Wilcox (Oracle)" , Jan Kara , Andrew Morton , David Hildenbrand , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Zi Yan Cc: ceph-devel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, Tal Zussman X-Mailer: b4 0.14.3-dev-d7477 X-Developer-Signature: v=1; a=ed25519-sha256; t=1785689606; l=1337; i=tz2294@columbia.edu; s=20250528; h=from:subject:message-id; bh=2VkgDhoLJZc2rtRUaEo1H+FE+H647yEoceZpR1wCk5A=; b=7I8Fp8rUC2g3MzaZ+Eu5F/2t4vVqj+514clw9LyKXp/jE+0VmFnNxeE1hGpUOS8CgVyOCh1FG mTjLIEvkVwqBiGVtq5g14hyqpkS2MRwjm6LTEH52tIQWJPW6dN55Ram X-Developer-Key: i=tz2294@columbia.edu; a=ed25519; pk=BIj5KdACscEOyAC0oIkeZqLB3L94fzBnDccEooxeM5Y= X-Proofpoint-Spam-Info: AW1haW4tMjYwODAyMDE1MyBTYWx0ZWRfXxcawSfY4dW1a A27+GaJW8swd3bOr5eU3ZrW2Pr1TefxPaMENGsA8t6qTdLtDeFp/MowJHxXazefzK0jqJiqEnPH WBjWYvjZreCkyh96cjhZ1bzG6Pw6U9QCOF2CXfJwF8nQuIs2mJ9t X-Proofpoint-ORIG-GUID: HxpGTqcuJFD6n4yxuubGiv_gfBO7vG2L X-Proofpoint-GUID: HxpGTqcuJFD6n4yxuubGiv_gfBO7vG2L X-Authority-Analysis: v=2.4 cv=FdsHAp+6 c=1 sm=1 tr=0 ts=6a6f7613 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=C4zMR0+CEq2lM/mtmjScOA==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=x7bEGLp0ZPQA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Da8U98TiO7q1upZEImrf:22 a=usPcmh10W0ubT8QP8_c3:22 a=mRZAEA7ckj0XMcVDBXoA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODAyMDE1MyBTYWx0ZWRfX3+YyXyoiMcU2 Ehxw3kMa5KeZS/Qo9rgWHocgRvEECWDBZfnweYxz3xAN0R4liQztSQ633W3UuMOX+SqKrEqs5BE /Ul2ZV/5DvTY75TmaS0GnSYq8MfsOLQ1FhH4/igyIlJZ6eB3MRNnv0nw6WESy+7kkz2NVygUeLC thUzJCkuSQ2ZXF6gVJkex5EIMlDP0k8g8ldcFB/4VvO6++JpvZjR1w0L54//74KyiCFzh8J8Co0 JVvI2BTdTi+aaSHn7dF7TOR9eRG93msdHkptjHSntuyMg1/SuHB6VBJgh2yNqmfInZySuDN3mzY ojRlIy8TLzl9FnXR2IHOVg3yjNl+RKEt73ucV2Nu9lofzjLBCb9pneM+C8DhYvRitus/i3ohHBg t2oqZnz+ogXUeYVrYYnZoo+eEoExw8m6aPlsIpyDhbUxjI8RDlF5meU38RbnRcuT0Y31TQefISV 9roJkk0n93wV4rkWVDw== X-Proofpoint-Virus-Version: vendor=nai engine=6900 definitions=11863 signatures=596817 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 lowpriorityscore=10 spamscore=0 adultscore=0 bulkscore=10 clxscore=1015 phishscore=0 suspectscore=0 priorityscore=1501 impostorscore=10 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608020153 The last caller was converted to folio_wait_writeback(), so drop the wait_on_page_writeback() compatibility wrapper and its declaration. Signed-off-by: Tal Zussman Acked-by: David Hildenbrand (Arm) Reviewed-by: Matthew Wilcox (Oracle) --- include/linux/pagemap.h | 1 - mm/folio-compat.c | 6 ------ 2 files changed, 7 deletions(-) diff --git a/include/linux/pagemap.h b/include/linux/pagemap.h index 4e8b2b29f6d3..c8666fd14d3d 100644 --- a/include/linux/pagemap.h +++ b/include/linux/pagemap.h @@ -1335,7 +1335,6 @@ static inline int folio_wait_locked_killable(struct f= olio *folio) } =20 void folio_end_read(struct folio *folio, bool success); -void wait_on_page_writeback(struct page *page); void folio_wait_writeback(struct folio *folio); int folio_wait_writeback_killable(struct folio *folio); void end_page_writeback(struct page *page); diff --git a/mm/folio-compat.c b/mm/folio-compat.c index a02179a0bded..ae0271591d37 100644 --- a/mm/folio-compat.c +++ b/mm/folio-compat.c @@ -23,12 +23,6 @@ void end_page_writeback(struct page *page) } EXPORT_SYMBOL(end_page_writeback); =20 -void wait_on_page_writeback(struct page *page) -{ - return folio_wait_writeback(page_folio(page)); -} -EXPORT_SYMBOL_GPL(wait_on_page_writeback); - void mark_page_accessed(struct page *page) { folio_mark_accessed(page_folio(page)); --=20 2.39.5 From nobody Fri Oct 2 10:08:42 2026 Received: from mx0a-00364e01.pphosted.com (mx0a-00364e01.pphosted.com [148.163.135.74]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3817E3CB56B for ; Sun, 2 Aug 2026 16:53:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.135.74 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785689624; cv=none; b=j+83c2HCkq1jaf6Srkub6d90bKrwSgqWpPF99uB2oO7Ae1OsRoDNvjyvMVmJ1uO3fWMoiitNqMhqsNBOkcY0XNu0F6iXZSeCRlxiuoKFZq7LeJfHwldEaYs+3y0ntY98tXyGvS7A0niFVxbvgF2SCAHm5Oy9pTFj+v8rgul2/nE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785689624; c=relaxed/simple; bh=E+7MzW7ymcOmm2fAOpewcVRXAlWP28GQ8bwE/xkarAE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=TBqFQlFd8b+NTdjZquB9A/7cv7tzmio4Lft8utz1UCBNQhO1ly98eYCRMva/D1L89QdmehyM2UD9YaVJiuJxuR/IDlekQ4pkPs0kSrE27O4ktMWuAuVVrHrPVXXdZcHTLlWKfFr2HVLHGiWp3DnRAr2IXtHN5QBSAtCmZjE8ccI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=columbia.edu; spf=pass smtp.mailfrom=columbia.edu; dkim=pass (2048-bit key) header.d=columbia.edu header.i=@columbia.edu header.b=lsnrTEqo; arc=none smtp.client-ip=148.163.135.74 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=columbia.edu Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=columbia.edu Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=columbia.edu header.i=@columbia.edu header.b="lsnrTEqo" Received: from pps.filterd (m0167069.ppops.net [127.0.0.1]) by mx0a-00364e01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 672GEofR1598606 for ; Sun, 2 Aug 2026 12:53:42 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=columbia.edu; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=pps01; bh=YgZD 12vF5o4SjGPupBE5NOIO7mg5JBXcQDcfIckANSI=; b=lsnrTEqo2LT6TEG7vP9k kxCnydT7i+KLPh3FM6khNDUcEeh7r3bpmjw4ho9//jQfGfwp6l4lpPAGmI2+/TLG gmpB6U/NZJNclhxo/IUGUl+WvenUkYtiYHIuBHI0Hp+E1lyqCa2V4n/S83pOczq4 sjDiT4+xNLyn231+Gw3p+g2UC21cwg/k+RqhZEIY9L2NP99I4P6rfUH2rbwtjDR3 wMeYR6qiBnRcnBRpPdBRGimZHPeEZLHfOL7V0ZhfqV3ggSNQiXi9Bynso4c8VuhW v7lwlMkbpF0w4g7sxcbaukGlhvOHCbKXU6wbun8NU3jkGMd6KZN6oYWqP6Nv8/K9 yQ== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-00364e01.pphosted.com (PPS) with ESMTPS id 4ft989840x-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sun, 02 Aug 2026 12:53:42 -0400 (EDT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-5276aa86d00so27074911cf.2 for ; Sun, 02 Aug 2026 09:53:42 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785689621; x=1786294421; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=YgZD12vF5o4SjGPupBE5NOIO7mg5JBXcQDcfIckANSI=; b=D5JVFYpAr6D1pjca6/vrNue44kJ6cfBfRyEk9WBZkYxvCbEWcUCVTcL8EN/9YxkPxr YCDT3cNKo/RYGp3P8XlWnZAyxLRXLN28r+CAnvmgjB9c+T0r99oCJ951lcBHr3qpm4bU 3JUSdJTbhe3N3DuSxDjRaz7DAWfFnfFIfhAoEDBlF6XPDxp/nNapBszO9GbAOP9O5Gj5 avcGCg1GDs7IA3q7A3SHXo9HkUUtlUKAIvji1dlybp+dJGl4+Wv5qFj2T4Njexh/tYB9 //YiLpeVz3575R3lh317phmssNnf5MZj6eUDJ84mUINn7EwIuICya2hP6c3yGTdrdsBb oLTQ== X-Forwarded-Encrypted: i=1; AHgh+Rro/2u8VMYZzFS50oVnJHy0yLjLwBHh99c6pUQfVQNlANedkceHbir4hfd2iGcw9Yqfrnn/kWXstn3G2JA=@vger.kernel.org X-Gm-Message-State: AOJu0YxbJaB9c8qdnNwv9Pgf1v/RaZezSg/2OzqasStY7790/qwSONDH BmzOBJznHkPiJPG8IYnZreRzyDGvJFJphd/Hl3kx1buMVOM6n4yl49XdcSHrsqTNouUMIIrIZ3v HhN+QyI+5dlIlq9UvhZKd6+B629edKtbZw7ibUUxLYmF+t14kUFZuLE9+RJLYFg== X-Gm-Gg: AR+sD114P4xH+7za/Szjqp2F6TBiiWyoMc6MQOvyMecOHvcpkyXg/349dXUxKkLtH63 Pp8X8s2omyDw9Xs/xkHAvjfnT7mK7/HY0+RNMxVcSCfeTbHKV+5OIdWrnPbg6p1ZODC3zAlotqi YjLebhNvWSnWj9HGXrjcH/bFCrPmUXVBJyJk/o7ec3gOrkLiCZ9znIVpix/V/bna3koDBfQtxep a7G27Y5ZJMYnooItJFonsIsMoeYbRDFWf8gxzS+HKlN7NX5DV//cAtS0XczlVnHwsK5SazcPLh3 xZtbYD8mtS9CEWRR3KfDCZMkUor7QfyaGR8Swdxn87cCrDGma6AHpHbG59sed6QnFS3RpZFRUSM r47q5idyl2csuorOCbows0P2gy21qavWUWxlRuWOk4g0xTR9WNSY= X-Received: by 2002:a05:622a:1247:b0:51c:844f:28da with SMTP id d75a77b69052e-52b56673bf2mr163448481cf.5.1785689621469; Sun, 02 Aug 2026 09:53:41 -0700 (PDT) X-Received: by 2002:a05:622a:1247:b0:51c:844f:28da with SMTP id d75a77b69052e-52b56673bf2mr163448101cf.5.1785689620984; Sun, 02 Aug 2026 09:53:40 -0700 (PDT) Received: from [127.0.1.1] (CBL217-132-158-98.bb.netvision.net.il. [217.132.158.98]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47fd45a0c8bsm24064574f8f.34.2026.08.02.09.53.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 02 Aug 2026 09:53:40 -0700 (PDT) From: Tal Zussman Date: Sun, 02 Aug 2026 12:50:05 -0400 Subject: [PATCH 4/4] ceph: remove page_snap_context() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260802-remove-wait-on-page-writeback-v1-4-6c35d6b3ad36@columbia.edu> References: <20260802-remove-wait-on-page-writeback-v1-0-6c35d6b3ad36@columbia.edu> In-Reply-To: <20260802-remove-wait-on-page-writeback-v1-0-6c35d6b3ad36@columbia.edu> To: Ilya Dryomov , Alex Markuze , Viacheslav Dubeyko , "Matthew Wilcox (Oracle)" , Jan Kara , Andrew Morton , David Hildenbrand , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Zi Yan Cc: ceph-devel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, Tal Zussman X-Mailer: b4 0.14.3-dev-d7477 X-Developer-Signature: v=1; a=ed25519-sha256; t=1785689606; l=1958; i=tz2294@columbia.edu; s=20250528; h=from:subject:message-id; bh=E+7MzW7ymcOmm2fAOpewcVRXAlWP28GQ8bwE/xkarAE=; b=CGrtCZzmymnOg0P1AnYYYJJhAxmkHbTbgJSoW9X6pUAWQ24AQTP1LclOZq1dzmzHdLFh9Byxb fftOg/3aKaoDeb0vSDcCi66HsuVSw4joSRlXCjwpzGhun32idb8IvRp X-Developer-Key: i=tz2294@columbia.edu; a=ed25519; pk=BIj5KdACscEOyAC0oIkeZqLB3L94fzBnDccEooxeM5Y= X-Proofpoint-Spam-Info: AW1haW4tMjYwODAyMDE1MyBTYWx0ZWRfX4MpM0nhhScxl 2QCf5d9VtOtTw+LetGrXJhv5Y1XoOmfqxPU15IX7JXoWf9xm0kiqoAbO5Db3hd1yegZFP2IC4JI Ydf4oQaPksq1N448a1zEGmxWK8cRXB1RmHszPiPcpHA9JiBy64a9 X-Proofpoint-GUID: qe65POTvJlkoyZ4VUgJ1CxXz9KjCtnw0 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODAyMDE1MyBTYWx0ZWRfXwa2gC8+PLTfr o+J+VRSS5t0Iybjio9BovF0iS4GjSvLBE+22TbhMJX/uV2xl9uWG7cDW2JYm8ZWch/cds97VMDk tj3/QyvmydlA0jpMwF7qljWIM1TpzEWbfxWztDehr4yuqqX93CiGD86P0DUpzGNlrtaPoLRJkGw b8Op9LyNAV3Y3ru7f+gdWLXN7DeN3HYFvA5dBAXWKbiCO2f/+/EmgNWaDwubVMmZ9i+AGr4oZmk 8TpQVb45dE/IYCm1AR5djvGJXJ+KXKqFB8KBrSPomrckzUaDp1WqePKxCNI+wGmCoool59w8rm7 w5HHX/3BTXtJK/WWoiAUqbkT2cn+YxjmJfXxIZ4aFrH9emiHJYefffMRlO9JTekZ7wBEtAsfyj5 ihg49WtLoZySfX5S9hnuGrkkRdqaOGofKLN9vXyyHrvX1wvYJDEQ+ozlphbZu0tA3PFyzGhEqHy EUT9KIUH5X/b5oqMy1g== X-Authority-Analysis: v=2.4 cv=G6ss1dk5 c=1 sm=1 tr=0 ts=6a6f7616 cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=C4zMR0+CEq2lM/mtmjScOA==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=x7bEGLp0ZPQA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Da8U98TiO7q1upZEImrf:22 a=JR4YdQiviy7OQf72WyZ1:22 a=7ovMhKOaTh8UDYQOW-cA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-ORIG-GUID: qe65POTvJlkoyZ4VUgJ1CxXz9KjCtnw0 X-Proofpoint-Virus-Version: vendor=nai engine=6900 definitions=11863 signatures=596817 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 impostorscore=10 malwarescore=0 suspectscore=0 phishscore=0 adultscore=0 clxscore=1015 lowpriorityscore=10 bulkscore=10 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608020153 Convert the final caller in get_writepages_data_length() to use a folio and ceph_folio_snap_context(), then remove page_snap_context(). This drops the last open-coded use of page->private in ceph's writeback path. Signed-off-by: Tal Zussman --- fs/ceph/addr.c | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/fs/ceph/addr.c b/fs/ceph/addr.c index f4aaf9a5f196..702cf5fc1eab 100644 --- a/fs/ceph/addr.c +++ b/fs/ceph/addr.c @@ -29,9 +29,9 @@ * * There are a few funny things going on here. * - * The page->private field is used to reference a struct - * ceph_snap_context for _every_ dirty page. This indicates which - * snapshot the page was logically dirtied in, and thus which snap + * The folio->private field is used to reference a struct + * ceph_snap_context for _every_ dirty folio. This indicates which + * snapshot the folio was logically dirtied in, and thus which snap * context needs to be associated with the osd write during writeback. * * Similarly, struct ceph_inode_info maintains a set of counters to @@ -68,13 +68,6 @@ static int ceph_netfs_check_write_begin(struct file *file, loff_t pos, uns= igned int len, struct folio **foliop, void **_fsdata); =20 -static inline struct ceph_snap_context *page_snap_context(struct page *pag= e) -{ - if (PagePrivate(page)) - return (void *)page->private; - return NULL; -} - static inline struct ceph_snap_context *ceph_folio_snap_context(struct fol= io *folio) { if (folio_test_private(folio)) @@ -697,7 +690,7 @@ static u64 get_writepages_data_length(struct inode *ino= de, u64 end =3D i_size_read(inode); u64 ret; =20 - snapc =3D page_snap_context(ceph_fscrypt_pagecache_page(page)); + snapc =3D ceph_folio_snap_context(page_folio(ceph_fscrypt_pagecache_page(= page))); if (snapc !=3D ci->i_head_snapc) { bool found =3D false; spin_lock(&ci->i_ceph_lock); --=20 2.39.5