]> www.infradead.org Git - users/jedix/linux-maple.git/commit
libnvdimm, btt: write and validate parent_uuid
authorVishal Verma <vishal.l.verma@intel.com>
Wed, 29 Jul 2015 20:58:09 +0000 (14:58 -0600)
committerDan Duval <dan.duval@oracle.com>
Wed, 7 Dec 2016 17:19:16 +0000 (12:19 -0500)
commit7b4e4ce09fe11c1114df9bebcf958c99e0228b66
tree77f40b4870eff35400c193dae9978a49e95feadc
parent6c900c69822827f6323a11790d78c389a248a14f
libnvdimm, btt: write and validate parent_uuid

Orabug: 22913653

When a BTT is instantiated on a namespace it must validate the namespace
uuid matches the 'parent_uuid' stored in the btt superblock. This
property enforces that changing the namespace UUID invalidates all
former BTT instances on that storage. For "IO namespaces" that don't
have a label or UUID, the parent_uuid is set to zero, and this
validation is skipped. For such cases, old BTTs have to be invalidated
by forcing the namespace to raw mode, and overwriting the BTT info
blocks.

Based on a patch by Dan Williams <dan.j.williams@intel.com>

Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
(cherry picked from commit 6ec689542b5bc516187917d49b112847dfb75b0b)
Signed-off-by: Dan Duval <dan.duval@oracle.com>
drivers/nvdimm/btt.c
drivers/nvdimm/btt_devs.c
drivers/nvdimm/namespace_devs.c
drivers/nvdimm/nd.h