libnvdimm, btt: Fix an incompatibility in the log layout
authorVishal Verma <vishal.l.verma@intel.com>
Mon, 18 Dec 2017 16:28:39 +0000 (09:28 -0700)
committerDan Williams <dan.j.williams@intel.com>
Thu, 21 Dec 2017 22:59:27 +0000 (14:59 -0800)
commit24e3a7fb60a9187e5df90e5fa655ffc94b9c4f77
treeeac112b892e6a56fc4217ba20b5b30af1b4ea504
parent13b7954c0b8dd2d6382b4ddb5053f09e389d5c6e
libnvdimm, btt: Fix an incompatibility in the log layout

Due to a spec misinterpretation, the Linux implementation of the BTT log
area had different padding scheme from other implementations, such as
UEFI and NVML.

This fixes the padding scheme, and defaults to it for new BTT layouts.
We attempt to detect the padding scheme in use when probing for an
existing BTT. If we detect the older/incompatible scheme, we continue
using it.

Reported-by: Juston Li <juston.li@intel.com>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: <stable@vger.kernel.org>
Fixes: 5212e11fde4d ("nd_btt: atomic sector updates")
Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/nvdimm/btt.c
drivers/nvdimm/btt.h