linux/drivers/target
Nicholas Bellinger a82a9538dd target: Allow sbc_ops->execute_rw() to accept SGLs + data_direction
COMPARE_AND_WRITE expects to be able to send down a DMA_FROM_DEVICE
to obtain the necessary READ payload for comparision against the
first half of the WRITE payload containing the verify user data.

Currently virtual backends expect to internally reference SGLs,
SGL nents, and data_direction, so change IBLOCK, FILEIO and RD
sbc_ops->execute_rw() to accept this values as function parameters.

Also add default sbc_execute_rw() handler for the typical case for
cmd->execute_rw() submission using cmd->t_data_sg, cmd->t_data_nents,
and cmd->data_direction).

v2 Changes:
  - Add SCF_COMPARE_AND_WRITE command flag
  - Use sbc_execute_rw() for normal cmd->execute_rw() submission
    with expected se_cmd members.

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>
2013-09-09 14:29:28 -07:00
..
iscsi iscsi-target: Convert to per-cpu ida_alloc + ida_free command map 2013-09-09 14:29:22 -07:00
loopback target: make queue_tm_rsp() return void 2013-07-07 18:36:53 -07:00
sbp target: make queue_tm_rsp() return void 2013-07-07 18:36:53 -07:00
tcm_fc target: replace strict_strto*() with kstrto*() 2013-08-12 20:31:44 -07:00
Kconfig sbp-target: Initial merge of firewire/ieee-1394 target mode support 2012-05-09 15:25:17 -07:00
Makefile target: move code for CDB emulation 2012-07-16 17:27:45 -07:00
target_core_alua.c target: replace strict_strto*() with kstrto*() 2013-08-12 20:31:44 -07:00
target_core_alua.h target: pass sense_reason as a return value 2012-11-06 20:55:46 -08:00
target_core_configfs.c target: replace strict_strto*() with kstrto*() 2013-08-12 20:31:44 -07:00
target_core_device.c target: Make virtual_lun0 a nullio device 2013-06-14 00:27:32 -07:00
target_core_fabric_configfs.c target: replace strict_strto*() with kstrto*() 2013-08-12 20:31:44 -07:00
target_core_fabric_lib.c target: Update copyright information to 2012 2012-11-27 22:47:02 -08:00
target_core_file.c target: Allow sbc_ops->execute_rw() to accept SGLs + data_direction 2013-09-09 14:29:28 -07:00
target_core_file.h target/file: Bump FD_MAX_SECTORS to 2048 to handle 1M sized I/Os 2013-03-19 17:24:28 -07:00
target_core_hba.c target: Update copyright information to 2012 2012-11-27 22:47:02 -08:00
target_core_iblock.c target: Allow sbc_ops->execute_rw() to accept SGLs + data_direction 2013-09-09 14:29:28 -07:00
target_core_iblock.h target: kill struct se_subsystem_dev 2012-11-06 20:55:43 -08:00
target_core_internal.h target: Remove unused struct members in se_dev_entry 2013-05-03 16:42:18 -07:00
target_core_pr.c target: Make core_scsi3_update_and_write_aptpl return sense_reason_t 2013-07-03 19:44:33 -07:00
target_core_pr.h target: Alter core_pr_dump_initiator_port for ease of use 2013-06-14 00:04:31 -07:00
target_core_pscsi.c target/pscsi: remove an unneeded check 2013-09-09 14:29:23 -07:00
target_core_pscsi.h target: kill struct se_subsystem_dev 2012-11-06 20:55:43 -08:00
target_core_rd.c target: Allow sbc_ops->execute_rw() to accept SGLs + data_direction 2013-09-09 14:29:28 -07:00
target_core_rd.h target/rd: Add ramdisk bit for NULLIO operation 2013-05-11 16:22:39 -07:00
target_core_sbc.c target: Allow sbc_ops->execute_rw() to accept SGLs + data_direction 2013-09-09 14:29:28 -07:00
target_core_spc.c target: Fix parameter list length checking in MODE SELECT 2013-02-13 12:16:11 -08:00
target_core_stat.c target: Update copyright information to 2012 2012-11-27 22:47:02 -08:00
target_core_tmr.c target: Remove legacy t_fe_count + avoid t_state_lock access in transport_put_cmd 2013-06-20 14:10:41 -07:00
target_core_tpg.c target: fix possible memory leak in core_tpg_register() 2013-03-18 12:45:52 -07:00
target_core_transport.c target: Add TCM_MISCOMPARE_VERIFY sense handling 2013-09-09 14:29:27 -07:00
target_core_ua.c target: Update copyright information to 2012 2012-11-27 22:47:02 -08:00
target_core_ua.h target: pass sense_reason as a return value 2012-11-06 20:55:46 -08:00