> OK, so could we get back to the original discussion? The question I
> think you meant to ask is "does SCSI use the block layer, and if so;
> how?"
>
> The answer is yes (just do an ls /sys/block on any scsi machine). The
> how is that it bascially uses the block layer as a service library (i.e.
> most SCSI services are built on top of those already provided by block).
> The email you cited was basically from our one area of confusion: SCSI
> and block both provide services to decode the SG_IO ioctl. This is
> partly historical; block and SCSI are very much intertwined; so much so
> that they both tend to drive each other's development. The programme
> over the last few years has been to identify features in SCSI that
> should be more generic (and hence moved to block). SG_IO is one of
> these, so we end up with the situation where Block provides this as a
> service (and sr, st and sd make use of it) while the sg driver still
> doesn't use what the block layer provides but rolls its own. I think
> the layout of how all this works is illustrated at a reasonably high
> level here on slide 15:
>
>
http://licensing.steeleye.com/support/papers/ols_2005_slides.pdf