[RFC PATCH 1/4] libnvdimm/namespace: Make namespace size validation arch dependent

Aneesh Kumar K.V aneesh.kumar at linux.ibm.com
Mon Nov 18 20:51:57 AEDT 2019


Dan Williams <dan.j.williams at intel.com> writes:

> On Sat, Nov 16, 2019 at 4:15 AM Aneesh Kumar K.V
> <aneesh.kumar at linux.ibm.com> wrote:
>>

....


>>
>> Considering the direct-map map size is not going to be user selectable,
>> do you agree that we can skip the above step 0 configuration you
>> suggested.
>>
>> The changes proposed in the patch series essentially does the rest.
>>
>> 1) It validate the size against the arch specific limit during
>> namespace creation. (part of step 1)
>
> This validation is a surprise failure to ndctl.
>
>> 2) It also disable initializing a region if it find the size not
>> correctly aligned as per the platform requirement.
>
> There needs to be a way for the user to discover the correct alignment
> that the kernel will accept.
>
>> 3) Direct map  mapping size is different from supported_alignment for a
>> namespace. The supported alignment controls what possible PAGE SIZE user want the
>> namespace to be mapped to user space.
>
> No, the namespace alignment is different than the page mapping size.
> The alignment is only interpreted as a mapping size at the device-dax
> level, otherwise at the raw namespace level it's just an arbitrary
> alignment.
>
>> With the above do you think the current patch series is good?
>
> I don't think we've quite converged on a solution.

How about we make it a property of seed device. ie,
we add `supported_size_align` RO attribute to the seed device. ndctl can
use this to validate the size value. So this now becomes step0

sys/bus/nd/devices/region0> cat btt0.0/supported_size_align 
16777216
/sys/bus/nd/devices/region0> cat pfn0.0/supported_size_align 
16777216
/sys/bus/nd/devices/region0> cat dax0.0/supported_size_align 
16777216
/sys/bus/nd/devices/region0>

We follow that up with validating the size value written to size
attribute(step 1).

While initializing the namespaces already present in a region we again
validate the size and if not properly aligned we mark the region
disabled.

-aneesh


More information about the Linuxppc-dev mailing list