[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJnrk1YNRNRrXVydX6=5NAic3fu6QggbA5xV2fwywP27yZu2ZA@mail.gmail.com>
Date: Fri, 30 Jan 2026 15:13:20 -0800
From: Joanne Koong <joannelkoong@...il.com>
To: John Groves <john@...alactic.com>
Cc: John Groves <John@...ves.net>, Miklos Szeredi <miklos@...redi.hu>,
Dan Williams <dan.j.williams@...el.com>, Bernd Schubert <bschubert@....com>,
Alison Schofield <alison.schofield@...el.com>, John Groves <jgroves@...ron.com>,
John Groves <jgroves@...tmail.com>, Jonathan Corbet <corbet@....net>,
Vishal Verma <vishal.l.verma@...el.com>, Dave Jiang <dave.jiang@...el.com>,
Matthew Wilcox <willy@...radead.org>, Jan Kara <jack@...e.cz>,
Alexander Viro <viro@...iv.linux.org.uk>, David Hildenbrand <david@...nel.org>,
Christian Brauner <brauner@...nel.org>, "Darrick J . Wong" <djwong@...nel.org>,
Randy Dunlap <rdunlap@...radead.org>, Jeff Layton <jlayton@...nel.org>,
Amir Goldstein <amir73il@...il.com>, Jonathan Cameron <Jonathan.Cameron@...wei.com>,
Stefan Hajnoczi <shajnocz@...hat.com>, Josef Bacik <josef@...icpanda.com>,
Bagas Sanjaya <bagasdotme@...il.com>, James Morse <james.morse@....com>,
Fuad Tabba <tabba@...gle.com>, Sean Christopherson <seanjc@...gle.com>, Shivank Garg <shivankg@....com>,
Ackerley Tng <ackerleytng@...gle.com>, Gregory Price <gourry@...rry.net>,
Aravind Ramesh <arramesh@...ron.com>, Ajay Joshi <ajayjoshi@...ron.com>,
"venkataravis@...ron.com" <venkataravis@...ron.com>,
"linux-doc@...r.kernel.org" <linux-doc@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"nvdimm@...ts.linux.dev" <nvdimm@...ts.linux.dev>,
"linux-cxl@...r.kernel.org" <linux-cxl@...r.kernel.org>,
"linux-fsdevel@...r.kernel.org" <linux-fsdevel@...r.kernel.org>
Subject: Re: [PATCH V7 17/19] famfs_fuse: Add DAX address_space_operations
with noop_dirty_folio
On Sun, Jan 18, 2026 at 2:33 PM John Groves <john@...alactic.com> wrote:
>
> From: John Groves <John@...ves.net>
>
> Famfs is memory-backed; there is no place to write back to, and no
> reason to mark pages dirty at all.
>
> Signed-off-by: John Groves <john@...ves.net>
Reviewed-by: Joanne Koong <joannelkoong@...il.com>
> ---
> fs/fuse/famfs.c | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/fs/fuse/famfs.c b/fs/fuse/famfs.c
> index b38e92d8f381..90325bd14354 100644
> --- a/fs/fuse/famfs.c
> +++ b/fs/fuse/famfs.c
> @@ -14,6 +14,7 @@
> #include <linux/mm.h>
> #include <linux/dax.h>
> #include <linux/iomap.h>
> +#include <linux/pagemap.h>
> #include <linux/path.h>
> #include <linux/namei.h>
> #include <linux/string.h>
> @@ -39,6 +40,15 @@ static const struct dax_holder_operations famfs_fuse_dax_holder_ops = {
> .notify_failure = famfs_dax_notify_failure,
> };
>
> +/*
> + * DAX address_space_operations for famfs.
> + * famfs doesn't need dirty tracking - writes go directly to
> + * memory with no writeback required.
> + */
> +static const struct address_space_operations famfs_dax_aops = {
> + .dirty_folio = noop_dirty_folio,
> +};
> +
> /*****************************************************************************/
>
> /*
> @@ -627,6 +637,7 @@ famfs_file_init_dax(
> if (famfs_meta_set(fi, meta) == NULL) {
> i_size_write(inode, meta->file_size);
> inode->i_flags |= S_DAX;
> + inode->i_data.a_ops = &famfs_dax_aops;
> } else {
> pr_debug("%s: file already had metadata\n", __func__);
> __famfs_meta_free(meta);
> --
> 2.52.0
>
>
Powered by blists - more mailing lists