]> www.infradead.org Git - users/jedix/linux-maple.git/commit
libnvdimm: blk labels and namespace instantiation
authorDan Williams <dan.j.williams@intel.com>
Fri, 1 May 2015 17:34:01 +0000 (13:34 -0400)
committerDan Duval <dan.duval@oracle.com>
Tue, 11 Oct 2016 18:37:23 +0000 (14:37 -0400)
commitb9ca4b175aab32f84422807a50e07760dcbe4dc6
treef45573433c1a0facfd3956d0c0965f42447ffc3d
parent5bec9fbdee8be546d635a212a2dcc6babca0066c
libnvdimm: blk labels and namespace instantiation

Orabug: 22913653

A blk label set describes a namespace comprised of one or more
discontiguous dpa ranges on a single dimm.  They may alias with one or
more pmem interleave sets that include the given dimm.

This is the runtime/volatile configuration infrastructure for sysfs
manipulation of 'alt_name', 'uuid', 'size', and 'sector_size'.  A later
patch will make these settings persistent by writing back the label(s).

Unlike pmem namespaces, multiple blk namespaces can be created per
region.  Once a blk namespace has been created a new seed device
(unconfigured child of a parent blk region) is instantiated.  As long as
a region has 'available_size' != 0 new child namespaces may be created.

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>
(cherry picked from commit 1b40e09a1232de537b193fa1b6b3ef16d3a1e397)
Signed-off-by: Dan Duval <dan.duval@oracle.com>
drivers/nvdimm/core.c
drivers/nvdimm/dimm_devs.c
drivers/nvdimm/namespace_devs.c
drivers/nvdimm/nd-core.h
drivers/nvdimm/nd.h
drivers/nvdimm/region_devs.c
include/linux/libnvdimm.h
include/linux/nd.h