Re: libata total system lockup fix
From: Tejun Heo <hidden>
Date: 2005-08-12 02:42:02
Tejun Heo wrote:
Mark Lord wrote:quoted
Tejun Heo wrote:quoted
* _All_ errors are handled in EH thread. * Once any error has occurred, all normal processing stops until error condition is cleared by EH.Do you mean "all normal processing" for that channel stops, or *ALL* processing on all libata channels stops? Obviously the former, I presume. CheersYeah, the former of course. ;-) Error state is indicated by one of the followings.
^ following ata per-port flags.
* ATA_FLAG_ERROR : one or more errors have occurred and EH is
scheduled to run.^ on the ata port
* ATA_FLAG_RECOVERY : EH in progress
^ on the ata port
When either of above flags is set, only commands w/ ATA_QCFLAG_PREEMPT flag set gets to run and complete. So, currently, sense requesting and
^ on the ata port
NCQ log page reading are done w/ the flag set.
Just to be clearer. ;-) -- tejun