Re: [PATCH v2 0/4] virtiofs,fuse: support per-file DAX
From: Vivek Goyal <vgoyal@redhat.com>
Date: 2021-07-21 14:43:01
Also in:
linux-fsdevel
On Wed, Jul 21, 2021 at 08:48:57AM -0400, Vivek Goyal wrote: [..]
quoted
quoted
So is "dax=inode" enough for your needs? What's your requirement, can you give little bit of more details.In our use case, the backend fs is something like SquashFS on host. The content of the file on host is downloaded *as needed*. When the file is not completely ready (completely downloaded), the guest will follow the normal IO routine, i.e., by FUSE_READ/FUSE_WRITE request. While the file is completely ready, per-file DAX is enabled for this file. IOW the FUSE server need to dynamically decide if per-file DAX shall be enabled, depending on if the file is completely downloaded.So you don't want to enable DAX yet because guest might fault on a section of file which has not been downloaded yet? I am wondering if somehow user fault handling can help with this. If we could handle faults for this file in user space, then you should be able to download that particular page[s] and resolve the fault?
Stefan mentioned that can't we block when fuse mmap request comes in and download corresponding section of file. Or do whatever you are doing in FUSE_READ. IOW, even if you enable dax in your use case on all files, FUSE_SETUPMAPPING request will give you control to make sure file section being mmaped has been downloaded. Vivek _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization