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 X-Spam-Level: X-Spam-Status: No, score=-3.5 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C0B15C4338F for ; Fri, 13 Aug 2021 07:02:55 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 6FC3360FC4 for ; Fri, 13 Aug 2021 07:02:55 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 6FC3360FC4 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=infradead.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=kvack.org Received: by kanga.kvack.org (Postfix) id 1A87F6B0071; Fri, 13 Aug 2021 03:02:55 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1593A6B0072; Fri, 13 Aug 2021 03:02:55 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 046C56B0073; Fri, 13 Aug 2021 03:02:54 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0075.hostedemail.com [216.40.44.75]) by kanga.kvack.org (Postfix) with ESMTP id E03336B0071 for ; Fri, 13 Aug 2021 03:02:54 -0400 (EDT) Received: from smtpin34.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id 92A4D8249980 for ; Fri, 13 Aug 2021 07:02:54 +0000 (UTC) X-FDA: 78469165068.34.E1E034A Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf06.hostedemail.com (Postfix) with ESMTP id ED4588028FD8 for ; Fri, 13 Aug 2021 07:02:53 +0000 (UTC) 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=onKtoiz9ihWGwge0kQ+Ja7KXdN4ndzIdwSWxHzXriMk=; b=WlJYfTlr2mBSve0pr1f8L9Px2X h9ovcQELktRmcgcGPXPW6HdsvdabSAcqCDWWLLHYjSiezpT3caLaHOx+8Zh9xdjtWS8JD5RrCY3TD V55SQEtcAk2svYDD85ptBtrucbdiRvUiZSeWPChx5aVBvpwBtXiLvuPS1BFvkUUtmlCb2vI1IfOeQ 4HLvrseYu1O9U4tivU3D34JRp/vie80XXJlnXxxDuatuyn/+tQqBY0tJJNsidgH70oAOpiyV4RE+A 1zT2ZEnyhYfXtg1qCHYDnFc5yKTT85C70GVuP9/+IFNw4YoR0J6vYpuBTNLgNj/iI9ulbcofv4Kmj AOSycLbQ==; Received: from hch by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1mER4k-00FQ2P-O5; Fri, 13 Aug 2021 06:54:29 +0000 Date: Fri, 13 Aug 2021 07:53:54 +0100 From: Christoph Hellwig To: Matthew Wilcox Cc: David Howells , Jeff Layton , Marc Dionne , Ilya Dryomov , linux-afs@lists.infradead.org, ceph-devel@vger.kernel.org, linux-cachefs@redhat.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-fsdevel@vger.kernel.org Subject: Re: [RFC][PATCH] netfs, afs, ceph: Use folios Message-ID: References: <2408234.1628687271@warthog.procyon.org.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-SRS-Rewrite: SMTP reverse-path rewritten from by casper.infradead.org. See http://www.infradead.org/rpr.html Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=WlJYfTlr; dmarc=none; spf=none (imf06.hostedemail.com: domain of BATV@casper.srs.infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=BATV@casper.srs.infradead.org X-Stat-Signature: 1ukrokb4keb4krosdnt6egcny8b8ztyr X-Rspamd-Queue-Id: ED4588028FD8 X-Rspamd-Server: rspam05 X-HE-Tag: 1628838173-51880 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, Aug 12, 2021 at 05:07:10PM +0100, Matthew Wilcox wrote: > On Wed, Aug 11, 2021 at 02:07:51PM +0100, David Howells wrote: > > (*) Can page_endio() be split into two separate functions, one for read > > and one for write? If seems a waste of time to conditionally switch > > between two different branches. > > At this point I'm thinking ... > > static inline void folio_end_read(struct folio *folio, int err) > { > if (!err) > folio_set_uptodate(folio); > folio_unlock(folio); > } > > Clearly the page isn't uptodate at this point, or ->readpage wouldn't've > been called. So there's no need to clear it. And PageError is > completely useless. Just opencoding the above makes a lot more sense. No need to turn err into some acceptable form, and trivial to follow. Not all little convenience helpers are good. > > } > > > > - *_page = page; > > + *_page = &folio->page; > > Can't do anything about this one; the write_begin API needs to be fixed. It actually needs to go away. There's not real good use for that level of API. netfs should just open code the releavant parts of generic_perform_write, similar to iomap.