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=-9.6 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham 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 CEEDCC433E0 for ; Wed, 10 Jun 2020 20:39:22 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 94B49206A4 for ; Wed, 10 Jun 2020 20:39:22 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b="igTBtfUm" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 94B49206A4 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=infradead.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id B8B048D0022; Wed, 10 Jun 2020 16:39:20 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AEA808D000E; Wed, 10 Jun 2020 16:39:20 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8F0028D0022; Wed, 10 Jun 2020 16:39:20 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0197.hostedemail.com [216.40.44.197]) by kanga.kvack.org (Postfix) with ESMTP id 741CD8D000E for ; Wed, 10 Jun 2020 16:39:20 -0400 (EDT) Received: from smtpin23.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 33B511803545F for ; Wed, 10 Jun 2020 20:39:20 +0000 (UTC) X-FDA: 76914467280.23.kick89_4d081cc26dce Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin23.hostedemail.com (Postfix) with ESMTP id 039DB19F77 for ; Wed, 10 Jun 2020 20:39:19 +0000 (UTC) X-HE-Tag: kick89_4d081cc26dce X-Filterd-Recvd-Size: 2537 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) by imf21.hostedemail.com (Postfix) with ESMTP for ; Wed, 10 Jun 2020 20:39:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-Type:Content-ID:Content-Description; bh=NF4IbJ7tnb1BDecklJKAGawEVJngscEaY/hk+Y65vZs=; b=igTBtfUmXt8Mznyh9YOcO59toO 3vqpDxaK4c26kTmcie0ib46b+joeV0vZI044ZEzVKnl9axARAjdnM5utCYzbPKHgKBNio/S2phuVn 2ucEZ+AlaK7ZFrwiwb6G8bnHHA/6Y3Sck4HLUVAX4Piv1COkFXSTQG6BFlnNIIHNQFKdLXlj4G606 jxBeKSdAi86B4Yxpk2/HYIhrKw23tZsWvZvfjsvKZOBJ+SRX1VtQ8+auhYf853jKeZ+weKscFrH5C ZRn3S3st12cQtogLDrb3CGF56kritIFeUu6l5naRJaSbRf1kWwDnehV03zRwIeaFvMdNdEwQpDkUV 9sE8Iz4Q==; Received: from willy by bombadil.infradead.org with local (Exim 4.92.3 #3 (Red Hat Linux)) id 1jj76a-0003WG-Ga; Wed, 10 Jun 2020 20:13:48 +0000 From: Matthew Wilcox To: linux-fsdevel@vger.kernel.org Cc: "Matthew Wilcox (Oracle)" , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [PATCH v6 31/51] iomap: Handle tail pages in iomap_page_mkwrite Date: Wed, 10 Jun 2020 13:13:25 -0700 Message-Id: <20200610201345.13273-32-willy@infradead.org> X-Mailer: git-send-email 2.21.1 In-Reply-To: <20200610201345.13273-1-willy@infradead.org> References: <20200610201345.13273-1-willy@infradead.org> MIME-Version: 1.0 X-Rspamd-Queue-Id: 039DB19F77 X-Spamd-Result: default: False [0.00 / 100.00] X-Rspamd-Server: rspam04 Content-Transfer-Encoding: quoted-printable 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: From: "Matthew Wilcox (Oracle)" iomap_page_mkwrite() can be called with a tail page. If we are, operate on the head page, since we're treating the entire thing as a single unit and the whole page is dirtied at the same time. Signed-off-by: Matthew Wilcox (Oracle) --- fs/iomap/buffered-io.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/iomap/buffered-io.c b/fs/iomap/buffered-io.c index 318c1ecc18c0..8359e369c4b5 100644 --- a/fs/iomap/buffered-io.c +++ b/fs/iomap/buffered-io.c @@ -1046,7 +1046,7 @@ iomap_page_mkwrite_actor(struct inode *inode, loff_= t pos, loff_t length, =20 vm_fault_t iomap_page_mkwrite(struct vm_fault *vmf, const struct iomap_o= ps *ops) { - struct page *page =3D vmf->page; + struct page *page =3D thp_head(vmf->page); struct inode *inode =3D file_inode(vmf->vma->vm_file); unsigned long length; loff_t offset; --=20 2.26.2