libnvdimm, btt: update the usage section in Documentation

Section 5 about BTT's in kernel usage was quite obsolete,
replace it with a simple 'Usage' section that describes how
to set up a BTT namespace using the 'ndctl' utility.

Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
This commit is contained in:
Vishal Verma 2016-05-27 12:43:45 -06:00 committed by Dan Williams
parent f02716db95
commit 0aefa05420

View File

@ -256,28 +256,18 @@ If any of these error conditions are encountered, the arena is put into a read
only state using a flag in the info block. only state using a flag in the info block.
5. In-kernel usage 5. Usage
================== ========
Any block driver that supports byte granularity IO to the storage may register The BTT can be set up on any disk (namespace) exposed by the libnvdimm subsystem
with the BTT. It will have to provide the rw_bytes interface in its (pmem, or blk mode). The easiest way to set up such a namespace is using the
block_device_operations struct: 'ndctl' utility [1]:
int (*rw_bytes)(struct gendisk *, void *, size_t, off_t, int rw); For example, the ndctl command line to setup a btt with a 4k sector size is:
It may register with the BTT after it adds its own gendisk, using btt_init: ndctl create-namespace -f -e namespace0.0 -m sector -l 4k
struct btt *btt_init(struct gendisk *disk, unsigned long long rawsize, See ndctl create-namespace --help for more options.
u32 lbasize, u8 uuid[], int maxlane);
note that maxlane is the maximum amount of concurrency the driver wishes to [1]: https://github.com/pmem/ndctl
allow the BTT to use.
The BTT 'disk' appears as a stacked block device that grabs the underlying block
device in the O_EXCL mode.
When the driver wishes to remove the backing disk, it should similarly call
btt_fini using the same struct btt* handle that was provided to it by btt_init.
void btt_fini(struct btt *btt);