linux/drivers/nvdimm
Dan Williams b3fde74ea1 libnvdimm, label: add address abstraction identifiers
Starting with v1.2 labels, 'address abstractions' can be hinted via an
address abstraction id that implies an info-block format. The standard
address abstraction in the specification is the v2 format of the
Block-Translation-Table (BTT). Support for that is saved for a later
patch, for now we add support for the Linux supported address
abstractions BTT (v1), PFN, and DAX.

The new 'holder_class' attribute for namespace devices is added for
tooling to specify the 'abstraction_guid' to store in the namespace label.
For v1.1 labels this field is undefined and any setting of
'holder_class' away from the default 'none' value will only have effect
until the driver is unloaded. Setting 'holder_class' requires that
whatever device tries to claim the namespace must be of the specified
class.

Cc: Vishal Verma <vishal.l.verma@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2017-06-15 14:31:40 -07:00
..
blk.c libnvdimm: add an atomic vs process context flag to rw_bytes 2017-05-10 21:46:22 -07:00
btt.c libnvdimm, btt: ensure that initializing metadata clears poison 2017-05-10 21:46:22 -07:00
btt.h libnvdimm, btt: consolidate arena validation 2015-08-14 13:43:04 -04:00
btt_devs.c libnvdimm, label: add address abstraction identifiers 2017-06-15 14:31:40 -07:00
bus.c libnvdimm: rework region badblocks clearing 2017-04-29 15:24:03 -07:00
claim.c libnvdimm, label: add address abstraction identifiers 2017-06-15 14:31:40 -07:00
core.c libnvdimm, label: add address abstraction identifiers 2017-06-15 14:31:40 -07:00
dax_devs.c libnvdimm, label: add address abstraction identifiers 2017-06-15 14:31:40 -07:00
dimm.c libnvdimm: handle locked label storage areas 2017-05-04 15:41:39 -07:00
dimm_devs.c treewide: use kv[mz]alloc* rather than opencoded variants 2017-05-08 17:15:13 -07:00
e820.c libnvdimm, e820: use module_platform_driver 2016-12-05 08:52:21 -08:00
Kconfig pmem: add dax_operations support 2017-04-19 15:14:35 -07:00
label.c libnvdimm, label: add address abstraction identifiers 2017-06-15 14:31:40 -07:00
label.h libnvdimm, label: add address abstraction identifiers 2017-06-15 14:31:40 -07:00
Makefile libnvdimm, dax: introduce device-dax infrastructure 2016-05-09 15:35:42 -07:00
namespace_devs.c libnvdimm, label: add address abstraction identifiers 2017-06-15 14:31:40 -07:00
nd-core.h libnvdimm: fix clear poison locking with spinlock and GFP_NOWAIT allocation 2017-04-13 14:23:51 -07:00
nd.h libnvdimm, label: add address abstraction identifiers 2017-06-15 14:31:40 -07:00
pfn.h libnvdimm, dax: autodetect support 2016-05-20 22:02:57 -07:00
pfn_devs.c libnvdimm, label: add address abstraction identifiers 2017-06-15 14:31:40 -07:00
pmem.c libnvdimm, label: honor the lba size specified in v1.2 labels 2017-06-15 14:31:39 -07:00
pmem.h pmem: add dax_operations support 2017-04-19 15:14:35 -07:00
region.c libnvdimm: rework region badblocks clearing 2017-04-29 15:24:03 -07:00
region_devs.c libnvdimm, label: add v1.2 interleave-set-cookie algorithm 2017-06-15 14:31:39 -07:00