libnvdimm, namespace: filter out of range labels in scan_labels()
authorDan Williams <dan.j.williams@intel.com>
Wed, 5 Oct 2016 22:54:46 +0000 (15:54 -0700)
committerDan Williams <dan.j.williams@intel.com>
Fri, 7 Oct 2016 16:22:53 +0000 (09:22 -0700)
commitc969e24c1b696f347c08b4beb73007bc39865b0e
tree2cf5a7f92ab399461fc10df4e721ca7d7780e466
parent762d067dbad5f32560cb1657b7ca20034332dc56
libnvdimm, namespace: filter out of range labels in scan_labels()

Short-circuit doomed-to-fail label validation attempts by skipping
labels that are outside the given region.  For example a DIMM that has
multiple PMEM regions will waste time attempting to create namespaces
only to find that the interleave-set-cookie does not validate, e.g.:

    nd_region region6: invalid cookie in label: 73e608dc-47b9-4b2a-b5c7-2d55a32e0c2

Similar to how we skip BLK labels when performing PMEM validation we can
skip out-of-range labels early.

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/nvdimm/namespace_devs.c