Thread (26 messages) 26 messages, 6 authors, 2005-09-03

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.

Cheers

 Yeah, 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help