From: John Groves <[email protected]>

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 <[email protected]>
---
 fs/fuse/famfs.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/fs/fuse/famfs.c b/fs/fuse/famfs.c
index 4eb87c5c628e..32c3d0c2ec48 100644
--- a/fs/fuse/famfs.c
+++ b/fs/fuse/famfs.c
@@ -13,6 +13,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>
@@ -38,6 +39,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,
+};
+
 /*****************************************************************************/
 
 /*
@@ -657,6 +667,7 @@ famfs_file_init_dax(
                }
                i_size_write(inode, meta->file_size);
                inode->i_flags |= S_DAX;
+               inode->i_data.a_ops = &famfs_dax_aops;
        }
  unlock_out:
        inode_unlock(inode);
-- 
2.49.0


Reply via email to