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 6CFCCC433EF for ; Thu, 19 May 2022 08:18:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0E9356B0072; Thu, 19 May 2022 04:18:48 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0990F6B0073; Thu, 19 May 2022 04:18:48 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id ECAC76B0074; Thu, 19 May 2022 04:18:47 -0400 (EDT) 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 DDCD86B0072 for ; Thu, 19 May 2022 04:18:47 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id BB76F32287 for ; Thu, 19 May 2022 08:18:47 +0000 (UTC) X-FDA: 79481791494.01.9A90577 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) by imf05.hostedemail.com (Postfix) with ESMTP id 3E0BE100005 for ; Thu, 19 May 2022 08:18:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; 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=ZB+WcPRihjvJB66nTSpRcM0fwO19ta8ZY92q52kEtEo=; b=TRU1vsxraCiNP2wKIH1sxGogi7 KRi7lmoAFEwfbbRdZWKVfG0M7UkSz0m3Rr4uJalbzroPHb6wI1YcEi18mvjxANJYTPto1ZU2OWmJT ceXTwUImwwjbyUkOzP45fdh5bN/mWwz5OYG+wj8MYGHJ7PNolhavbxElk1GqOJD1jnZkv7yHsr6FF 4/4DoBdJ0pP3k1lDmKaaAvU948qzj2mniOqW7g7wJL8H5d92OWh/w67XWNOp0B1huc/9oLFj7D5XA YPpCiLt5Kxp2APgpD6wHnU69nglLtc99MZsXa6j/iX+8E+cyOXx5QiHcOC+jvWv64XD32Tv0V9ajP IAmIHLIw==; Received: from hch by bombadil.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1nrbMo-005kr7-Bj; Thu, 19 May 2022 08:18:42 +0000 Date: Thu, 19 May 2022 01:18:42 -0700 From: Christoph Hellwig 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 Subject: Re: [RFC PATCH v3 02/18] iomap: Add iomap_page_create_gfp to allocate iomap_pages Message-ID: References: <20220518233709.1937634-1-shr@fb.com> <20220518233709.1937634-3-shr@fb.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20220518233709.1937634-3-shr@fb.com> X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=infradead.org header.s=bombadil.20210309 header.b=TRU1vsxr; dmarc=none; spf=none (imf05.hostedemail.com: domain of BATV+015a865715d1323b7cbd+6843+infradead.org+hch@bombadil.srs.infradead.org has no SPF policy when checking 198.137.202.133) smtp.mailfrom=BATV+015a865715d1323b7cbd+6843+infradead.org+hch@bombadil.srs.infradead.org X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 3E0BE100005 X-Rspam-User: X-Stat-Signature: 3nkfibz5jnymynb3hx33b7q83dc5qosh X-HE-Tag: 1652948301-401256 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: * This function returns a newly allocated iomap for the folio with the settings > + * specified in the gfp parameter. > + * > + **/ > static struct iomap_page * > -iomap_page_create(struct inode *inode, struct folio *folio) > +iomap_page_create_gfp(struct inode *inode, struct folio *folio, > + unsigned int nr_blocks, gfp_t gfp) > { > - struct iomap_page *iop = to_iomap_page(folio); > - unsigned int nr_blocks = i_blocks_per_folio(inode, folio); > + struct iomap_page *iop; > > - if (iop || nr_blocks <= 1) > + iop = kzalloc(struct_size(iop, uptodate, BITS_TO_LONGS(nr_blocks)), gfp); > + if (!iop) > return iop; > > - iop = kzalloc(struct_size(iop, uptodate, BITS_TO_LONGS(nr_blocks)), > - GFP_NOFS | __GFP_NOFAIL); > spin_lock_init(&iop->uptodate_lock); > if (folio_test_uptodate(folio)) > bitmap_fill(iop->uptodate, nr_blocks); > @@ -61,6 +71,18 @@ iomap_page_create(struct inode *inode, struct folio *folio) > return iop; > } > > +static struct iomap_page * > +iomap_page_create(struct inode *inode, struct folio *folio) > +{ > + struct iomap_page *iop = to_iomap_page(folio); > + unsigned int nr_blocks = i_blocks_per_folio(inode, folio); > + > + if (iop || nr_blocks <= 1) > + return iop; > + > + return iomap_page_create_gfp(inode, folio, nr_blocks, GFP_NOFS | __GFP_NOFAIL); Overly long line here. Mor importantly why do you need a helper that does not do the number of blocks check? Why can't we just pass a gfp_t to iomap_page_create?