summaryrefslogtreecommitdiff
path: root/drivers/nvdimm/region.c
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2015-06-17 17:14:46 -0400
committerDan Williams <dan.j.williams@intel.com>2015-06-24 21:24:10 -0400
commitbf9bccc14c05dae8caba29df6187c731710f5380 (patch)
treecbf00a172bc70598748231748ca2ad14867063ad /drivers/nvdimm/region.c
parent4a826c83db4edc040da3a66dbefd53f0cfcf457d (diff)
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>
Diffstat (limited to 'drivers/nvdimm/region.c')
-rw-r--r--drivers/nvdimm/region.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/nvdimm/region.c b/drivers/nvdimm/region.c
index ade3dba81afd..9aba44e483e0 100644
--- a/drivers/nvdimm/region.c
+++ b/drivers/nvdimm/region.c
@@ -61,8 +61,11 @@ static int child_unregister(struct device *dev, void *data)
static int nd_region_remove(struct device *dev)
{
+ struct nd_region *nd_region = to_nd_region(dev);
+
/* flush attribute readers and disable */
nvdimm_bus_lock(dev);
+ nd_region->ns_seed = NULL;
dev_set_drvdata(dev, NULL);
nvdimm_bus_unlock(dev);