Re: Fixing the SCSI layer

tad-m2n@omoikane.co.jp
Mon, 06 Sep 1999 12:01:42 +0900


Genard wrote:
> > - have better sg driver (ex, abort handling, etc)
>
> What do you want to abort ? Once a command has been passed to the lower
> layer, it must complete with or without error, or time out.

Sending abort message to a device.

For expamle, you would want to stop a scanner when it does unwanted and
long operation without fail. (recent scanner is fast, though)

Adding message sending handle to SHT would not affect performance,
but it make mid-layer bigger...

> I suggest you to invest CAM3 specifications first. The FreeBSD CAM is a
> derivative and is very different from official CAM1/3 on some points. It
> has also some design/implementation errors in my opinion.
> For example, the SIM queuing (CAM3 10.4.2-10.4.3) implementation in
> FreeBSD can only have race conditions on error recovery (queue freeze), in
> my opinion.

I appreciate good advise. Thanks.

> > step2 : make a 'wrapper' of low driver to the CAM layer.
>
> Not a good idea, in my opinion. My suggestion is to allow both the CAM
> stack and the old SCSI stack to be configured in the kernel, allowing
> low-level drivers (SIMs) to be converted when time will allow.

Oh, sorry, I wanted to picture :

--------------------------------------------------------------------
|
low |
| low specialized to cam mid
+-------------------+
| |
| wrapped old low |
| |
----------------+---------------------------------------------------
|
old mid | cam mid
|
----------------+---------------------------------------------------
|
sd/sr/st/sg | new sd/sr/st/sg + s-net + s-target mode
|
--------------------------------------------------------------------

(Imagine wrapped old low has limited functionality but enough for sd.)

Ok, I am going to investigate CAM3 and FreeBSD CAM.

Thanks for advise!

--
Tadayoshi Ohkuma / tad@omoikane.co.jp
Omoikane Ltd. / http://www.omoikane.co.jp

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/