mirror of
https://github.com/torvalds/linux.git
synced 2026-06-09 23:23:53 +02:00
target: Fix incorrect fallthrough of ALUA Standby/Offline/Transition CDBs
commit 30f359a6f9 upstream.
This patch fixes a bug where a handful of informational / control CDBs
that should be allowed during ALUA access state Standby/Offline/Transition
where incorrectly returning CHECK_CONDITION + ASCQ_04H_ALUA_TG_PT_*.
This includes INQUIRY + REPORT_LUNS, which would end up preventing LUN
registration when LUN scanning occured during these ALUA access states.
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Cc: Hannes Reinecke <hare@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
e0b4cef344
commit
eced4ec1b6
|
|
@ -392,6 +392,7 @@ static inline int core_alua_state_standby(
|
|||
case REPORT_LUNS:
|
||||
case RECEIVE_DIAGNOSTIC:
|
||||
case SEND_DIAGNOSTIC:
|
||||
return 0;
|
||||
case MAINTENANCE_IN:
|
||||
switch (cdb[1]) {
|
||||
case MI_REPORT_TARGET_PGS:
|
||||
|
|
@ -434,6 +435,7 @@ static inline int core_alua_state_unavailable(
|
|||
switch (cdb[0]) {
|
||||
case INQUIRY:
|
||||
case REPORT_LUNS:
|
||||
return 0;
|
||||
case MAINTENANCE_IN:
|
||||
switch (cdb[1]) {
|
||||
case MI_REPORT_TARGET_PGS:
|
||||
|
|
@ -474,6 +476,7 @@ static inline int core_alua_state_transition(
|
|||
switch (cdb[0]) {
|
||||
case INQUIRY:
|
||||
case REPORT_LUNS:
|
||||
return 0;
|
||||
case MAINTENANCE_IN:
|
||||
switch (cdb[1]) {
|
||||
case MI_REPORT_TARGET_PGS:
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user