libnvdimm: pmem label sets and namespace instantiation.
A complete label set is a PMEM-label per-dimm per-interleave-set where all the UUIDs match and the interleave set cookie matches the hosting interleave set. Present sysfs attributes for manipulation of a PMEM-namespace's 'alt_name', 'uuid', and 'size' attributes. A later patch will make these settings persistent by writing back the label. Note that PMEM allocations grow forwards from the start of an interleave set (lowest dimm-physical-address (DPA)). BLK-namespaces that alias with a PMEM interleave set will grow allocations backward from the highest DPA. Cc: Greg KH <gregkh@linuxfoundation.org> 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/bus.c 6 additions, 2 deletionsdrivers/nvdimm/bus.c
- drivers/nvdimm/core.c 64 additions, 0 deletionsdrivers/nvdimm/core.c
- drivers/nvdimm/dimm.c 4 additions, 17 deletionsdrivers/nvdimm/dimm.c
- drivers/nvdimm/dimm_devs.c 137 additions, 0 deletionsdrivers/nvdimm/dimm_devs.c
- drivers/nvdimm/label.c 54 additions, 1 deletiondrivers/nvdimm/label.c
- drivers/nvdimm/label.h 2 additions, 0 deletionsdrivers/nvdimm/label.h
- drivers/nvdimm/namespace_devs.c 1000 additions, 2 deletionsdrivers/nvdimm/namespace_devs.c
- drivers/nvdimm/nd-core.h 12 additions, 0 deletionsdrivers/nvdimm/nd-core.h
- drivers/nvdimm/nd.h 17 additions, 0 deletionsdrivers/nvdimm/nd.h
- drivers/nvdimm/pmem.c 19 additions, 1 deletiondrivers/nvdimm/pmem.c
- drivers/nvdimm/region.c 3 additions, 0 deletionsdrivers/nvdimm/region.c
- drivers/nvdimm/region_devs.c 150 additions, 8 deletionsdrivers/nvdimm/region_devs.c
- include/linux/libnvdimm.h 10 additions, 0 deletionsinclude/linux/libnvdimm.h
- include/linux/nd.h 24 additions, 0 deletionsinclude/linux/nd.h
- include/uapi/linux/ndctl.h 4 additions, 0 deletionsinclude/uapi/linux/ndctl.h
Please register or sign in to comment