xfs: use dax ops for zero and truncate in fsdax mode
authorShiyang Ruan <ruansy.fnst@fujitsu.com>
Thu, 1 Dec 2022 15:32:10 +0000 (15:32 +0000)
committerAndrew Morton <akpm@linux-foundation.org>
Mon, 12 Dec 2022 02:12:16 +0000 (18:12 -0800)
Zero and truncate on a dax file may execute CoW.  So use dax ops which
contains end work for CoW.

Link: https://lkml.kernel.org/r/1669908730-131-1-git-send-email-ruansy.fnst@fujitsu.com
Signed-off-by: Shiyang Ruan <ruansy.fnst@fujitsu.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Cc: Alistair Popple <apopple@nvidia.com>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Dave Chinner <david@fromorbit.com>
Cc: Jason Gunthorpe <jgg@nvidia.com>
Cc: John Hubbard <jhubbard@nvidia.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
fs/xfs/xfs_iomap.c

index 881de99766cad1b3c52e74103c58db1a53077f34..d9401d0300ad115cb041d2dd7c8e36d58b127b08 100644 (file)
@@ -1370,7 +1370,7 @@ xfs_zero_range(
 
        if (IS_DAX(inode))
                return dax_zero_range(inode, pos, len, did_zero,
-                                     &xfs_direct_write_iomap_ops);
+                                     &xfs_dax_write_iomap_ops);
        return iomap_zero_range(inode, pos, len, did_zero,
                                &xfs_buffered_write_iomap_ops);
 }
@@ -1385,7 +1385,7 @@ xfs_truncate_page(
 
        if (IS_DAX(inode))
                return dax_truncate_page(inode, pos, did_zero,
-                                       &xfs_direct_write_iomap_ops);
+                                       &xfs_dax_write_iomap_ops);
        return iomap_truncate_page(inode, pos, did_zero,
                                   &xfs_buffered_write_iomap_ops);
 }