Vivek Goyal wrote: > On Fri, Jan 10, 2025 at 05:00:29PM +1100, Alistair Popple wrote: > > FS DAX requires file systems to call into the DAX layout prior to unlinking > > inodes to ensure there is no ongoing DMA or other remote access to the > > direct mapped page. The fuse file system implements > > fuse_dax_break_layouts() to do this which includes a comment indicating > > that passing dmap_end == 0 leads to unmapping of the whole file. > > > > However this is not true - passing dmap_end == 0 will not unmap anything > > before dmap_start, and further more dax_layout_busy_page_range() will not > > scan any of the range to see if there maybe ongoing DMA access to the > > range. Fix this by passing -1 for dmap_end to fuse_dax_break_layouts() > > which will invalidate the entire file range to > > dax_layout_busy_page_range(). > > Hi Alistair, > > Thanks for fixing DAX related issues for virtiofs. I am wondering how are > you testing DAX with virtiofs. AFAIK, we don't have DAX support in Rust > virtiofsd. C version of virtiofsd used to have out of the tree patches > for DAX. But C version got deprecated long time ago. > > Do you have another implementation of virtiofsd somewhere else which > supports DAX and allows for testing DAX related changes? I have personally never seen a virtiofs-dax test. It sounds like you are saying we can deprecate that support if there are no longer any users. Or, do you expect that C-virtiofsd is alive in the ecosystem?