From: Christoph Hellwig [mailto:h...@infradead.org]
> 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.

Reply via email to