Re: I request inclusion of SAS Transport Layer and AIC-94xx intothe kernel

From: Jeff Garzik
Date: Mon Oct 03 2005 - 15:16:25 EST


Mike Christie wrote:
For FC there is code like the fc_rport stuff which exports a sysfs interface but also does a lot more like probing and queue blocking.

And the iSCSI class does do a lot more now too. This just has not been updated. It handles the userspace to kernel communication, session and connection sysfs interface setup,

Great. Exactly.


Structures like the fc_rport and iscsi_session are managed by the transport classes so scsi-ml never knows about them (except for that scanning bug). And it is possible to share them between HW and software or partial software solutions. I do agree for some iscsi sitautions having a layer over the eh or command exection where the transport really is more of a layer like your design would be nice (I am not refferring to the code duplication though becuase iSCSI would like some of yrou fixes :), but at the same time there are places where code can be shared between a interface that hides the lower level details and one that implements them in software. Maybe it is not this way for SAS though.

Adaptec's SAS stuff implements the standard high level SCSI model as an API, which is a pretty decent direction for SCSI long term: provides a transport-independent execute-scsi-command high level hook (along with the other task management functions), and hides the transport details for the most part.

That's fine, and works for iSCSI as well.

I just disagree that we need to have two concurrent APIs for SCSI, completely separate from each other, and mildly duplicating each other's code.

The current SCSI code will morph in the proper direction given time and love. Segregating generic [SPI | FC | SAS | iSCSI | ATA | RAID | ...] transport layer code into their own modules -- the transport classes and associated libs -- will point out the sore spots where scsi-ml needs changes. This approach also implies we improve the existing scsi-ml where needed, rather than the proposed "if legacy, let it bitrot" approach.

Jeff




-
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/