Skip to contentSkip to conversation

SHOST_RECOVERY hang with host_busy < host_failed

DISCUSSION Tyrel Datwyler 1 participant 1 message May 16, 2016 SCSI

lore
Share & tools
lore
#0 lore raw

I'm seeing a non-deterministic I/O hang with the ibmvfc driver when we migrate a guest/partition to a different machine. So, on the occasions when this hits the systems becomes unresponsive blocked on I/O. I started by inspecting Scsi_Host of the driver which shows shost->state = SHOST_RECOVERY explaining the blocked I/O. What I found a little weird however was shost->host_failed > shost->host_busy.

Quoted 1 line

From the EH documentation SHOST_RECOVERY is set by scsi_eh_scmd_add thus

blocking any new scmd's from the block queue to the host. So, every scmnd in flight either completes or fails with failed commands being inclusive of busy commands count, and the EH thread started once all busy commands are failed commands (ie. host_busy == host_failed). So, this should mean host_failed should never by greater than host_busy, correct?

-Tyrel