linux/drivers/target
Paolo Bonzini 7a3f369ce3 target: fix truncation of mode data, support zero allocation length
The offset was not bumped back to the full size after writing the
header of the MODE SENSE response, so the last 1 or 2 bytes were
not copied.

On top of this, support zero-length requests by checking for the
return value of transport_kmap_data_sg.

Testcase: sg_raw -r20 /dev/sdb 5a 00 0a 00 00 00 00 00 14 00
    last byte should be 0x1e
    it is 0x00 without the patch
    it is correct with the patch

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Cc: stable@vger.kernel.org
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
2012-09-17 17:13:37 -07:00
..
iscsi target/iscsi: Don't log "iSCSI Login negotiation failed." twice 2012-09-17 17:13:35 -07:00
loopback target: Simplify fabric sense data length handling 2012-09-17 17:12:58 -07:00
sbp target: use list_move_tail instead of list_del/list_add_tail 2012-09-17 17:13:36 -07:00
tcm_fc tcm_fc: remove unused including <generated/utsrelease.h> 2012-09-17 17:13:33 -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: Fix minor spelling typos in drivers/target 2012-09-17 17:13:31 -07:00
target_core_alua.h target: Add MI_REPORT_TARGET_PGS ext. header + implict_trans_secs attribute 2012-05-17 00:45:58 -07:00
target_core_configfs.c target: Fix minor spelling typos in drivers/target 2012-09-17 17:13:31 -07:00
target_core_device.c target: Drop se_subsystem_api->[write_cache,fua_write]_emulated flags 2012-09-17 17:13:34 -07:00
target_core_fabric_configfs.c target: remove unused including <generated/utsrelease.h> 2012-09-17 17:13:34 -07:00
target_core_fabric_lib.c target: Fix minor spelling typos in drivers/target 2012-09-17 17:13:31 -07:00
target_core_file.c target: Drop se_subsystem_api->[write_cache,fua_write]_emulated flags 2012-09-17 17:13:34 -07:00
target_core_file.h target/file: Use O_DSYNC by default for FILEIO backends 2012-06-02 23:47:20 -07:00
target_core_hba.c target: header reshuffle, part2 2011-12-14 11:26:05 +00:00
target_core_iblock.c target: Drop se_subsystem_api->[write_cache,fua_write]_emulated flags 2012-09-17 17:13:34 -07:00
target_core_iblock.h target/iblock: Add parameter to specify read-only devices 2012-07-16 17:29:11 -07:00
target_core_internal.h target: refactor core_update_device_list_for_node() 2012-07-16 17:35:24 -07:00
target_core_pr.c target: Fix minor spelling typos in drivers/target 2012-09-17 17:13:31 -07:00
target_core_pr.h target: replace ->execute_task with ->execute_cmd 2012-05-06 15:11:14 -07:00
target_core_pscsi.c target: Fix minor spelling typos in drivers/target 2012-09-17 17:13:31 -07:00
target_core_pscsi.h target: remove struct se_task 2012-05-06 15:11:26 -07:00
target_core_rd.c target: Drop se_subsystem_api->[write_cache,fua_write]_emulated flags 2012-09-17 17:13:34 -07:00
target_core_rd.h target: don't limit transfer sizes for the ramdisk backend 2012-04-14 17:40:30 -07:00
target_core_sbc.c target: move unmap to struct spc_ops 2012-07-16 17:35:14 -07:00
target_core_spc.c target: fix truncation of mode data, support zero allocation length 2012-09-17 17:13:37 -07:00
target_core_stat.c target: remove unused including <generated/utsrelease.h> 2012-09-17 17:13:34 -07:00
target_core_tmr.c target: replace the processing thread with a TMR work queue 2012-07-16 17:35:21 -07:00
target_core_tpg.c target: Fix minor spelling typos in drivers/target 2012-09-17 17:13:31 -07:00
target_core_transport.c target: Fix minor spelling typos in drivers/target 2012-09-17 17:13:31 -07:00
target_core_ua.c target: Use array_zalloc for device_list 2012-03-15 19:15:51 -07:00
target_core_ua.h