On Fri, May 13, 2022 at 11:50 AM Jane Chu <[email protected]> wrote:
>
> Sorry again, and I'm scratching my head how could my build not complain
> when I missed this change?
>
> diff --git a/fs/fuse/virtio_fs.c b/fs/fuse/virtio_fs.c
> index 86b7dbb6a0d4..c9faa5f2587c 100644
> --- a/fs/fuse/virtio_fs.c
> +++ b/fs/fuse/virtio_fs.c
> @@ -773,6 +773,8 @@ static int virtio_fs_zero_page_range(struct
> dax_device *dax_dev,
> void *kaddr;
>
> rc = dax_direct_access(dax_dev, pgoff, nr_pages, &kaddr, NULL);
> + rc = dax_direct_access(dax_dev, pgoff, nr_pages, DAX_ACCESS,
> + &kaddr, NULL);
> if (rc < 0)
> return rc;
> memset(kaddr, 0, nr_pages << PAGE_SHIFT);
>
> Please let me know if you prefer a patch sent your way.
Also needed to fixup the virtio_fs_direct_access() function signature:
diff --git a/fs/fuse/virtio_fs.c b/fs/fuse/virtio_fs.c
index 86b7dbb6a0d4..8db53fa67359 100644
--- a/fs/fuse/virtio_fs.c
+++ b/fs/fuse/virtio_fs.c
@@ -752,7 +752,8 @@ static void virtio_fs_cleanup_vqs(struct
virtio_device *vdev,
* offset.
*/
static long virtio_fs_direct_access(struct dax_device *dax_dev, pgoff_t pgoff,
- long nr_pages, void **kaddr, pfn_t *pfn)
+ long nr_pages, enum dax_access_mode mode,
+ void **kaddr, pfn_t *pfn)
{
struct virtio_fs *fs = dax_get_private(dax_dev);
phys_addr_t offset = PFN_PHYS(pgoff);
@@ -772,7 +773,8 @@ static int virtio_fs_zero_page_range(struct
dax_device *dax_dev,
long rc;
void *kaddr;
- rc = dax_direct_access(dax_dev, pgoff, nr_pages, &kaddr, NULL);
+ rc = dax_direct_access(dax_dev, pgoff, nr_pages, DAX_ACCESS, &kaddr,
+ NULL);
if (rc < 0)
return rc;
memset(kaddr, 0, nr_pages << PAGE_SHIFT);