Re: What still uses the block layer?

From: Bill Davidsen
Date: Wed Oct 17 2007 - 19:35:41 EST


Jeff Garzik wrote:

But again, please remember that these USB devices are really SCSI
devices. Same for SATA devices. There is a reason they are using the
SCSI layer, and it isn't just because the developers felt like it :)

/somewhat/ true I'm afraid: libata uses the SCSI layer for ATAPI devices because they are essentially bridges to SCSI devices. It uses the SCSI layer for ATA devices because the SCSI layer provided a huge amount of infrastructure that would need to have been otherwise duplicated, /then/ massaged into coordinating between <jgarzik's ATA layer> and <SCSI layer> when dealing with ATAPI.

There is also a detail that was of /huge/ value when introducing a new device class: distro installers automatically work, if you use SCSI. If you use a new block device type, that behaves differently from other types and is on a different major, you have to poke the distros into action or do it yourself.

IOW, it was the high Just Works(tm) value of the SCSI layer when it came to ATA (not ATAPI) devices.

For the future, ATA will eventually be more independent (though the SCSI simulator will be available as an option, for compat), but the value is big enough to put that task on the back-burner.

I remember being told that I didn't understand the problem when I suggested using ide-scsi for everything and just hiding the transport. I get great pleasure from having been (mostly) right on that one. I still have old systems running ZIP drives as scsi...

--
Bill Davidsen <davidsen@xxxxxxx>
"We have more to fear from the bungling of the incompetent than from
the machinations of the wicked." - from Slashdot
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/