nvme: only setup block integrity if supported by the driver
authorChristoph Hellwig <hch@lst.de>
Sat, 20 May 2017 13:14:45 +0000 (15:14 +0200)
committerChristoph Hellwig <hch@lst.de>
Fri, 26 May 2017 06:54:23 +0000 (09:54 +0300)
commitc81bfba9983fc44210d3eb5971e0faac597bf50d
tree0b9009c4b6f35a08c1d3fc93082989901de01739
parentd3d5b87ddde09bade512526f6df90e8c06c28230
nvme: only setup block integrity if supported by the driver

Currently only the PCIe driver supports metadata, so we should not claim
integrity support for the other drivers.  This prevents nasty crashes
with targets that advertise metadata support on fabrics.

Also use the opportunity to factor out some code into a separate helper
that isn't even compiled if CONFIG_BLK_DEV_INTEGRITY is disabled.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Keith Busch <keith.busch@intel.com>
drivers/nvme/host/core.c
drivers/nvme/host/nvme.h
drivers/nvme/host/pci.c