target: ->map_task_SG conversion to ->map_control_SG and ->map_data_SG
authorNicholas Bellinger <nab@linux-iscsi.org>
Thu, 21 Jul 2011 04:41:48 +0000 (04:41 +0000)
committerNicholas Bellinger <nab@linux-iscsi.org>
Fri, 22 Jul 2011 09:37:48 +0000 (09:37 +0000)
commit1d20bb6147954d4fbd337a3d1b40c7eeae254cd7
tree23dcdd9376c5e26acfd2817812e2d5ccfbf81149
parent6708bb27bb2703da238f21f516034263348af5be
target: ->map_task_SG conversion to ->map_control_SG and ->map_data_SG

This patch breaks up the ->map_task_SG() backend call into two seperate
->map_control_SG() and ->map_data_SG() in order to better address
IBLOCK and pSCSI.  IBLOCK only allocates bios for ->map_data_SG(), and
pSCSI will allocate a struct request for both cases.

This patch fixes incorrect usage of ->map_task_SG() for all se_cmd descriptors
in transport_generic_new_cmd() by moving the call into it's proper location
directly inside of transport_allocate_data_tasks()

Reported-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
drivers/target/target_core_iblock.c
drivers/target/target_core_pscsi.c
drivers/target/target_core_transport.c
include/target/target_core_transport.h