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 988E2C5AE59 for ; Thu, 5 Jun 2025 08:22:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 353016B0581; Thu, 5 Jun 2025 04:22:32 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 32AAA6B0583; Thu, 5 Jun 2025 04:22:32 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 240B56B0585; Thu, 5 Jun 2025 04:22:32 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 00E826B0581 for ; Thu, 5 Jun 2025 04:22:31 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id A03F31D7E37 for ; Thu, 5 Jun 2025 08:22:31 +0000 (UTC) X-FDA: 83520655302.18.5D5C5A2 Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131]) by imf21.hostedemail.com (Postfix) with ESMTP id 69E4C1C000B for ; Thu, 5 Jun 2025 08:22:29 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=BEWZJPWx; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=aEvM2aGh; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=yVNNQfCG; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=FhIH3GPO; spf=pass (imf21.hostedemail.com: domain of jack@suse.cz designates 195.135.223.131 as permitted sender) smtp.mailfrom=jack@suse.cz; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1749111749; 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-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=mG4VCh9tlRxGqy5O4mxRiy9A5IFEM35DxvBHVeN1js4=; b=NlPpBU0tyPBbzZJ1DOOZzJ2/WWerycuGKLwx/QTHWuGIMCSAvL127bNpOASLoZu1OqGrdy RESK5fk8pRgUcHZqEcIh2e3OuC000d9Uhvp21qCTVOtv1gqznLTdfwrA4zOw0xCdlCgr/5 zgZJ3mPP7kxxE0xbVb8ug2YUnvtKx1k= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1749111749; a=rsa-sha256; cv=none; b=bo9azRYxsdx6cVVvRyE9u3QI9ZOttLG+RYMryEUNzI70aWJpI+fFBYPDGhfJgr/CKOnthj +H53aI+IGosyfkeyPp+03hL6IXTcVpux9ldm/BzULR1ccbIuBeIhvQ0O/66kxoOuFCnXEv gfMXvPvuzHz1k+Mfjy5+bN7RzWAUtng= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=BEWZJPWx; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=aEvM2aGh; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=yVNNQfCG; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=FhIH3GPO; spf=pass (imf21.hostedemail.com: domain of jack@suse.cz designates 195.135.223.131 as permitted sender) smtp.mailfrom=jack@suse.cz; dmarc=none Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104:10:150:64:97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id ED4FE5BF44; Thu, 5 Jun 2025 08:22:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1749111748; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=mG4VCh9tlRxGqy5O4mxRiy9A5IFEM35DxvBHVeN1js4=; b=BEWZJPWxFehhiwfcyh967XUrO5y9JmHZHR+l0vqVXUP/3PlPzEvXXlwD/Vwe5tLknpnNv0 fw1KAr/uiFR6HK+PWbjSpe7ng//GzkmJkwB4IqwKIXO/73iwVq/THBV4RLT0M7Z6uosTz3 i1LBW30eUfq5Be8lK3Ar4qFu+IZ1b4I= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1749111748; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=mG4VCh9tlRxGqy5O4mxRiy9A5IFEM35DxvBHVeN1js4=; b=aEvM2aGhxDaJO4xwhCHRD59KhUq8kx3S89zh7LY7WjJTPGjDNQQZhEEj2zbrzMLlbsQA0L cjXn/ECyMGRcVWDw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1749111747; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=mG4VCh9tlRxGqy5O4mxRiy9A5IFEM35DxvBHVeN1js4=; b=yVNNQfCGuVN7Yt1fN4BbWOG2aui2spn406vLnVPtFRABhdOQ4Z6ujq0I9Gcs4F1ibaSqbR Gv4aieEAJIwJOIuQa8VsJ471ZhW7Lb44NNtUksMwlhK297aFoTlpCrPvu91wppWqy2zBYe kNFEhs6G9MxGrIMweDA7r3TF+E15FUw= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1749111747; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=mG4VCh9tlRxGqy5O4mxRiy9A5IFEM35DxvBHVeN1js4=; b=FhIH3GPOi8w7eWR8e/597X4ZXPYFG9QlazlnrGlWbe7Jz9ZJMJyXf7z5f+fL6mdeiXW6B1 zl8EHailOBGsDOCQ== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id E1D8B137FE; Thu, 5 Jun 2025 08:22:27 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id foodN8NTQWj6QQAAD6G6ig (envelope-from ); Thu, 05 Jun 2025 08:22:27 +0000 Received: by quack3.suse.cz (Postfix, from userid 1000) id 8A09BA0951; Thu, 5 Jun 2025 10:22:23 +0200 (CEST) Date: Thu, 5 Jun 2025 10:22:23 +0200 From: Jan Kara To: Chi Zhiling Cc: willy@infradead.org, akpm@linux-foundation.org, josef@toxicpanda.com, jack@suse.cz, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Chi Zhiling Subject: Re: [PATCH] readahead: fix return value of page_cache_next_miss() when no hole is found Message-ID: References: <20250605054935.2323451-1-chizhiling@163.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250605054935.2323451-1-chizhiling@163.com> X-Rspamd-Action: no action X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 69E4C1C000B X-Stat-Signature: 1jc6woa73cstprsw6c5pqujobhcyy99j X-Rspam-User: X-HE-Tag: 1749111749-857579 X-HE-Meta: U2FsdGVkX1+bGqUfEJ0UZYxeNThwl2MMxzjYjBPAhAMwxQcs9TkHMk13iQ4mn9FSHO/89+rZ8Qoy0QTlyCDoUTm9LkpwENCr9tWaiQ0OIHRirLGhkTWCokCjT3lCB6B/6QB41WCClu+WZPT+Z0OrP2hvitofOvMqM9CuJd8yiEaVMOznZFFuJUWBboaka7tfSNS+VA41MLpBnK2l0P/cjzjnSmGnCHi1LiAFkqkKJk7Cq8eNhziIqDFeQP2HAA+kj7MtKj65YKBV+kf+5Wzv9YWRoTW1D+VZHysRgmUyOKLg2ZQUfwmf6YyrES32T1zyF5evCwNey26Er/Q+ZBbRjL3GlNPdTRAcFG9dHIq5e+oA3SUs1sMA40NS0IjG5EVoctlfn6La+4nYdPwYxL1w9+5cGaitlDDrZcnu2ggM1sW2NqdNSwK8ANI3W7RtjoQtzuoK3SOsN9t6p7RVin65CN6aXjYOQKB8/fEyMdC1GZntCVCZKZMj/nxgg+WuIKISkHpdxKz6pICRACKkVj2UsOBI7vNvuCtaBxp1hEkTCNoqn1UahD1L4NEYwNbeU3brKKviV13aD1i28cOFwZ8iAN1jny/vcE0KPLH32TLP9JozjUcTYemX9uSdNhC3d7qqaeyH7Csd0fMcNAZJwV+BLm6KBUBdTO2qKjlafUm00Xm3JSNJyiNDckTSPUdXW7aWgE/3Q3mjbiEPu3W4U1bikkOYN0rZ4Te5ZqFdOtwXrk3j5jNO9XRZ4xM4Ef4gpCIE6M0/TS3NOmhyDj7MMnHx+8/Ubxpr3dyTJZKSFmbgcKgw/+CsgDY6bFaa+jLELX8Q59Hyt/CjiCS7Dm0yBv2Vu3NImT7c5dk1oVf75g4nZkD3XLFbiMNjoAQ5Jqcf7iyxljCDPrW7ns63C6FgkW4S+nD/FInSfCQSccVOu/QJUaWcI9kUJ9p0MoWBVju//tevb2v+K6xB9QjewlX9/5a k7nds7pr jGj77YMDQPoJKREEAvmmA5tJEO2L7ko3TDIe9wtS6DAneRaB1JM7uLdF/70Ypye4jzFxWQlgYoD237SIzUp8E9lKPNNxGhabCl7jLYu3K3OjGE5b45obdMU5Qp+8NOOLNK+CO66iPvPgsRqtup3cK0okvfrs2r4qy0f1QABgBiAs4j/8SP5x09is7TYx8PmLyutYT5B9E0ZEmMaJSo8wBUdUrAf8vU91N7ho+Ew/ZaN+ucYCwnwM18odrGCo8PinOe+trNPCuaWr4XTdGe67fvHVfb24voasT+XX+X90CYft15CW7mRD6g1IA65bG9uxWkp7ONpqLFOa5pUc8z3a3kaTzcEqazI2f+VeExfv1zcyLWBmptxHtHAAJCbjZBZhIHpTX8dtlTdXRtM8U37I0JBPRiNQVeJoicSk0SS9gcj/eL9g= 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: On Thu 05-06-25 13:49:35, Chi Zhiling wrote: > From: Chi Zhiling > > max_scan in page_cache_next_miss always decreases to zero when no hole > is found, causing the return value to be index + 0. > > Fix this by preserving the max_scan value throughout the loop. > > Fixes: 901a269ff3d5 ("filemap: fix page_cache_next_miss() when no hole found") > Signed-off-by: Chi Zhiling Indeed. Thanks for catching this. Don't know how I missed that. Feel free to add: Reviewed-by: Jan Kara Honza > --- > mm/filemap.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/mm/filemap.c b/mm/filemap.c > index b5e784f34d98..148be65be1cd 100644 > --- a/mm/filemap.c > +++ b/mm/filemap.c > @@ -1767,8 +1767,9 @@ pgoff_t page_cache_next_miss(struct address_space *mapping, > pgoff_t index, unsigned long max_scan) > { > XA_STATE(xas, &mapping->i_pages, index); > + unsigned long nr = max_scan; > > - while (max_scan--) { > + while (nr--) { > void *entry = xas_next(&xas); > if (!entry || xa_is_value(entry)) > return xas.xa_index; > -- > 2.43.0 > -- Jan Kara SUSE Labs, CR