Re: [PATCH]qla4xxx:Add support for Async Message PDUs [REPOST with fixes]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



David C Somayajulu wrote:
+		}
+		if (sshdr.asc == 0x3f && sshdr.ascq == 0x0e) {
+			/* induce rescan */
+			iscsi_block_session(ddb_entry->sess);
+			iscsi_unblock_session(ddb_entry->sess);
+		}

I think I was wrong off list. We could actually just call iscsi_unblock_session, but we do not know the state of the session do we? If we got a event that indicated the session was failed could we have a block queued up and this would reverse it by accident?

I was thinking that because qla4xxx_process_aen is called before this we could just check the ddb state, but we can call iscsi_block_session from the interrupt handler to queue up a block so I think that could race with the unblock call here.

I think you really just want to separate that code. It might also be better to make a more generic framework. If we got this in the scsi command sense we want to rescan too. And the problem is that celerra or centerra and cisco mds will send the iscsi asyn pdu, but netapp and other boxes do not (probably even across EMC boxes we will not see the same thing :( ). These other boxes send the sense in the scsi command, so eventually we have to handle it both places to make our masters happy :)
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux