Thanks.  Running on 2.3.47 at the moment but fall
back to 2.2.{5,12,n} also.
Yeah I have to give the new_eh_code another
serious go rsn.

BTW: Slight correction to my orig. post (sorry):
I've tried:
 1) sc->result = DID_BUS_BUSY << 16;    // 00020000h
    // YIKES!  This seems to kill linux interrupt handler!!!

 1b) sc-result = DID_ERROR << 16;               // 00070000h
    // Sort of works, but end up with corrupted file system

 2) sc->result = 0x08;          // 00000008h, Try SCSI BUSY!
    // Sort of works, but end up with io process hang
 3) sc->result = 0x28;          // 00000028h, Try SCSI QUEUE_FULL!
    // Best results so far...

Plus I've had periods where the device temporarily went
away, and I set:

 4) sc->result = DID_NO_CONNECT << 16;  // 00010000h, spoof SelTO
    // fairly disastrous results --> io/device failure, fs corruption

Thanks,
-SteveR

> -----Original Message-----
> From: Matthew Jacob [SMTP:[EMAIL PROTECTED]]
> Sent: Friday, March 10, 2000 2:50 AM
> To:   Ralston, Steve
> Cc:   'linux-scsi'
> Subject:      Re: spoofing SCSI retries
> 
> 
> Which kernel release are you working with? I really recommend you use the
> new
> error handling code if you can.
> 
> With respect to LIPs, you may have to do as some of the other drivers do
> and
> queue the commands locally (i.e., commit to actually run them at a later
> date), make sure they don't time out by adjusting their timeout value
> (i.e,,
> while you're doing all the PLOG/PRLI goofiness don't let the system get
> impatient)- but I'm sure that others will have better suggestions than I
> which *I'd* liek to hear as well.
> 
> On Fri, 10 Mar 2000, Ralston, Steve wrote:
> 
> > What's the best way to spoof the scsi mid-layer into
> > retrying a cmd?
> > (e.g., if a device is momentarily out to lunch)
> > 
> > I've tried various flavors over the past few weeks with
> > strange to interesting results.
> >  1) sc->result = DID_BUS_BUSY << 16;
> >     // YIKES!  This seems to kill linux interrupt handler!!!
> >  2) sc->result = 0x08;              // Try SCSI BUSY!
> >     // Sort of works, but end up with corrupted file system
> >  3) sc->result = 0x28;              // Try SCSI QUEUE_FULL!
> >     // Best results so far...
> > 
> > Just curious if anyone out there recommends these
> > or other methods.
> > 
> > (I think it matters: the driver we're testing / developing
> > currently has SHTp->use_new_eh_code == 0 because
> > I've had too many problems so far when I set this to 1):-(
> > 
> > BTW: Test scenario: someone continuously trips over the
> > SCSI cable (or fibre channel in this case) while intense
> > io is taking place on the bus.  For fibre channel this
> > typically means lots of LIPs and target discoveries
> > taking place --> device momentarily out to lunch.
> > 
> > Thanks,
> > -SteveR
> > 
> > PS: For WinNT (ack!) miniport drivers, the singlular
> > answer seems to be: BUSY!
> > 
> > 
> > -
> > To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> > the body of a message to [EMAIL PROTECTED]
> > 
> 

-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]

Reply via email to