diff options
author | Dan Williams <dan.j.williams@intel.com> | 2015-10-21 20:20:29 +0300 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2015-10-21 23:43:45 +0300 |
commit | 4125a09b0a0d579ebace17f0e62b03ab9d5ab2f4 (patch) | |
tree | d2e073b3985850b1ea2a8e7ba9a414a6427f463f /drivers/nvme | |
parent | 5a48fc147d7f2718a5c7e73bc8c4067235791fc1 (diff) | |
download | linux-4125a09b0a0d579ebace17f0e62b03ab9d5ab2f4.tar.xz |
block, libnvdimm, nvme: provide a built-in blk_integrity nop profile
The libnvidmm-btt and nvme drivers use blk_integrity to reserve space
for per-sector metadata, but sometimes without protection checksums.
This property is generically useful, so teach the block core to
internally specify a nop profile if one is not provided at registration
time.
Cc: Keith Busch <keith.busch@intel.com>
Cc: Matthew Wilcox <willy@linux.intel.com>
Suggested-by: Christoph Hellwig <hch@lst.de>
[hch: kill the local nvme nop profile as well]
Acked-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'drivers/nvme')
-rw-r--r-- | drivers/nvme/host/pci.c | 18 |
1 files changed, 1 insertions, 17 deletions
diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c index 2fa28680ad0f..9bea542afc4f 100644 --- a/drivers/nvme/host/pci.c +++ b/drivers/nvme/host/pci.c @@ -548,22 +548,6 @@ static void nvme_dif_remap(struct request *req, kunmap_atomic(pmap); } -static int nvme_noop_verify(struct blk_integrity_iter *iter) -{ - return 0; -} - -static int nvme_noop_generate(struct blk_integrity_iter *iter) -{ - return 0; -} - -struct blk_integrity_profile nvme_meta_noop = { - .name = "NVME_META_NOOP", - .generate_fn = nvme_noop_generate, - .verify_fn = nvme_noop_verify, -}; - static void nvme_init_integrity(struct nvme_ns *ns) { struct blk_integrity integrity; @@ -577,7 +561,7 @@ static void nvme_init_integrity(struct nvme_ns *ns) integrity.profile = &t10_pi_type1_crc; break; default: - integrity.profile = &nvme_meta_noop; + integrity.profile = NULL; break; } integrity.tuple_size = ns->ms; |