• Dan Williams's avatar
    libnvdimm, pfn, dax: fix initialization vs autodetect for mode + alignment · 1ee6667c
    Dan Williams authored
    The updated ndctl unit tests discovered that if a pfn configuration with
    a 4K alignment is read from the namespace, that alignment will be
    ignored in favor of the default 2M alignment.  The result is that the
    configuration will fail initialization with a message like:
    
        dax6.1: bad offset: 0x22000 dax disabled align: 0x200000
    
    Fix this by allowing the alignment read from the info block to override
    the default which is 2M not 0 in the autodetect path.  This also fixes a
    similar problem with the mode and alignment settings silently being
    overwritten by the kernel when userspace has changed it.  We now will
    either overwrite the info block if userspace changes the uuid or fail
    and warn if a live setting disagrees with the info block.
    
    Cc: <stable@vger.kernel.org>
    Cc: Micah Parrish <micah.parrish@hpe.com>
    Cc: Toshi Kani <toshi.kani@hpe.com>
    Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
    1ee6667c
pfn_devs.c 17.5 KB