Re: can we finally kill off CONFIG_FS_DAX_LIMITED

Jason Gunthorpe
2021-10-19T17:54:12Z

On Tue, Oct 19, 2021 at 10:38:42AM -0700, Dan Williams wrote:

> > So we can just delete the detection of the page size and rely on the
> > zap code to wipe out the entire level, not split it. Which is what we
> > have today already.
>
> As Joao points out, userspace wants to know the blast radius of the
> unmap for historical reasons. I do think it's worth deprecating that
> somehow... providing a better error management interface is part of
> the DAX-reflink enabling.

OK, it makes sense.

I have a less invasive idea though - emulate what zap is doing:

if (!pud_present(*pud))
return 0;
if (pud_leaf(*pud))
return PUD_SHIFT;

if (!pmd_present(*pud))
return 0;
if (pmd_leaf(*pud))
return PMD_SHIFT;
return PAGE_SHIFT;

Which would return the "blast radius" of the unmap_mapping_range()
when it rounds up to the left page level that contains the VA.

Now it doesn't need the pte_devmap test..

And when both DAX's learn to use compound_head this can be deleted.

Jason