On Tue, 15 Sep 2020, Matthew Wilcox wrote:
> On Tue, Sep 15, 2020 at 08:34:41AM -0400, Mikulas Patocka wrote:
> > - when the fsck.nvfs tool mmaps the device /dev/pmem0, the kernel uses
> > buffer cache for the mapping. The buffer cache slows does fsck by a factor
> > of 5 to 10. Could it be possible to change the kernel so that it maps DAX
> > based block devices directly?
>
> Oh, because fs/block_dev.c has:
> .mmap = generic_file_mmap,
>
> I don't see why we shouldn't have a blkdev_mmap modelled after
> ext2_file_mmap() with the corresponding blkdev_dax_vm_ops.
Yes, that's possible - and we whould also have to rewrite methods
read_iter and write_iter on DAX block devices, so that they are coherent
with mmap.
Mikulas