On Tue, Mar 8, 2016 at 2:21 PM, NeilBrown <[email protected]> wrote:
>
> When alloc_disk(0) or alloc_disk-node(0, XX) is used, the ->major
> number is completely ignored:  all devices are allocated with a
> major of BLOCK_EXT_MAJOR.
>
> So there is no point allocating pmem_major.
>
> Signed-off-by: NeilBrown <[email protected]>
> ---
>  drivers/nvdimm/pmem.c | 19 +------------------
>  1 file changed, 1 insertion(+), 18 deletions(-)
>
> Hi Dan et al,
>  I was recently educating myself about the behavior of alloc_disk(0).
>  As I understand it, the ->major is ignored and all device numbers for all
>  partitions (including '0') are allocated on demand with major number of
>  BLOCK_EXT_MAJOR.
>
>  So I was a little surprised to find that pmem.c allocated a major
>  number which is never used - historical anomaly I suspect.
>  I was a bit more surprised at the comment in:
>
>   Commit: 9f53f9fa4ad1 ("libnvdimm, pmem: add libnvdimm support to the pmem 
> driver")
>
>  "The minor numbers are also more predictable by passing 0 to alloc_disk()."
>
>  How can they possibly be more predictable given that they are allocated
>  on-demand?  Maybe discovery order is very predictable???

Ross, I remember you looked into this when Boaz pointed out something similar.

>  In any case, I propose this patch but cannot test it (beyond compiling)
>  as I don't have relevant hardware.  And maybe some user-space code greps
>  /proc/devices for "pmem" to determine if "pmem" is compiled in (though
>  I sincerely hope not).
>  So I cannot be certain that this patch won't break anything, but am
>  hoping that if you like it you might test it.

Will do.

Thanks Neil!

Reply via email to