Received: by 2002:a05:6a10:a0d1:0:0:0:0 with SMTP id j17csp2526628pxa; Mon, 24 Aug 2020 17:24:25 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxiQNEqUtGZChw2TxzfTyQeZSUYQcatk2rYZ0d/SjWaxAHqukonkbYfZEzYvP08DBkXj302 X-Received: by 2002:a05:6402:22ab:: with SMTP id cx11mr8108262edb.102.1598315065405; Mon, 24 Aug 2020 17:24:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1598315065; cv=none; d=google.com; s=arc-20160816; b=WCcJC4Wen6QsgohH4L3rzVMkLEaQsNgZGMJsW59D5qA0Tc6WPcczBIVgxKw6H6R2oO +L+bKWMzrcGvxQvlCyYILb8u3vqxyWxQS5VRH2hj8Da+OeBdutrQEmmc80hFPLCoX6Zw 1e6uTMQNvGINDQfDrFudXWlmf9+HVJQcuCocCS1O+BA7RQd3b/hmtoXndkggkVZ/nSmV ChFWCjSXX/S+IRDkWx2Ef5ZiNQhm1+joKQRhsSMEUDU9F6l76w8qjWj+uhkgzwjJ0KwN 9bufWEGVLYP0fVQuJ/mor8kJdwoazQ6kPkq3Sqs+J1nrCu3QtYDMaCDpt508okg5GFWJ NWbQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :dkim-signature; bh=ocdvple/oAl8JiYXsLS1fSxRCYZy5ArHDZ1pVwX0Pes=; b=b9EJNGrLuVDUwt5vTdPaRWxe1IRfGQ9IHvjAnSyapwwdoid1neQH5SmcKGMlY7E1jX uGNXJP18yF/mGe6LpykzZ6lOKeJQA3ggp2kY/owvdVsUYBTn7VWW7okvtAsHTwS/XbqG VxmQNhbt0H/yjB9Pgf9suYePOGxQsy6BotCqatoZ88lInFBVSYvhR3eMgvMH1Mq5blZI XXCd/JwgtRHGVL8Isu30uXSfycESoz3loVlz2dJpyJRNH6VRauQwJUIaNsIhQvdInK6W i/mqXUgPJdLVaKyV1cPK42Mh6DU47JcpsS3QT7LWTzaRBUb/bku1r6nmjaTTeJ3Mmd/l Yrmw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@infradead.org header.s=casper.20170209 header.b=LyTZV8+t; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id u2si2258166edt.17.2020.08.24.17.24.02; Mon, 24 Aug 2020 17:24:25 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=fail header.i=@infradead.org header.s=casper.20170209 header.b=LyTZV8+t; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727913AbgHYAW0 (ORCPT + 99 others); Mon, 24 Aug 2020 20:22:26 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41662 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726041AbgHYAWZ (ORCPT ); Mon, 24 Aug 2020 20:22:25 -0400 Received: from casper.infradead.org (casper.infradead.org [IPv6:2001:8b0:10b:1236::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5C0BFC061574; Mon, 24 Aug 2020 17:22:25 -0700 (PDT) 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=ocdvple/oAl8JiYXsLS1fSxRCYZy5ArHDZ1pVwX0Pes=; b=LyTZV8+tXrOESAyilTthffk4xE LofZU3dPW7vG+qsKdlHZFJTMq+FV7VgX33/L7fGz5bPdCMwrUSgzkvvfSpEH/oyBqOdpF7V+vSUha fu34jWEPjBeRQ36+kTPx38qQGGiVPEOCq2VLeSfGr3JLjSEcN46SOZCcx95+Bi0jbLPKThm6cgOlY N+6OvCpPXtOYDyFqnhPQIqlcPo772tdExSn2PHfWkUDnqzH5nhUw9a+BUdUdGDrvlX6an66aKVpeA tkySVcAbuXWtbl1nd3pPU4TRiyoJ6u1LlaYLK3U3pXA7lW7qkr7/8zFsOYVPg8pVNYnUWyAXAa2Jn f+yg40Pg==; Received: from willy by casper.infradead.org with local (Exim 4.92.3 #3 (Red Hat Linux)) id 1kAMjB-0005WV-ID; Tue, 25 Aug 2020 00:22:18 +0000 Date: Tue, 25 Aug 2020 01:22:17 +0100 From: Matthew Wilcox To: Dave Chinner Cc: linux-xfs@vger.kernel.org, linux-fsdevel@vger.kernel.org, "Darrick J . Wong" , linux-nvdimm@lists.01.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 5/9] iomap: Support arbitrarily many blocks per page Message-ID: <20200825002217.GI17456@casper.infradead.org> References: <20200824145511.10500-1-willy@infradead.org> <20200824145511.10500-6-willy@infradead.org> <20200824235918.GF12131@dread.disaster.area> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200824235918.GF12131@dread.disaster.area> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Aug 25, 2020 at 09:59:18AM +1000, Dave Chinner wrote: > On Mon, Aug 24, 2020 at 03:55:06PM +0100, Matthew Wilcox (Oracle) wrote: > > static inline struct iomap_page *to_iomap_page(struct page *page) > > { > > + VM_BUG_ON_PGFLAGS(PageTail(page), page); > > if (page_has_private(page)) > > return (struct iomap_page *)page_private(page); > > return NULL; > > Just to confirm: this vm bug check is to needed becuse we only > attach the iomap_page to the head page of a compound page? > > Assuming that I've understood the above correctly: That's correct. If we get a tail page in this path, something's gone wrong somewhere upstream of us, and the stack trace should tell us where. It's PGFLAGS so it's usually compiled out by distro kernels (you need to enable CONFIG_DEBUG_VM_PGFLAGS for it to be active). It was definitely useful in development; probably not so useful for a distro kernel to assert.