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 8477EEB64DD for ; Wed, 26 Jul 2023 01:39:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 805C88D0001; Tue, 25 Jul 2023 21:39:41 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 790C46B0074; Tue, 25 Jul 2023 21:39:41 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5E1018D0001; Tue, 25 Jul 2023 21:39:41 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 480DD6B0071 for ; Tue, 25 Jul 2023 21:39:41 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 17349160F4E for ; Wed, 26 Jul 2023 01:39:41 +0000 (UTC) X-FDA: 81052056162.11.83463C8 Received: from mail-yw1-f179.google.com (mail-yw1-f179.google.com [209.85.128.179]) by imf23.hostedemail.com (Postfix) with ESMTP id 38AD214000B for ; Wed, 26 Jul 2023 01:39:38 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=MZxYT2Md; spf=pass (imf23.hostedemail.com: domain of hughd@google.com designates 209.85.128.179 as permitted sender) smtp.mailfrom=hughd@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1690335579; 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=g4+spZWgq0eS9irqfihzysgfAABYfYXXmt6SNBBeIWA=; b=raOO/r9nX4I0W0KxmPdCbeYQmkOhgxbr67uB6HkCPEX2yPbe/Awb4sg/MiTNZ96jucxIWp 4YajdHby7HVFzxERf8Ai/4GmeaiJ8+w2TjKnB73djkS+plJeLsZwnK6nV93gyCYhC1yOiE eWw4c70Bzj3jJ7dtA5nvCr3tocTYhww= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1690335579; a=rsa-sha256; cv=none; b=wjDuW0TjOr8WwT6FXw0aJtrmP9Ce8w+g/gSteoAlAQAlxjJIs8GNmD4NGJmIF+7K89dLqR bnaHkdoUrs2IqP0P4lYlfPSbBlVMmBK4vvOs9PlUuvR7rR023Ep9d2cUGcCH+2sEpxu9ZX wYdGrKuBHSPumo00ffCw3UFodkci7wc= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=MZxYT2Md; spf=pass (imf23.hostedemail.com: domain of hughd@google.com designates 209.85.128.179 as permitted sender) smtp.mailfrom=hughd@google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-yw1-f179.google.com with SMTP id 00721157ae682-5700b15c12fso73114927b3.1 for ; Tue, 25 Jul 2023 18:39:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1690335578; x=1690940378; h=mime-version:references:message-id:in-reply-to:subject:cc:to:from :date:from:to:cc:subject:date:message-id:reply-to; bh=g4+spZWgq0eS9irqfihzysgfAABYfYXXmt6SNBBeIWA=; b=MZxYT2MdZ0Omg+tGFjNofeHkNy3Qahh2PBaeRGC1CPgAvaobe+CbfQzviGlH2bRGld yZXqVlc4rdM7Hn/0uDpIIp7PtuXFyXV1rOEzEcPsa6KfHQ8WsO8NrD1ggf9GGi+atd7F nKDBxVEOzhZviRxzmHMsde7z3UqWCZoSc0lNm1akA/R8EHPW9npAKef3Z/pjfCjWQWBN xmycegOze/hxSYYenv2HpylIbUfqF9JiHr0gy59wVHZoy8dXEq78uEH7BvhlWGHxnNVM Pm/pG6h4Z3mK+EEHLb2xoyIraXRTQQ+dd3MgzFr8XAVX1x101W0eH3RmqvYAcZ2a0tMf tMBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690335578; x=1690940378; h=mime-version:references:message-id:in-reply-to:subject:cc:to:from :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=g4+spZWgq0eS9irqfihzysgfAABYfYXXmt6SNBBeIWA=; b=ZvI/xtPMHbi/rbe1rD9e+UJWEYdRc3Pn82WQe3zubCbN7rGl3V6LwYGOmy09KkJhNa 2RTmy63vs65als/WxAv+cbekF88dykjVA2RzXBCmFHIdQGPOUpHDXeqyWKfchScqcI/J CyWHb3TGuncHgWUvfYRY0Ge4nfTrOAVNpFrzj7PHhbx7fp5PdeBluVU9KsYR7+0jcx3N HNjZPtr76L0vh9eidG0vbOEJpXYRGApQJ9Own3k5MF6QNAZJFQS83Kh5fKRHSjNS+saH FLB6m2AoZUUZm7Mm0T+GBdEFaZvOFBybKzXyXmuMMzSIQ/UId7BrkRH0a+zjEJ+WrIDA YbOA== X-Gm-Message-State: ABy/qLbmbRwSmScafemLWwulPomB07q+IkoE8hDRsQPrTz8LxbucXyRm siCCMkLffohJQAxyqWxN/eZL2Q== X-Google-Smtp-Source: APBJJlHxqCs0/k9opPHZr1oFjC/IjLn2NWFjtEyuaFY5bDdVyDOg3sTAz2vkUnxY9z5liUX1UEynKA== X-Received: by 2002:a81:46c3:0:b0:56d:2189:d87a with SMTP id t186-20020a8146c3000000b0056d2189d87amr821699ywa.15.1690335578030; Tue, 25 Jul 2023 18:39:38 -0700 (PDT) Received: from ripple.attlocal.net (172-10-233-147.lightspeed.sntcca.sbcglobal.net. [172.10.233.147]) by smtp.gmail.com with ESMTPSA id s10-20020a5b044a000000b00c654cc439fesm3165326ybp.52.2023.07.25.18.39.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Jul 2023 18:39:37 -0700 (PDT) Date: Tue, 25 Jul 2023 18:39:25 -0700 (PDT) From: Hugh Dickins X-X-Sender: hugh@ripple.attlocal.net To: Jeff Layton cc: Eric Van Hensbergen , Latchesar Ionkov , Dominique Martinet , Christian Schoenebeck , David Howells , Marc Dionne , Chris Mason , Josef Bacik , David Sterba , Xiubo Li , Ilya Dryomov , Jan Harkes , coda@cs.cmu.edu, Tyler Hicks , Gao Xiang , Chao Yu , Yue Hu , Jeffle Xu , Namjae Jeon , Sungjong Seo , Jan Kara , Theodore Ts'o , Andreas Dilger , Jaegeuk Kim , OGAWA Hirofumi , Miklos Szeredi , Bob Peterson , Andreas Gruenbacher , Greg Kroah-Hartman , Tejun Heo , Alexander Viro , Christian Brauner , Trond Myklebust , Anna Schumaker , Konstantin Komarov , Mark Fasheh , Joel Becker , Joseph Qi , Mike Marshall , Martin Brandenburg , Luis Chamberlain , Kees Cook , Iurii Zaikin , Steve French , Paulo Alcantara , Ronnie Sahlberg , Shyam Prasad N , Tom Talpey , Sergey Senozhatsky , Richard Weinberger , Hans de Goede , Hugh Dickins , Andrew Morton , "Darrick J. Wong" , Dave Chinner , Anthony Iliopoulos , v9fs@lists.linux.dev, linux-kernel@vger.kernel.org, linux-afs@lists.infradead.org, linux-btrfs@vger.kernel.org, ceph-devel@vger.kernel.org, codalist@coda.cs.cmu.edu, ecryptfs@vger.kernel.org, linux-erofs@lists.ozlabs.org, linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, cluster-devel@redhat.com, linux-nfs@vger.kernel.org, ntfs3@lists.linux.dev, ocfs2-devel@lists.linux.dev, devel@lists.orangefs.org, linux-cifs@vger.kernel.org, samba-technical@lists.samba.org, linux-mtd@lists.infradead.org, linux-mm@kvack.org, linux-xfs@vger.kernel.org Subject: Re: [PATCH v6 3/7] tmpfs: bump the mtime/ctime/iversion when page becomes writeable In-Reply-To: <20230725-mgctime-v6-3-a794c2b7abca@kernel.org> Message-ID: <42c5bbe-a7a4-3546-e898-3f33bd71b062@google.com> References: <20230725-mgctime-v6-0-a794c2b7abca@kernel.org> <20230725-mgctime-v6-3-a794c2b7abca@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-Rspamd-Queue-Id: 38AD214000B X-Rspam-User: X-Stat-Signature: 9q145ta3n7mzikqy88bjk8qigf1ias5x X-Rspamd-Server: rspam03 X-HE-Tag: 1690335578-300294 X-HE-Meta: U2FsdGVkX19R7wXrTAHeTEjGgpXXI1twBf8q+rctHHUlJW3ncNij7YwO9lPcU7ET/w9SGAkvint3+j47siUPs8IVbNzSZ9+sTY2sIc12qT0nueUnauPQ8onQfZnR7Jliwl1IXTefuDYxqvEkEBu+3+4uzPKgOrdsfYIH4Bx9nNSOGwjwiEo7koxn6U+Xfk+RpQPIFpN/tFYYZeChBt0XKwbm4TKh/NX4FT+fuRHhiaTYez2U+ZAmo5MVaAMPnk3QD5yTSWE4L8Wouj0fZjEi//UmyCWq4oOY7ICHTTtV1cAW2cTYWLsDfgyJpYx0og2DiLuqtp4j674D7zfVrV9J4ekBI4CNudAFBUyrgf+GyDKghjySHjymxwLqXPxfsDLgkHxf8ItSYGw2amNf4RdqETx4r/vL3n/i1KL+qnGjwOFz6iFNq62id4rmXiR+WS6PpofoNgoipMAhA+0DWU0UqUgoyZdFyaBMsc6PkuhNQOcTvRzqiGMDYyLjYzOKUXy6OCUY1Zhqhp1xD6J+RotjAtijtBy5KjqxNaK8pIwAkQKVfHWRWDNXHfX9ouT+CMdbj0sQrvz5Xnnma6QhhT323tItNFyxBTZqXOM/3yBxBvZH9rAHcHbwx7TqFcYC+PW+dPj+C+hQrswPOoC44gMh9QDBxxHyVbKx2euR0kFBETnALTKpxRZWZJzHHccgMyJcx/MsTRydFHk4OV3FMc94HSu79+wlAX1xPk661/YHfwXZiG+jIc69yxOs7s0zSbc2t0RDGFPstAhE9Xs4tbSBQSZcx1zoO8MOSywSJoAkU/Ez6Oht8U2cGl4UlI5ma6I8moN1Xbf5r49+bJ4EsRrWFgJg3+tROPHXcq5ff4Inf/scftZBHj+zkj+NBzE49fHjL0JfR3Fy3ZG/sOZ/MKICgAfg6vbdqo9+ZD3FkQGww90CKMZRolHDitR1cBYiIo01Gtq1fiNU38UoeutX17R zWwTDzm2 KBbp0/dQeQK6i7AOhg4Yutf3Y4ZVUb8UowdworRwHrnKfnTc6WLfGVLv0zLIZluZXYbz/dZQu3UZWPuc7fRUQniO5pNzkqGyLnHjG62NbHCrmLFlD3/ta0jaNVou/5e4W55HPkFl8CF3w9sUvxEhNBJjFm5wGfYhMWBms/oFD+MnQ9W6Brx5wlytG7ciLUb9I7fg9lY2mHxRyz9XfjPCrtmVDsCXAo0pie+u3K/konWKSN8/gCH2rX/deEDaZ2Kba6Xxsvv7rE9gSLpnCT2r3JsjcGyDfCr29s/i3eKflefYZn3djqYoWSbm8Bmnbxf7spKeVZ8pGRoR+0TUUWwZJ1dH0NWaIOPfvpbadiDAQx/A6vpsCIKsqaZimnEI1V1/3+aXTaj8vCSZlpMeUNvEshgRyTqR4PKDqyMNrfLiQ8DtShxo= 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 Tue, 25 Jul 2023, Jeff Layton wrote: > Most filesystems that use the pagecache will update the mtime, ctime, > and change attribute when a page becomes writeable. Add a page_mkwrite > operation for tmpfs and just use it to bump the mtime, ctime and change > attribute. > > This fixes xfstest generic/080 on tmpfs. Huh. I didn't notice when this one crept into the multigrain series. I'm inclined to NAK this patch: at the very least, it does not belong in the series, but should be discussed separately. Yes, tmpfs does not and never has used page_mkwrite, and gains some performance advantage from that. Nobody has ever asked for this change before, or not that I recall. Please drop it from the series: and if you feel strongly, or know strong reasons why tmpfs suddenly needs to use page_mkwrite now, please argue them separately. To pass generic/080 is not enough. Thanks, Hugh > > Signed-off-by: Jeff Layton > --- > mm/shmem.c | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/mm/shmem.c b/mm/shmem.c > index b154af49d2df..654d9a585820 100644 > --- a/mm/shmem.c > +++ b/mm/shmem.c > @@ -2169,6 +2169,16 @@ static vm_fault_t shmem_fault(struct vm_fault *vmf) > return ret; > } > > +static vm_fault_t shmem_page_mkwrite(struct vm_fault *vmf) > +{ > + struct vm_area_struct *vma = vmf->vma; > + struct inode *inode = file_inode(vma->vm_file); > + > + file_update_time(vma->vm_file); > + inode_inc_iversion(inode); > + return 0; > +} > + > unsigned long shmem_get_unmapped_area(struct file *file, > unsigned long uaddr, unsigned long len, > unsigned long pgoff, unsigned long flags) > @@ -4210,6 +4220,7 @@ static const struct super_operations shmem_ops = { > > static const struct vm_operations_struct shmem_vm_ops = { > .fault = shmem_fault, > + .page_mkwrite = shmem_page_mkwrite, > .map_pages = filemap_map_pages, > #ifdef CONFIG_NUMA > .set_policy = shmem_set_policy, > @@ -4219,6 +4230,7 @@ static const struct vm_operations_struct shmem_vm_ops = { > > static const struct vm_operations_struct shmem_anon_vm_ops = { > .fault = shmem_fault, > + .page_mkwrite = shmem_page_mkwrite, > .map_pages = filemap_map_pages, > #ifdef CONFIG_NUMA > .set_policy = shmem_set_policy, > > -- > 2.41.0