]> www.infradead.org Git - users/jedix/linux-maple.git/commit
libnvdimm: infrastructure for btt devices
authorDan Williams <dan.j.williams@intel.com>
Thu, 25 Jun 2015 08:20:04 +0000 (04:20 -0400)
committerDan Duval <dan.duval@oracle.com>
Tue, 11 Oct 2016 18:38:13 +0000 (14:38 -0400)
commitd1967e915cd9fd924ab4fbdc1327ef6506ddacfc
tree44b15f7fa473a4e81a99dfe5902d7b8bd27acc66
parentedcbaa8f34e88db33965e4ba90192e6aa9990f1e
libnvdimm: infrastructure for btt devices

Orabug: 22913653

NVDIMM namespaces, in addition to accepting "struct bio" based requests,
also have the capability to perform byte-aligned accesses.  By default
only the bio/block interface is used.  However, if another driver can
make effective use of the byte-aligned capability it can claim namespace
interface and use the byte-aligned ->rw_bytes() interface.

The BTT driver is the initial first consumer of this mechanism to allow
adding atomic sector update semantics to a pmem or blk namespace.  This
patch is the sysfs infrastructure to allow configuring a BTT instance
for a namespace.  Enabling that BTT and performing i/o is in a
subsequent patch.

Cc: Greg KH <gregkh@linuxfoundation.org>
Cc: Neil Brown <neilb@suse.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
(cherry picked from commit 8c2f7e8658df1d3b7cbfa62706941d14c715823a)
Signed-off-by: Dan Duval <dan.duval@oracle.com>
13 files changed:
drivers/nvdimm/Kconfig
drivers/nvdimm/Makefile
drivers/nvdimm/btt.h [new file with mode: 0644]
drivers/nvdimm/btt_devs.c [new file with mode: 0644]
drivers/nvdimm/bus.c
drivers/nvdimm/label.c
drivers/nvdimm/namespace_devs.c
drivers/nvdimm/nd-core.h
drivers/nvdimm/nd.h
drivers/nvdimm/pmem.c
drivers/nvdimm/region.c
drivers/nvdimm/region_devs.c
include/linux/nd.h