forked from luck/tmp_suning_uos_patched
fe0a8a95e7
iSCSI NOPs are sometimes "lost", mistakenly sent to the user-land iscsid daemon instead of handled in the kernel, as they should be, resulting in a message from the daemon like: iscsid: Got nop in, but kernel supports nop handling. This can occur because of the new forward- and back-locks, and the fact that an iSCSI NOP response can occur before processing of the NOP send is complete. This can result in "conn->ping_task" being NULL in iscsi_nop_out_rsp(), when the pointer is actually in the process of being set. To work around this, we add a new state to the "ping_task" pointer. In addition to NULL (not assigned) and a pointer (assigned), we add the state "being set", which is signaled with an INVALID pointer (using "-1"). Link: https://lore.kernel.org/r/20201106193317.16993-1-leeman.duncan@gmail.com Reviewed-by: Mike Christie <michael.christie@oracle.com> Signed-off-by: Lee Duncan <lduncan@suse.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> |
||
---|---|---|
.. | ||
fc | ||
fc_encode.h | ||
fc_frame.h | ||
fcoe_sysfs.h | ||
iscsi_if.h | ||
iscsi_proto.h | ||
iser.h | ||
libfc.h | ||
libfcoe.h | ||
libiscsi_tcp.h | ||
libiscsi.h | ||
libsas.h | ||
sas_ata.h | ||
sas.h | ||
scsi_bsg_iscsi.h | ||
scsi_cmnd.h | ||
scsi_common.h | ||
scsi_dbg.h | ||
scsi_device.h | ||
scsi_devinfo.h | ||
scsi_dh.h | ||
scsi_driver.h | ||
scsi_eh.h | ||
scsi_host.h | ||
scsi_ioctl.h | ||
scsi_proto.h | ||
scsi_request.h | ||
scsi_tcq.h | ||
scsi_transport_fc.h | ||
scsi_transport_iscsi.h | ||
scsi_transport_sas.h | ||
scsi_transport_spi.h | ||
scsi_transport_srp.h | ||
scsi_transport.h | ||
scsi.h | ||
scsicam.h | ||
sg.h | ||
srp.h | ||
viosrp.h |