aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/target/target_core_rd.h
diff options
context:
space:
mode:
authorNicholas Bellinger <nab@linux-iscsi.org>2014-01-07 23:24:14 +0000
committerNicholas Bellinger <nab@linux-iscsi.org>2014-01-19 02:22:05 +0000
commitd7e8eb5d9216c6a4f963aa6d07e29680af17d739 (patch)
tree2697c2a5e59174ce97e5e393b01edd32b8a55462 /drivers/target/target_core_rd.h
parenttarget/rd: Refactor rd_build_device_space + rd_release_device_space (diff)
downloadlinux-dev-d7e8eb5d9216c6a4f963aa6d07e29680af17d739.tar.xz
linux-dev-d7e8eb5d9216c6a4f963aa6d07e29680af17d739.zip
target/rd: Add support for protection SGL setup + release
This patch adds rd_build_prot_space() + rd_release_prot_space() logic to setup + release protection information scatterlists. It also adds rd_init_prot() + rd_free_prot() se_subsystem_api callbacks used by target core code for setup + release of protection information. v2 changes: - Drop unused sg_table from rd_release_prot_space (Wei) - Drop rd_release_prot_space call from rd_free_device 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>
Diffstat (limited to 'drivers/target/target_core_rd.h')
-rw-r--r--drivers/target/target_core_rd.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/target/target_core_rd.h b/drivers/target/target_core_rd.h
index 1789d1e14395..cc46a6a89b38 100644
--- a/drivers/target/target_core_rd.h
+++ b/drivers/target/target_core_rd.h
@@ -33,8 +33,12 @@ struct rd_dev {
u32 rd_page_count;
/* Number of SG tables in sg_table_array */
u32 sg_table_count;
+ /* Number of SG tables in sg_prot_array */
+ u32 sg_prot_count;
/* Array of rd_dev_sg_table_t containing scatterlists */
struct rd_dev_sg_table *sg_table_array;
+ /* Array of rd_dev_sg_table containing protection scatterlists */
+ struct rd_dev_sg_table *sg_prot_array;
/* Ramdisk HBA device is connected to */
struct rd_host *rd_host;
} ____cacheline_aligned;