[475] in linux-scsi channel archive

home help back first fref pref prev next nref lref last post

No subject found in mail header

daemon@ATHENA.MIT.EDU (Richard Waltham)
Fri Aug 4 04:23:23 1995

Date: Thu, 3 Aug 1995 21:28:53 +0100
From: Richard Waltham <dormouse@farsrobt.demon.co.uk>
To: submit-linux-dev-scsi@ratatosk.yggdrasil.com

Newsgroups: linux.dev.scsi
Path: dormouse
From: dormouse@farsrobt.demon.co.uk (Richard Waltham)
Subject: Re: scsi.c bug?
X-Newsreader: TIN [version 1.2 PL2]
Organization: home
Message-ID: <DCr4w4.44@farsrobt.demon.co.uk>
References: <m0sc5Sp-000SmpC@ringo>
Date: Thu, 3 Aug 1995 20:28:51 GMT

Michael Morrison (mike@ringo.reno.nv.us) wrote:
: Hi all,

: I was looking through scsi.c and noticed that a bus reset is issued
: when a RESERVATION CONFLICT is detected.  Is this the correct behavior?

: Assume that you have two linux boxes connected to the same target
: on some exotic piece of scsi hardware via the generic scsi driver.  
: You then have 1 scsi bus with 2 initiators and 1 target.  There is an 
: application running on each box that talks to this exotic scsi device.  
: If the app on linux-box 1 needs to issue a series of scsi commands that 
: need to be atomic on the target.  It would have to issue a reserve command, 
: do the series of commands, then issue a release command.  linux-box 2 
: would get a RESERVATION_CONFLICT if it tried to access the exotic device 
: while reserved by linux-box 1.  The result would be a bus reset which may 
: or may not hose linux-box 1.  The correct behavior (IMHO) would be to 
: probagate the error up and let the higher level code decide what to do 
: (which in this case would be to wait awhile and reissue the command).


: Any comments?

: mike
: mike@ringo.reno.nv.us


RESERVATION_CONFLICT implies the target is being used by another
initiator so issuing a bus reset should be the last thing to try!

Retry the command causing the RESERVATION_CONFLICT, after all its
effectively saying the target is busy, but with a different initiator,
rather than busy and unable to receive the command from the current one
where the normal behaviour would be a command retry after some delay.

--
Richard Waltham   |                             dormouse@farsrobt.demon.co.uk
Linux Dummy!      |                                    Compuserve 100421.1276
Southampton UK    |           GTPN 050/066 The Board Room +44 (0) 1703 760099
--

home help back first fref pref prev next nref lref last post