target: Do memory allocation for bidi commands using target_alloc_sgl
authorNicholas Bellinger <nab@daterainc.com>
Sun, 25 Aug 2013 23:10:57 +0000 (16:10 -0700)
committerNicholas Bellinger <nab@linux-iscsi.org>
Mon, 9 Sep 2013 21:29:32 +0000 (14:29 -0700)
commit8cefe07b5e9c2b0212ad6809a219e4489807a746
tree7396ced8cbb14370c506479a307a38790e41a7be
parent200939940e040fa11609956a09c78a5782310c61
target: Do memory allocation for bidi commands using target_alloc_sgl

This patch updates transport_generic_new_cmd() to call target_alloc_sgl()
for SGL + page memory allocation for se_cmd->t_bidi_data_sg.

It also adds the special case for SCF_COMPARE_AND_WRITE to calculate a
different bidi_length based upon se_cmd->t_task_nolb.

Reported-by: Christoph Hellwig <hch@lst.de>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Hannes Reinecke <hare@suse.de>
Cc: Martin Petersen <martin.petersen@oracle.com>
Cc: Chris Mason <chris.mason@fusionio.com>
Cc: James Bottomley <JBottomley@Parallels.com>
Cc: Nicholas Bellinger <nab@linux-iscsi.org>
Signed-off-by: Nicholas Bellinger <nab@daterainc.com>
drivers/target/target_core_transport.c