linux-sg2042/drivers/target
Roland Dreier 59e4f541ba target: Return error to initiator if SET TARGET PORT GROUPS emulation fails
The error paths in target_emulate_set_target_port_groups() are all
essentially "rc = -EINVAL; goto out;" but the code at "out:" ignores
rc and always returns success.  This means that even if eg explicit
ALUA is turned off, the initiator will always see a good SCSI status
for SET TARGET PORT GROUPS.

Fix this by returning rc as is intended.  It appears this bug was
added by the following patch:

commit 05d1c7c0d0
Author: Andy Grover <agrover@redhat.com>
Date:   Wed Jul 20 19:13:28 2011 +0000

    target: Make all control CDBs scatter-gather

Signed-off-by: Roland Dreier <roland@purestorage.com>
Cc: Andy Grover <agrover@redhat.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
2012-06-12 20:12:25 -07:00
..
iscsi iscsi-target: Fix iov_count calculation bug in iscsit_allocate_iovecs 2012-05-20 17:25:24 -07:00
loopback target: Rename target_allocate_tasks to target_setup_cmd_from_cdb 2012-04-14 17:40:36 -07:00
sbp sbp-target: rename a variable to avoid name clash 2012-05-30 16:15:33 -07:00
tcm_fc tcm_fc: Remove use of transport_do_task_sg_chain() 2012-04-14 17:40:31 -07:00
Kconfig sbp-target: Initial merge of firewire/ieee-1394 target mode support 2012-05-09 15:25:17 -07:00
Makefile sbp-target: Initial merge of firewire/ieee-1394 target mode support 2012-05-09 15:25:17 -07:00
target_core_alua.c target: Return error to initiator if SET TARGET PORT GROUPS emulation fails 2012-06-12 20:12:25 -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_cdb.c target: Remove max_sectors device attribute for modern se_task less code 2012-05-09 15:08:47 -07:00
target_core_configfs.c target: Add MI_REPORT_TARGET_PGS ext. header + implict_trans_secs attribute 2012-05-17 00:45:58 -07:00
target_core_device.c target: Remove max_sectors device attribute for modern se_task less code 2012-05-09 15:08:47 -07:00
target_core_fabric_configfs.c target: Use array_zalloc for device_list 2012-03-15 19:15:51 -07:00
target_core_fabric_lib.c target: remove useless casts 2011-12-14 11:28:07 +00:00
target_core_file.c target/file: Use O_DSYNC by default for FILEIO backends 2012-06-02 23:47:20 -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: remove struct se_task 2012-05-06 15:11:26 -07:00
target_core_iblock.h target: remove struct se_task 2012-05-06 15:11:26 -07:00
target_core_internal.h target: move the state and execute lists to the command 2012-05-06 15:11:26 -07:00
target_core_pr.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2012-05-21 17:37:09 -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: remove struct se_task 2012-05-06 15:11:26 -07:00
target_core_pscsi.h target: remove struct se_task 2012-05-06 15:11:26 -07:00
target_core_rd.c target: remove struct se_task 2012-05-06 15:11:26 -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_stat.c target: remove obvious warnings 2012-03-15 19:16:09 -07:00
target_core_tmr.c target: remove the t_task_cdbs_ex_left field in struct se_cmd 2012-05-06 15:11:27 -07:00
target_core_tpg.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2012-05-21 17:37:09 -07:00
target_core_transport.c target: Add TFO->put_session() caller for HW fabric session shutdown 2012-06-12 19:33:05 -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