Received: by 2002:a05:6358:c692:b0:131:369:b2a3 with SMTP id fe18csp438493rwb; Tue, 25 Jul 2023 19:06:19 -0700 (PDT) X-Google-Smtp-Source: APBJJlH7EhklqCsSmX1TFQquY07G3sgjGuZPV4aQGKcmdyTeDw0J/aOmHMswgiHq+lzR/56/jV0w X-Received: by 2002:a05:6512:6cc:b0:4f9:58ed:7bba with SMTP id u12-20020a05651206cc00b004f958ed7bbamr430327lff.16.1690337179084; Tue, 25 Jul 2023 19:06:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690337179; cv=none; d=google.com; s=arc-20160816; b=mR2dscNPZfurornL3WdjYBYLG6qj3dBW/IytyJprfqv7CCBOzIQO6BO526iWuFcauK +VCqBdeiTX6FGqM+GJTfj3Z9fKCByebtSGYfCkgsYUBNFG9zV/MLIu68gXY9e48OJ589 /vGMNMz1/gaTdr+MwV9vooeMzTbeFz2kFqUiw3EdWQyUnFwtl+HMeuS9iM0pcbxzUkde /LC/weN4sHAXR/FIvaehNkfW8RNfKVuQcX0eBvbRpgeo3dtuedB/BjOOF7X4Be2qJngE zLR6r7UET/W0D0g1Ya9hYOmCVB92/c2/jYoUq99bzsYx0OXwMKlnx3rP2feEKRIQheak oELQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:message-id:in-reply-to :subject:cc:to:from:date:dkim-signature; bh=g4+spZWgq0eS9irqfihzysgfAABYfYXXmt6SNBBeIWA=; fh=CnRtXe2N5fdUhgqVR1jYiSdYP8bbi1l1LprI+UrDE6I=; b=iBfU70mIFtdaoRsuzBM7m0zt4CZX+CJmiYfIIYS4Veogn8dRVOJF1fx1MLKDziHioj TSh3hRItbBhTo9nc0AhmVieOSoqMe8iHLqIpW2fd+fcyfRAQQwHBwpMT4LUWOcfozU47 r4yfUSbvq7eUF2/OPPPwSzSvLFaSU5htFVF02E0fIoJG9+f+dOdM+dcYxLTc22j3hEQ6 rYQKWl7BrqIxDJmJ4JriaD1K1LMmvk1YoTaGcqcFphdFAEcdzJ9wXaxI9NeZS2IZrV2G +ExGsEAlZSQ1bdYpkXFb3OsSsfyhtE5n95rA89LYAqbGhc1Wc111zZVjoBYTXnfLmYjb owDA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20221208 header.b=MZxYT2Md; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id l23-20020a056402029700b005222c5636cesi3954067edv.40.2023.07.25.19.05.54; Tue, 25 Jul 2023 19:06:19 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20221208 header.b=MZxYT2Md; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230123AbjGZBjn (ORCPT + 99 others); Tue, 25 Jul 2023 21:39:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43530 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230138AbjGZBjl (ORCPT ); Tue, 25 Jul 2023 21:39:41 -0400 Received: from mail-yw1-x1132.google.com (mail-yw1-x1132.google.com [IPv6:2607:f8b0:4864:20::1132]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 062F626AE for ; Tue, 25 Jul 2023 18:39:39 -0700 (PDT) Received: by mail-yw1-x1132.google.com with SMTP id 00721157ae682-5700b15c12fso73114917b3.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=jelfkfw2xAnZEZA7khO5auvTPwqwDJmAxG4VbdUhhcWPfBu/hoX0fB35BJOlj12ThC NfbO0Vv1ahL6IRGQ8+TMwIgFOM4FYo496JNdRFIzjxIoqXmZBgu5syZawBXwfgJnuxR3 sF9QyLuvZ8n9M4cZQ4EDupquX+r8b4Vp5XMe9bgfM1zA/HYy8ll89PsnHM6RZtVTOi+v gPfhfgQsDvgT9SUrZ9XdFaICbxdju+Rb2PAuJhXUHuiBlZW+HZ5T0YmNTvButTslXGkj +NRPefRT5s4qnQXVI9LBqvva6c8ioOtScvxtVnF6RcJqSQRGkBs/mo6wqOTp5qXbeixl G8uQ== X-Gm-Message-State: ABy/qLbcvK1ylc6QVsRaNUrAKmw3bHjyinL8ljT/JY2LhSqo3KQpkyh8 X7Ao/6MNw0QTBGTFojHzVBx0kw== 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-Spam-Status: No, score=-17.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, ENV_AND_HDR_SPF_MATCH,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE,USER_IN_DEF_DKIM_WL,USER_IN_DEF_SPF_WL autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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