target/iblock: Add blk_integrity + BIP passthrough support
authorNicholas Bellinger <nab@linux-iscsi.org>
Mon, 23 Dec 2013 20:31:24 +0000 (20:31 +0000)
committerNicholas Bellinger <nab@linux-iscsi.org>
Sat, 18 Jan 2014 10:14:22 +0000 (10:14 +0000)
commitecebbf6ccbca58b4470f092cfb0644df59ea05dd
tree62bf3d2934841d0076315eddf23f17bc0985c0ac
parentdef2b339b422070ecb99298a80e4b15033adc0ce
target/iblock: Add blk_integrity + BIP passthrough support

This patch adds blk_integrity passthrough support for block_device
backends using IBLOCK.

This includes iblock_alloc_bip() + setup of bio_integrity_payload
information that attaches to the leading struct bio once bio_list
is populated during fast-path iblock_execute_rw() I/O dispatch.

It also updates setup in iblock_configure_device() to detect modes
of protection + se dev->dev_attrib.pi_prot_type accordingly, along
with creating required bio_set integrity mempools.

Cc: Martin K. Petersen <martin.petersen@oracle.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Hannes Reinecke <hare@suse.de>
Cc: Sagi Grimberg <sagig@mellanox.com>
Cc: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
drivers/target/Kconfig
drivers/target/target_core_iblock.c