aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/megaraid/megaraid_sas_base.c
diff options
context:
space:
mode:
authorGabriel Krisman Bertazi <krisman@collabora.com>2020-01-06 13:58:17 -0500
committerMartin K. Petersen <martin.petersen@oracle.com>2020-01-15 22:55:37 -0500
commitf3c893e3dbb5d94f94072f7b1f2a8aece6240e7e (patch)
treed932e4d35db11c7d0a4bfe2dccd2fb7c994e15d7 /drivers/scsi/megaraid/megaraid_sas_base.c
parentscsi: drivers: base: Propagate errors through the transport component (diff)
downloadlinux-dev-f3c893e3dbb5d94f94072f7b1f2a8aece6240e7e.tar.xz
linux-dev-f3c893e3dbb5d94f94072f7b1f2a8aece6240e7e.zip
scsi: iscsi: Fail session and connection on transport registration failure
If the transport cannot be registered, the session/connection creation needs to be failed early to let the initiator know. Otherwise, the system will have an outstanding connection that cannot be used nor removed by open-iscsi. The result is similar to the error below, triggered by injecting a failure in the transport's registration path. openiscsi reports success: root@debian-vm:~# iscsiadm -m node -T iqn:lun1 -p 127.0.0.1 -l Logging in to [iface: default, target: iqn:lun1, portal: 127.0.0.1,3260] Login to [iface: default, target: iqn:lun1, portal:127.0.0.1,3260] successful. But cannot remove the session afterwards, since the kernel is in an inconsistent state. root@debian-vm:~# iscsiadm -m node -T iqn:lun1 -p 127.0.0.1 -u iscsiadm: No matching sessions found Link: https://lore.kernel.org/r/20200106185817.640331-4-krisman@collabora.com Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions