libnvdimm: namespace indices: read and validate
This on media label format [1] consists of two index blocks followed by an array of labels. None of these structures are ever updated in place. A sequence number tracks the current active index and the next one to write, while labels are written to free slots. +------------+ | | | nsindex0 | | | +------------+ | | | nsindex1 | | | +------------+ | label0 | +------------+ | label1 | +------------+ | | ....nslot... | | +------------+ | labelN | +------------+ After reading valid labels, store the dpa ranges they claim into per-dimm resource trees. [1]: http://pmem.io/documents/NVDIMM_Namespace_Spec.pdf Cc: Neil Brown <neilb@suse.de> Acked-by:Christoph Hellwig <hch@lst.de> Signed-off-by:
Dan Williams <dan.j.williams@intel.com>
Showing
- drivers/nvdimm/Makefile 1 addition, 0 deletionsdrivers/nvdimm/Makefile
- drivers/nvdimm/dimm.c 23 additions, 0 deletionsdrivers/nvdimm/dimm.c
- drivers/nvdimm/dimm_devs.c 29 additions, 1 deletiondrivers/nvdimm/dimm_devs.c
- drivers/nvdimm/label.c 290 additions, 0 deletionsdrivers/nvdimm/label.c
- drivers/nvdimm/label.h 128 additions, 0 deletionsdrivers/nvdimm/label.h
- drivers/nvdimm/nd.h 49 additions, 0 deletionsdrivers/nvdimm/nd.h
- include/uapi/linux/ndctl.h 0 additions, 1 deletioninclude/uapi/linux/ndctl.h
Please register or sign in to comment