From: Hugh Dickins <hughd@google.com>
To: Jeff Layton <jlayton@kernel.org>
Cc: Eric Van Hensbergen <ericvh@kernel.org>,
Latchesar Ionkov <lucho@ionkov.net>,
Dominique Martinet <asmadeus@codewreck.org>,
Christian Schoenebeck <linux_oss@crudebyte.com>,
David Howells <dhowells@redhat.com>,
Marc Dionne <marc.dionne@auristor.com>, Chris Mason <clm@fb.com>,
Josef Bacik <josef@toxicpanda.com>,
David Sterba <dsterba@suse.com>, Xiubo Li <xiubli@redhat.com>,
Ilya Dryomov <idryomov@gmail.com>,
Jan Harkes <jaharkes@cs.cmu.edu>,
coda@cs.cmu.edu, Tyler Hicks <code@tyhicks.com>,
Gao Xiang <xiang@kernel.org>, Chao Yu <chao@kernel.org>,
Yue Hu <huyue2@coolpad.com>,
Jeffle Xu <jefflexu@linux.alibaba.com>,
Namjae Jeon <linkinjeon@kernel.org>,
Sungjong Seo <sj1557.seo@samsung.com>, Jan Kara <jack@suse.com>,
Theodore Ts'o <tytso@mit.edu>,
Andreas Dilger <adilger.kernel@dilger.ca>,
Jaegeuk Kim <jaegeuk@kernel.org>,
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>,
Miklos Szeredi <miklos@szeredi.hu>,
Bob Peterson <rpeterso@redhat.com>,
Andreas Gruenbacher <agruenba@redhat.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Tejun Heo <tj@kernel.org>,
Alexander Viro <viro@zeniv.linux.org.uk>,
Christian Brauner <brauner@kernel.org>,
Trond Myklebust <trond.myklebust@hammerspace.com>,
Anna Schumaker <anna@kernel.org>,
Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
Mark Fasheh <mark@fasheh.com>, Joel Becker <jlbec@evilplan.org>,
Joseph Qi <joseph.qi@linux.alibaba.com>,
Mike Marshall <hubcap@omnibond.com>,
Martin Brandenburg <martin@omnibond.com>,
Luis Chamberlain <mcgrof@kernel.org>,
Kees Cook <keescook@chromium.org>,
Iurii Zaikin <yzaikin@google.com>,
Steve French <sfrench@samba.org>,
Paulo Alcantara <pc@manguebit.com>,
Ronnie Sahlberg <lsahlber@redhat.com>,
Shyam Prasad N <sprasad@microsoft.com>,
Tom Talpey <tom@talpey.com>,
Sergey Senozhatsky <senozhatsky@chromium.org>,
Richard Weinberger <richard@nod.at>,
Hans de Goede <hdegoede@redhat.com>,
Hugh Dickins <hughd@google.com>,
Andrew Morton <akpm@linux-foundation.org>,
"Darrick J. Wong" <djwong@kernel.org>,
Dave Chinner <david@fromorbit.com>,
Anthony Iliopoulos <ailiop@suse.com>,
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
Date: Tue, 25 Jul 2023 18:39:25 -0700 (PDT) [thread overview]
Message-ID: <42c5bbe-a7a4-3546-e898-3f33bd71b062@google.com> (raw)
In-Reply-To: <20230725-mgctime-v6-3-a794c2b7abca@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 <jlayton@kernel.org>
> ---
> 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
WARNING: multiple messages have this Message-ID (diff)
From: Hugh Dickins <hughd@google.com>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] [PATCH v6 3/7] tmpfs: bump the mtime/ctime/iversion when page becomes writeable
Date: Tue, 25 Jul 2023 18:39:25 -0700 (PDT) [thread overview]
Message-ID: <42c5bbe-a7a4-3546-e898-3f33bd71b062@google.com> (raw)
In-Reply-To: <20230725-mgctime-v6-3-a794c2b7abca@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 <jlayton@kernel.org>
> ---
> 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
WARNING: multiple messages have this Message-ID (diff)
From: Hugh Dickins via Linux-erofs <linux-erofs@lists.ozlabs.org>
To: Jeff Layton <jlayton@kernel.org>
Cc: Latchesar Ionkov <lucho@ionkov.net>,
Martin Brandenburg <martin@omnibond.com>,
Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
linux-xfs@vger.kernel.org, "Darrick J. Wong" <djwong@kernel.org>,
Dominique Martinet <asmadeus@codewreck.org>,
Christian Schoenebeck <linux_oss@crudebyte.com>,
Dave Chinner <david@fromorbit.com>,
David Howells <dhowells@redhat.com>, Chris Mason <clm@fb.com>,
Andreas Dilger <adilger.kernel@dilger.ca>,
Hans de Goede <hdegoede@redhat.com>,
Marc Dionne <marc.dionne@auristor.com>,
codalist@coda.cs.cmu.edu, linux-afs@lists.infradead.org,
Mike Marshall <hubcap@omnibond.com>,
Paulo Alcantara <pc@manguebit.com>,
linux-cifs@vger.kernel.org,
Eric Van Hensbergen <ericvh@kernel.org>,
Andreas Gruenbacher <agruenba@redhat.com>,
Miklos Szeredi <miklos@szeredi.hu>,
Richard Weinberger <richard@nod.at>,
Mark Fasheh <mark@fasheh.com>, Hugh Dickins <hughd@google.com>,
Tyler Hicks <code@tyhicks.com>,
cluster-devel@redhat.com, coda@cs.cmu.edu, linux-mm@kvack.org,
linux-f2fs-devel@lists.sourceforge.net,
Ilya Dryomov <idryomov@gmail.com>,
Iurii Zaikin <yzaikin@google.com>,
Namjae Jeon <linkinjeon@kernel.org>,
Trond Myklebust <trond.myklebust@hammerspace.com>,
Shyam Prasad N <sprasad@microsoft.com>,
ecryptfs@vger.kernel.org, Kees Cook <keescook@chromium.org>,
ocfs2-devel@lists.linux.dev, Anthony Iliopoulos <ailiop@suse.com>,
Josef Bacik <josef@toxicpanda.com>, Tom Talpey <tom@talpey.com>,
Tejun Heo <tj@kernel.org>, Yue Hu <huyue2@coolpad.com>,
Alexander Viro <viro@zeniv.linux.org.uk>,
linux-mtd@lists.infradead.org, David Sterba <dsterba@suse.com>,
Jaegeuk Kim <jaegeuk@kernel.org>,
ceph-devel@vger.kernel.org, Xiubo Li <xiubli@redhat.com>,
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>,
Jan Harkes <jaharkes@cs.cmu.edu>,
Christian Brauner <brauner@kernel.org>,
linux-ext4@vger.kernel.org, Theodore Ts'o <tytso@mit.edu>,
Joseph Qi <joseph.qi@linux.alibaba.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
v9fs@lists.linux.dev, ntfs3@lists.linux.de v,
samba-technical@lists.samba.org, linux-kernel@vger.kernel.org,
Ronnie Sahlberg <lsahlber@redhat.com>,
Steve French <sfrench@samba.org>,
Sergey Senozhatsky <senozhatsky@chromium.org>,
Luis Chamberlain <mcgrof@kernel.org>,
devel@lists.orangefs.org, Anna Schumaker <anna@kernel.org>,
Jan Kara <jack@suse.com>, Bob Peterson <rpeterso@redhat.com>,
linux-fsdevel@vger.kernel.org,
Andrew Morton <akpm@linux-foundation.org>,
Sungjong Seo <sj1557.seo@samsung.com>,
linux-erofs@lists.ozlabs.org, linux-nfs@vger.kernel.org,
linux-btrfs@vger.kernel.org, Joel Becker <jlbec@evilplan.org>
Subject: Re: [PATCH v6 3/7] tmpfs: bump the mtime/ctime/iversion when page becomes writeable
Date: Tue, 25 Jul 2023 18:39:25 -0700 (PDT) [thread overview]
Message-ID: <42c5bbe-a7a4-3546-e898-3f33bd71b062@google.com> (raw)
In-Reply-To: <20230725-mgctime-v6-3-a794c2b7abca@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 <jlayton@kernel.org>
> ---
> 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
WARNING: multiple messages have this Message-ID (diff)
From: Hugh Dickins via Linux-f2fs-devel <linux-f2fs-devel@lists.sourceforge.net>
To: Jeff Layton <jlayton@kernel.org>
Cc: Latchesar Ionkov <lucho@ionkov.net>,
Martin Brandenburg <martin@omnibond.com>,
Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
linux-xfs@vger.kernel.org, "Darrick J. Wong" <djwong@kernel.org>,
Dominique Martinet <asmadeus@codewreck.org>,
Christian Schoenebeck <linux_oss@crudebyte.com>,
Dave Chinner <david@fromorbit.com>,
David Howells <dhowells@redhat.com>, Chris Mason <clm@fb.com>,
Andreas Dilger <adilger.kernel@dilger.ca>,
Hans de Goede <hdegoede@redhat.com>,
Marc Dionne <marc.dionne@auristor.com>,
codalist@coda.cs.cmu.edu, linux-afs@lists.infradead.org,
Mike Marshall <hubcap@omnibond.com>,
Paulo Alcantara <pc@manguebit.com>,
linux-cifs@vger.kernel.org,
Eric Van Hensbergen <ericvh@kernel.org>,
Andreas Gruenbacher <agruenba@redhat.com>,
Miklos Szeredi <miklos@szeredi.hu>,
Richard Weinberger <richard@nod.at>,
Mark Fasheh <mark@fasheh.com>, Hugh Dickins <hughd@google.com>,
Tyler Hicks <code@tyhicks.com>,
cluster-devel@redhat.com, coda@cs.cmu.edu, linux-mm@kvack.org,
linux-f2fs-devel@lists.sourceforge.net,
Ilya Dryomov <idryomov@gmail.com>,
Iurii Zaikin <yzaikin@google.com>,
Namjae Jeon <linkinjeon@kernel.org>,
Trond Myklebust <trond.myklebust@hammerspace.com>,
Shyam Prasad N <sprasad@microsoft.com>,
ecryptfs@vger.kernel.org, Kees Cook <keescook@chromium.org>,
ocfs2-devel@lists.linux.dev, Anthony Iliopoulos <ailiop@suse.com>,
Josef Bacik <josef@toxicpanda.com>, Tom Talpey <tom@talpey.com>,
Tejun Heo <tj@kernel.org>, Yue Hu <huyue2@coolpad.com>,
Alexander Viro <viro@zeniv.linux.org.uk>,
linux-mtd@lists.infradead.org, David Sterba <dsterba@suse.com>,
Jaegeuk Kim <jaegeuk@kernel.org>,
ceph-devel@vger.kernel.org, Xiubo Li <xiubli@redhat.com>,
Gao Xiang <xiang@kernel.org>,
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>,
Jan Harkes <jaharkes@cs.cmu.edu>,
Christian Brauner <brauner@kernel.org>,
linux-ext4@vger.kernel.org, Theodore Ts'o <tytso@mit.edu>,
Joseph Qi <joseph.qi@linux.alibaba.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
v9fs@lists.linux.dev, ntfs3@lists.linux.dev,
samba-technical@lists.samba.org, linux-kernel@vger.kernel.org,
Ronnie Sahlberg <lsahlber@redhat.com>,
Steve French <sfrench@samba.org>,
Sergey Senozhatsky <senozhatsky@chromium.org>,
Luis Chamberlain <mcgrof@kernel.org>,
Jeffle Xu <jefflexu@linux.alibaba.com>,
devel@lists.orangefs.org, Anna Schumaker <anna@kernel.org>,
Jan Kara <jack@suse.com>, Bob Peterson <rpeterso@redhat.com>,
linux-fsdevel@vger.kernel.org,
Andrew Morton <akpm@linux-foundation.org>,
Sungjong Seo <sj1557.seo@samsung.com>,
linux-erofs@lists.ozlabs.org, linux-nfs@vger.kernel.org,
linux-btrfs@vger.kernel.org, Joel Becker <jlbec@evilplan.org>
Subject: Re: [f2fs-dev] [PATCH v6 3/7] tmpfs: bump the mtime/ctime/iversion when page becomes writeable
Date: Tue, 25 Jul 2023 18:39:25 -0700 (PDT) [thread overview]
Message-ID: <42c5bbe-a7a4-3546-e898-3f33bd71b062@google.com> (raw)
In-Reply-To: <20230725-mgctime-v6-3-a794c2b7abca@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 <jlayton@kernel.org>
> ---
> 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
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
WARNING: multiple messages have this Message-ID (diff)
From: Hugh Dickins <hughd@google.com>
To: Jeff Layton <jlayton@kernel.org>
Cc: Eric Van Hensbergen <ericvh@kernel.org>,
Latchesar Ionkov <lucho@ionkov.net>,
Dominique Martinet <asmadeus@codewreck.org>,
Christian Schoenebeck <linux_oss@crudebyte.com>,
David Howells <dhowells@redhat.com>,
Marc Dionne <marc.dionne@auristor.com>, Chris Mason <clm@fb.com>,
Josef Bacik <josef@toxicpanda.com>,
David Sterba <dsterba@suse.com>, Xiubo Li <xiubli@redhat.com>,
Ilya Dryomov <idryomov@gmail.com>,
Jan Harkes <jaharkes@cs.cmu.edu>,
coda@cs.cmu.edu, Tyler Hicks <code@tyhicks.com>,
Gao Xiang <xiang@kernel.org>, Chao Yu <chao@kernel.org>,
Yue Hu <huyue2@coolpad.com>,
Jeffle Xu <jefflexu@linux.alibaba.com>,
Namjae Jeon <linkinjeon@kernel.org>,
Sungjong Seo <sj1557.seo@samsung.com>, Jan Kara <jack@suse.com>,
Theodore Ts'o <tytso@mit.edu>,
Andreas Dilger <adilger.kernel@dilger.ca>,
Jaegeuk Kim <jaegeuk@kernel.org>,
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>,
Miklos Szeredi <miklos@szeredi.hu>,
Bob Peterson <rpeterso@redhat.com>,
Andreas Gruenbacher <agruenba@redhat.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Tejun Heo <tj@kernel.org>,
Alexander Viro <viro@zeniv.linux.org.uk>,
Christian Brauner <brauner@kernel.org>,
Trond Myklebust <trond.myklebust@hammerspace.com>,
Anna Schumaker <anna@kernel.org>,
Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
Mark Fasheh <mark@fasheh.com>, Joel Becker <jlbec@evilplan.org>,
Joseph Qi <joseph.qi@linux.alibaba.com>,
Mike Marshall <hubcap@omnibond.com>,
Martin Brandenburg <martin@omnibond.com>,
Luis Chamberlain <mcgrof@kernel.org>,
Kees Cook <keescook@chromium.org>,
Iurii Zaikin <yzaikin@google.com>,
Steve French <sfrench@samba.org>,
Paulo Alcantara <pc@manguebit.com>,
Ronnie Sahlberg <lsahlber@redhat.com>,
Shyam Prasad N <sprasad@microsoft.com>,
Tom Talpey <tom@talpey.com>,
Sergey Senozhatsky <senozhatsky@chromium.org>,
Richard Weinberger <richard@nod.at>,
Hans de Goede <hdegoede@redhat.com>,
Hugh Dickins <hughd@google.com>,
Andrew Morton <akpm@linux-foundation.org>,
"Darrick J. Wong" <djwong@kernel.org>,
Dave Chinner <david@fromorbit.com>,
Anthony Iliopoulos <ailiop@suse.com>,
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
Date: Tue, 25 Jul 2023 18:39:25 -0700 (PDT) [thread overview]
Message-ID: <42c5bbe-a7a4-3546-e898-3f33bd71b062@google.com> (raw)
In-Reply-To: <20230725-mgctime-v6-3-a794c2b7abca@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 <jlayton@kernel.org>
> ---
> 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
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
next prev parent reply other threads:[~2023-07-26 1:39 UTC|newest]
Thread overview: 152+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-25 14:58 [PATCH v6 0/7] fs: implement multigrain timestamps Jeff Layton
2023-07-25 14:58 ` Jeff Layton
2023-07-25 14:58 ` [f2fs-dev] " Jeff Layton
2023-07-25 14:58 ` Jeff Layton
2023-07-25 14:58 ` [Cluster-devel] " Jeff Layton
2023-07-25 14:58 ` [PATCH v6 1/7] fs: pass the request_mask to generic_fillattr Jeff Layton
2023-07-25 14:58 ` Jeff Layton
2023-07-25 14:58 ` [f2fs-dev] " Jeff Layton
2023-07-25 14:58 ` Jeff Layton
2023-07-25 14:58 ` [Cluster-devel] " Jeff Layton
2023-07-26 2:46 ` Xiubo Li
2023-07-26 2:46 ` Xiubo Li
2023-07-26 2:46 ` [f2fs-dev] " Xiubo Li
2023-07-26 2:46 ` Xiubo Li
2023-07-26 2:46 ` [Cluster-devel] " Xiubo Li
2023-07-26 9:40 ` Joseph Qi
2023-07-26 9:40 ` Joseph Qi
2023-07-26 9:40 ` [f2fs-dev] " Joseph Qi
2023-07-26 9:40 ` Joseph Qi
2023-07-26 9:40 ` [Cluster-devel] " Joseph Qi
2023-07-26 10:49 ` Jeff Layton
2023-07-26 10:49 ` Jeff Layton
2023-07-26 10:49 ` [f2fs-dev] " Jeff Layton
2023-07-26 10:49 ` Jeff Layton
2023-07-26 10:49 ` [Cluster-devel] " Jeff Layton
2023-08-02 17:43 ` Jan Kara
2023-08-02 17:43 ` Jan Kara
2023-08-02 17:43 ` [f2fs-dev] " Jan Kara
2023-08-02 17:43 ` Jan Kara
2023-08-02 17:43 ` [Cluster-devel] " Jan Kara
2023-08-02 18:47 ` Paulo Alcantara
2023-08-02 18:47 ` Paulo Alcantara
2023-08-02 18:47 ` [f2fs-dev] " Paulo Alcantara via Linux-f2fs-devel
2023-08-02 18:47 ` Paulo Alcantara via Linux-erofs
2023-08-02 18:47 ` [Cluster-devel] " Paulo Alcantara
2023-08-29 22:44 ` Al Viro
2023-08-29 22:44 ` Al Viro
2023-08-29 22:44 ` [f2fs-dev] " Al Viro
2023-08-29 22:44 ` Al Viro
2023-08-29 22:44 ` [Cluster-devel] " Al Viro
2023-08-29 22:58 ` Jeff Layton
2023-08-29 22:58 ` Jeff Layton
2023-08-29 22:58 ` [f2fs-dev] " Jeff Layton
2023-08-29 22:58 ` Jeff Layton
2023-08-29 22:58 ` [Cluster-devel] " Jeff Layton
2023-08-30 0:02 ` Al Viro
2023-08-30 0:02 ` Al Viro
2023-08-30 0:02 ` [f2fs-dev] " Al Viro
2023-08-30 0:02 ` Al Viro
2023-08-30 0:02 ` [Cluster-devel] " Al Viro
2023-08-30 0:43 ` Jeff Layton
2023-08-30 0:43 ` Jeff Layton
2023-08-30 0:43 ` [f2fs-dev] " Jeff Layton
2023-08-30 0:43 ` Jeff Layton
2023-08-30 0:43 ` [Cluster-devel] " Jeff Layton
2023-08-30 1:22 ` Al Viro
2023-08-30 1:22 ` Al Viro
2023-08-30 1:22 ` [f2fs-dev] " Al Viro
2023-08-30 1:22 ` Al Viro
2023-08-30 1:22 ` [Cluster-devel] " Al Viro
2023-07-25 14:58 ` [PATCH v6 2/7] fs: add infrastructure for multigrain timestamps Jeff Layton
2023-07-25 14:58 ` Jeff Layton
2023-07-25 14:58 ` [f2fs-dev] " Jeff Layton
2023-07-25 14:58 ` Jeff Layton
2023-07-25 14:58 ` [Cluster-devel] " Jeff Layton
2023-08-02 19:35 ` Jan Kara
2023-08-02 19:35 ` Jan Kara
2023-08-02 19:35 ` [f2fs-dev] " Jan Kara
2023-08-02 19:35 ` Jan Kara
2023-08-02 19:35 ` [Cluster-devel] " Jan Kara
2023-08-02 20:54 ` Jeff Layton
2023-08-02 20:54 ` Jeff Layton
2023-08-02 20:54 ` [f2fs-dev] " Jeff Layton
2023-08-02 20:54 ` Jeff Layton
2023-08-02 20:54 ` [Cluster-devel] " Jeff Layton
2023-08-03 7:07 ` Christian Brauner
2023-08-03 7:07 ` Christian Brauner
2023-08-03 7:07 ` [f2fs-dev] " Christian Brauner
2023-08-03 7:07 ` Christian Brauner
2023-08-03 7:07 ` [Cluster-devel] " Christian Brauner
2023-07-25 14:58 ` [PATCH v6 3/7] tmpfs: bump the mtime/ctime/iversion when page becomes writeable Jeff Layton
2023-07-25 14:58 ` Jeff Layton
2023-07-25 14:58 ` [f2fs-dev] " Jeff Layton
2023-07-25 14:58 ` Jeff Layton
2023-07-25 14:58 ` [Cluster-devel] " Jeff Layton
2023-07-26 1:39 ` Hugh Dickins [this message]
2023-07-26 1:39 ` Hugh Dickins
2023-07-26 1:39 ` [f2fs-dev] " Hugh Dickins via Linux-f2fs-devel
2023-07-26 1:39 ` Hugh Dickins via Linux-erofs
2023-07-26 1:39 ` [Cluster-devel] " Hugh Dickins
2023-07-26 10:26 ` Jeff Layton
2023-07-26 10:26 ` Jeff Layton
2023-07-26 10:26 ` [f2fs-dev] " Jeff Layton
2023-07-26 10:26 ` Jeff Layton
2023-07-26 10:26 ` [Cluster-devel] " Jeff Layton
2023-07-25 14:58 ` [PATCH v6 4/7] tmpfs: add support for multigrain timestamps Jeff Layton
2023-07-25 14:58 ` Jeff Layton
2023-07-25 14:58 ` [f2fs-dev] " Jeff Layton
2023-07-25 14:58 ` Jeff Layton
2023-07-25 14:58 ` [Cluster-devel] " Jeff Layton
2023-08-02 19:37 ` Jan Kara
2023-08-02 19:37 ` Jan Kara
2023-08-02 19:37 ` [f2fs-dev] " Jan Kara
2023-08-02 19:37 ` Jan Kara
2023-08-02 19:37 ` [Cluster-devel] " Jan Kara
2023-07-25 14:58 ` [PATCH v6 5/7] xfs: switch to " Jeff Layton
2023-07-25 14:58 ` Jeff Layton
2023-07-25 14:58 ` [f2fs-dev] " Jeff Layton
2023-07-25 14:58 ` Jeff Layton
2023-07-25 14:58 ` [Cluster-devel] " Jeff Layton
2023-08-02 17:48 ` Darrick J. Wong
2023-08-02 17:48 ` Darrick J. Wong
2023-08-02 17:48 ` [f2fs-dev] " Darrick J. Wong
2023-08-02 17:48 ` Darrick J. Wong
2023-08-02 17:48 ` [Cluster-devel] " Darrick J. Wong
2023-08-02 18:21 ` Jeff Layton
2023-08-02 18:21 ` Jeff Layton
2023-08-02 18:21 ` [f2fs-dev] " Jeff Layton
2023-08-02 18:21 ` Jeff Layton
2023-08-02 18:21 ` [Cluster-devel] " Jeff Layton
2023-08-03 7:05 ` Christian Brauner
2023-08-03 7:05 ` Christian Brauner
2023-08-03 7:05 ` [f2fs-dev] " Christian Brauner
2023-08-03 7:05 ` Christian Brauner
2023-08-03 7:05 ` [Cluster-devel] " Christian Brauner
2023-07-25 14:58 ` [PATCH v6 6/7] ext4: " Jeff Layton
2023-07-25 14:58 ` Jeff Layton
2023-07-25 14:58 ` [f2fs-dev] " Jeff Layton
2023-07-25 14:58 ` Jeff Layton
2023-07-25 14:58 ` [Cluster-devel] " Jeff Layton
2023-08-02 19:38 ` Jan Kara
2023-08-02 19:38 ` Jan Kara
2023-08-02 19:38 ` [f2fs-dev] " Jan Kara
2023-08-02 19:38 ` Jan Kara
2023-08-02 19:38 ` [Cluster-devel] " Jan Kara
2023-08-03 14:19 ` Theodore Ts'o
2023-07-25 14:58 ` [PATCH v6 7/7] btrfs: convert " Jeff Layton
2023-07-25 14:58 ` Jeff Layton
2023-07-25 14:58 ` [f2fs-dev] " Jeff Layton
2023-07-25 14:58 ` Jeff Layton
2023-07-25 14:58 ` [Cluster-devel] " Jeff Layton
2023-07-26 12:44 ` David Sterba
2023-07-26 12:44 ` David Sterba
2023-07-26 12:44 ` [f2fs-dev] " David Sterba
2023-07-26 12:44 ` David Sterba
2023-07-26 12:44 ` [Cluster-devel] " David Sterba
2023-07-28 11:00 ` (subset) [PATCH v6 0/7] fs: implement " Christian Brauner
2023-07-28 11:00 ` Christian Brauner
2023-07-28 11:00 ` [f2fs-dev] " Christian Brauner
2023-07-28 11:00 ` Christian Brauner
2023-07-28 11:00 ` [Cluster-devel] " Christian Brauner
2023-07-28 11:00 ` Christian Brauner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=42c5bbe-a7a4-3546-e898-3f33bd71b062@google.com \
--to=hughd@google.com \
--cc=adilger.kernel@dilger.ca \
--cc=agruenba@redhat.com \
--cc=ailiop@suse.com \
--cc=akpm@linux-foundation.org \
--cc=almaz.alexandrovich@paragon-software.com \
--cc=anna@kernel.org \
--cc=asmadeus@codewreck.org \
--cc=brauner@kernel.org \
--cc=ceph-devel@vger.kernel.org \
--cc=chao@kernel.org \
--cc=clm@fb.com \
--cc=cluster-devel@redhat.com \
--cc=coda@cs.cmu.edu \
--cc=codalist@coda.cs.cmu.edu \
--cc=code@tyhicks.com \
--cc=david@fromorbit.com \
--cc=devel@lists.orangefs.org \
--cc=dhowells@redhat.com \
--cc=djwong@kernel.org \
--cc=dsterba@suse.com \
--cc=ecryptfs@vger.kernel.org \
--cc=ericvh@kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=hdegoede@redhat.com \
--cc=hirofumi@mail.parknet.co.jp \
--cc=hubcap@omnibond.com \
--cc=huyue2@coolpad.com \
--cc=idryomov@gmail.com \
--cc=jack@suse.com \
--cc=jaegeuk@kernel.org \
--cc=jaharkes@cs.cmu.edu \
--cc=jefflexu@linux.alibaba.com \
--cc=jlayton@kernel.org \
--cc=jlbec@evilplan.org \
--cc=josef@toxicpanda.com \
--cc=joseph.qi@linux.alibaba.com \
--cc=keescook@chromium.org \
--cc=linkinjeon@kernel.org \
--cc=linux-afs@lists.infradead.org \
--cc=linux-btrfs@vger.kernel.org \
--cc=linux-cifs@vger.kernel.org \
--cc=linux-erofs@lists.ozlabs.org \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-f2fs-devel@lists.sourceforge.net \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-mtd@lists.infradead.org \
--cc=linux-nfs@vger.kernel.org \
--cc=linux-xfs@vger.kernel.org \
--cc=linux_oss@crudebyte.com \
--cc=lsahlber@redhat.com \
--cc=lucho@ionkov.net \
--cc=marc.dionne@auristor.com \
--cc=mark@fasheh.com \
--cc=martin@omnibond.com \
--cc=mcgrof@kernel.org \
--cc=miklos@szeredi.hu \
--cc=ntfs3@lists.linux.dev \
--cc=ocfs2-devel@lists.linux.dev \
--cc=pc@manguebit.com \
--cc=richard@nod.at \
--cc=rpeterso@redhat.com \
--cc=samba-technical@lists.samba.org \
--cc=senozhatsky@chromium.org \
--cc=sfrench@samba.org \
--cc=sj1557.seo@samsung.com \
--cc=sprasad@microsoft.com \
--cc=tj@kernel.org \
--cc=tom@talpey.com \
--cc=trond.myklebust@hammerspace.com \
--cc=tytso@mit.edu \
--cc=v9fs@lists.linux.dev \
--cc=viro@zeniv.linux.org.uk \
--cc=xiang@kernel.org \
--cc=xiubli@redhat.com \
--cc=yzaikin@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.