diff options
author | Dan Williams <dan.j.williams@intel.com> | 2015-06-25 11:20:04 +0300 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2015-06-25 11:20:04 +0300 |
commit | 8c2f7e8658df1d3b7cbfa62706941d14c715823a (patch) | |
tree | ac93512841113f4d1d7a38d788ec73bb21e2d605 /drivers/nvdimm/label.c | |
parent | 0ba1c634892b3590779803a701bcb82e8c32cc7a (diff) | |
download | linux-8c2f7e8658df1d3b7cbfa62706941d14c715823a.tar.xz |
libnvdimm: infrastructure for btt devices
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>
Diffstat (limited to 'drivers/nvdimm/label.c')
-rw-r--r-- | drivers/nvdimm/label.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/nvdimm/label.c b/drivers/nvdimm/label.c index 34148003fc73..96526dcfdd37 100644 --- a/drivers/nvdimm/label.c +++ b/drivers/nvdimm/label.c @@ -666,7 +666,7 @@ static int __blk_label_update(struct nd_region *nd_region, /* don't allow updates that consume the last label */ if (nfree - alloc < 0 || nfree - alloc + victims < 1) { - dev_info(&nsblk->dev, "insufficient label space\n"); + dev_info(&nsblk->common.dev, "insufficient label space\n"); kfree(victim_map); return -ENOSPC; } @@ -762,7 +762,8 @@ static int __blk_label_update(struct nd_region *nd_region, continue; res = to_resource(ndd, nd_label); res->flags &= ~DPA_RESOURCE_ADJUSTED; - dev_vdbg(&nsblk->dev, "assign label[%d] slot: %d\n", l, slot); + dev_vdbg(&nsblk->common.dev, "assign label[%d] slot: %d\n", + l, slot); nd_mapping->labels[l++] = nd_label; } nd_mapping->labels[l] = NULL; |