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 E9AA6C7EE32 for ; Fri, 3 Mar 2023 04:51:23 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 224906B0072; Thu, 2 Mar 2023 23:51:23 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 1D3EE6B0073; Thu, 2 Mar 2023 23:51:23 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 09C486B0074; Thu, 2 Mar 2023 23:51:23 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id EBFBB6B0072 for ; Thu, 2 Mar 2023 23:51:22 -0500 (EST) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 83F20160DC5 for ; Fri, 3 Mar 2023 04:51:22 +0000 (UTC) X-FDA: 80526363204.21.6373B46 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf28.hostedemail.com (Postfix) with ESMTP id 46ABEC0003 for ; Fri, 3 Mar 2023 04:51:20 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=dSCigbXH; dmarc=none; spf=none (imf28.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1677819080; 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=Ptw2ZnLTY0tDIM3vATa4+dkiTkNFGKYnNtBzD29zdII=; b=AZckzMiTCFQkw3CI6TP1ufPBtz4iixOOCpTQI7opdlQnikBbgknAhJvXnnwpzgZPxuW8C9 iqvekin61ZHejkXRqcrwCprBSDjSsqtf1ib8N4Kb73yAOas7i1zTJ3tczJk13EtYsZFdFH VK5lFcPleOb3jeWR/Rp9HrVmZ5yikso= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=dSCigbXH; dmarc=none; spf=none (imf28.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1677819080; a=rsa-sha256; cv=none; b=TGwMmzEWQIM3Aj4nkLbNK6MrtjeMNvO48fPmLWekTtrQIoOcqoHSLrNtir9Pt6C5X1cs+z gt0Ki/ZYPIKKc1sGs+5qvww0uIadDJw6CNARVXb91qO1sYn4BKTdRTwiqIc63kH0SBeZaO rNp1ZGEggnDX+AZILjU7bwxSDkBeS0Y= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=Ptw2ZnLTY0tDIM3vATa4+dkiTkNFGKYnNtBzD29zdII=; b=dSCigbXH/7YIFjdjERUzIKAh07 7LYO4Kp1YVDjqGehapqANvhPmksi8Qc7UIf1Xi4mhp19ewaKPy8E5ce0CgYf/c9tSl+nfCgfe9g01 NQy9HGa4fdICvM2n1eG6uE8NM3kIsEEGQXoLRpGnA2SagYdLvIAqT3TRn05t39huO9Ohvak2CKFX2 pLiRrhEhv9CFhW7IQzqI2xpQPNhpFRnkcn24GcDM1HeRDXpUclXI5YLAqdy4+7LpCslbVt5rT0rBI LQLXe1Lypkr6K8CtksXYpx/OnxdKyjHX/Q8dHMzVbmLimDdnm+wD7kWOq4kuvwYsjvkNZmxWa2T4o 0TzuGJYA==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1pXxNu-002tMn-EB; Fri, 03 Mar 2023 04:51:10 +0000 Date: Fri, 3 Mar 2023 04:51:10 +0000 From: Matthew Wilcox To: Stefan Roesch Cc: io-uring@vger.kernel.org, kernel-team@fb.com, linux-mm@kvack.org, linux-xfs@vger.kernel.org, linux-fsdevel@vger.kernel.org, david@fromorbit.com, jack@suse.cz, hch@infradead.org, axboe@kernel.dk, Christoph Hellwig , "Darrick J. Wong" Subject: Re: [RESEND PATCH v9 04/14] iomap: Add flags parameter to iomap_page_create() Message-ID: References: <20220623175157.1715274-1-shr@fb.com> <20220623175157.1715274-5-shr@fb.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20220623175157.1715274-5-shr@fb.com> X-Rspamd-Queue-Id: 46ABEC0003 X-Rspamd-Server: rspam09 X-Rspam-User: X-Stat-Signature: qy4umzp33t5paq7ank4ip3gypz8msnxh X-HE-Tag: 1677819080-861910 X-HE-Meta: U2FsdGVkX188ni6sD+FQOAd2rPZFgu/MPUPGNNls+7SgBb5zi0A1Tppt0lkPTgyaZJZwBkFQjYPOR0zZLy6mteQ3dsckdTE0izbDOdaRw4I1mxIimvaVXalLwv5A0JMz57dWHSNPEr3GaSev8dfx/O3PsjSgdtFzT8f8zPlx1Wu5N+Q6SxSGhsNVMR9d0CJwba4RDt3u6nXfqAtQ7cpEuMzes2qBSn0OQWxN0Lvzu8wNNLCpq4otgCyqoJN5D1jjUKBMQpBZTFS/cItSzgc78dbxWrw7JefsMwOt+z/vt32cq9ujnK0G/PmYIf1sVXE2hcLhhBLIXjVMm/scrV6ooEQkCtd8GNIRQ0R2jNQjCWHakrqMotLbKQFHU0FBEIioAi6TfrCn+oGuEtKnKqKQDd6cas73qBeot9RRd7kKG3fMwey968Y8+75wyb54Lh+hi/ZdrB4FUHMBaa4r8CX0SFf7sG5OG6ExFw+KDIgI3rncI4D1QdPw5hAmup0ZThEsL0pXVL6WQhd5Oxm1jT2Qe2XCuHlB4n04zQgO2KORcPmM6W7rEchPqbsXdNyEoftTXjeU8QAyqctSimVBsVS4Qvf1lHcoXVD+UM5QS+GEaANFgMtlbF7+QTdb25E5IHRm3PARBcglZn5+y1xAlntUpW9/BIJlxaCgVNIGIhdY2KdzNj15MMxVzMyAgLkOwLrl2S2CmgfpTkbv9nb9XdcalK40L3CF/cStlAFtZCMDQ6yzDOcn69I9EEoPJ2Susd2BqVPUA0h7o4cExrBE6EacJb8KO/HCE7iBKCIeLQ9eeCNMKecWFLLdx0MwDC2ksAcuxhTu5/X9MvXXHAT7uW5DI452GtCAMMWAAlPfM89pDCJkmxJDk2DwDRh6OWuy3oBDxBHmYcTe762I4fk9tKmrUvYZrRBBDZUg9MqOtd27hQTTujdJhgC9MGe3AH5YadMP6qo6tXYmtag6laEnihv F1ceqn64 usycNiIYiJLxQpBYfhp38w1j0C2zLfPKSsFNzT8ZT7rw76/c8U15krDMJ+DLuPXBtWUYPuvJkJq7Y1lqp/JYy9Xj49vhbHegSP3sR4HxHcjp6RxG3ms7awkXLjWfvVIlUzBnidCsSx0eEmLHLuChAKVWsCW/70e0BcDlaZE/FKiCgKvwUUyTWtszIKAAEZI2mJdZ86U3LWEE+rW8mqFKidVBIMdW98Q/ywobT3emhjTYaZ1MK3p1zhEEClg== 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: On Thu, Jun 23, 2022 at 10:51:47AM -0700, Stefan Roesch wrote: > Add the kiocb flags parameter to the function iomap_page_create(). > Depending on the value of the flags parameter it enables different gfp > flags. > > No intended functional changes in this patch. [...] > @@ -226,7 +234,7 @@ static int iomap_read_inline_data(const struct iomap_iter *iter, > if (WARN_ON_ONCE(size > iomap->length)) > return -EIO; > if (offset > 0) > - iop = iomap_page_create(iter->inode, folio); > + iop = iomap_page_create(iter->inode, folio, iter->flags); > else > iop = to_iomap_page(folio); I really don't like what this change has done to this file. I'm modifying this function, and I start thinking "Well, hang on, if flags has IOMAP_NOWAIT set, then GFP_NOWAIT can fail, and iop will be NULL, so we'll end up marking the entire folio uptodate when really we should only be marking some blocks uptodate, so we should really be failing the entire read if the allocation failed, but maybe it's OK because IOMAP_NOWAIT is never set in this path". I don't know how we fix this. Maybe return ERR_PTR(-ENOMEM) or -EAGAIN if the memory allocation fails (leaving the NULL return for "we don't need an iop"). Thoughts?