RE: [PATCH v2 2/9] ext2: tell DAX the size of allocation holes

From: Matthew Wilcox
Date: Sat Sep 10 2016 - 11:55:33 EST


From: Christoph Hellwig [mailto:hch@xxxxxxxxxxxxx]
> Either way we need to get rid of buffer_heads, and another aop that is entirely
> caller specific is unaceptable.

I finally figured out what you actually meant by this. You mean that instead of having an aop->populate_pfn, you want to define a populate_pfn_t callback and pass it in.

Something like this:

int ext2_populate_pfn(struct address_space *mapping, pgoff_t pgoff)
{
struct iomap iomap;
...
return dax_populate_pfn(mapping, pgoff, &iomap);
}

int ext2_dax_fault(vma, vmf)
{
...
ret = dax_fault(vma, vmf, ext2_populate_pfn);
...
}

I don't have a problem with that. I'll work up something along those lines next week.