[438] in linux-scsi channel archive

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

scsi.c bug?

daemon@ATHENA.MIT.EDU (Michael Morrison)
Sat Jul 29 08:53:48 1995

From: mike@ringo.reno.nv.us (Michael Morrison)
To: linux-scsi@vger.rutgers.edu (linux scsi)
Date: Fri, 28 Jul 1995 23:33:34 -0700 (PDT)

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


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