mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-26 08:31:13 +00:00
scsi: libfc: quarantine timed out xids
When a sequence times out we have no idea what happened to the frame. And we do not know if we will ever receive the frame. Hence we cannot re-use the xid as we would risk data corruption if the xid had been re-used and the timed out frame would be received after that. So we need to quarantine the xid until the lport is reset. Yes, I know this will (eventually) deplete the xid pool. But for now it's the safest method. Signed-off-by: Hannes Reinecke <hare@suse.com> Reviewed-by: Bart Van Assche <bart.vanassche@sandisk.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
b73aa56ee9
commit
9ca1e182b9
3 changed files with 30 additions and 17 deletions
|
@ -390,6 +390,7 @@ struct fc_seq {
|
|||
|
||||
#define FC_EX_DONE (1 << 0) /* ep is completed */
|
||||
#define FC_EX_RST_CLEANUP (1 << 1) /* reset is forcing completion */
|
||||
#define FC_EX_QUARANTINE (1 << 2) /* exch is quarantined */
|
||||
|
||||
/**
|
||||
* struct fc_exch - Fibre Channel Exchange
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue