Re: [PATCH] minimal SAS transport class

2005-08-29 Thread Christoph Hellwig
On Fri, Aug 26, 2005 at 03:24:06PM -0400, Jeff Garzik wrote: Luben Tuikov wrote: Even simpler: the transport layer, calls SCSI Core, saying: Hey here is a pointer to struct scsi_domain_device. If you want, you an send REPORT LUNS and other things to it. For the SG_IO ioctl, /dev/sg and

Re: [PATCH] minimal SAS transport class

2005-08-29 Thread Luben Tuikov
On 08/29/05 13:11, Christoph Hellwig wrote: On Fri, Aug 26, 2005 at 03:24:06PM -0400, Jeff Garzik wrote: Luben Tuikov wrote: Even simpler: the transport layer, calls SCSI Core, saying: Hey here is a pointer to struct scsi_domain_device. If you want, you an send REPORT LUNS and other things to

Re: [PATCH] minimal SAS transport class

2005-08-29 Thread Christoph Hellwig
On Mon, Aug 29, 2005 at 01:20:50PM -0400, Luben Tuikov wrote: What's a scsi_domain_device? Anyway, we don't need any HCIL tuple for all of the above. SG_IO is done on a blockdevice node, /dev/sg is done on a chardevice node. Each of them are attached to a request_queue that's known at

Re: [PATCH] minimal SAS transport class

2005-08-29 Thread Luben Tuikov
On 08/29/05 13:16, Christoph Hellwig wrote: No need to do silly renaming, but yes, moving creating of scsi_target I'd do the silly renaming. I'd also create struct scsi_domain_device, and do scsi_register_domain_device(). You know, clean slate... structures to the transport does make

Re: [PATCH] minimal SAS transport class

2005-08-29 Thread James Bottomley
On Mon, 2005-08-29 at 18:16 +0100, Christoph Hellwig wrote: No need to do silly renaming, but yes, moving creating of scsi_target structures to the transport does make sense. It's kinda implicit in the todo list I posted. I also don't really see the point of the embedded kobject. You might

Re: [PATCH] minimal SAS transport class

2005-08-29 Thread Luben Tuikov
On 08/29/05 13:31, Luben Tuikov wrote: On 08/29/05 13:16, Christoph Hellwig wrote: No need to do silly renaming, but yes, moving creating of scsi_target I'd do the silly renaming. I'd also create struct scsi_domain_device, and do scsi_register_domain_device(). You know, clean slate...

Re: [PATCH] minimal SAS transport class

2005-08-28 Thread Luben Tuikov
On 08/26/05 21:53, Jeff Garzik wrote: Luben Tuikov wrote: On 08/26/05 15:24, Jeff Garzik wrote: Luben Tuikov wrote: Even simpler: the transport layer, calls SCSI Core, saying: Hey here is a pointer to struct scsi_domain_device. If you want, you an send REPORT LUNS and other things to it.

Re: [PATCH] minimal SAS transport class

2005-08-28 Thread Luben Tuikov
On 08/26/05 21:39, Jeff Garzik wrote: Luben Tuikov wrote: On 08/26/05 14:48, Jeff Garzik wrote: No host numbers, no routing information. This is all transparent to SCSI Core, and NONE of its business. Routing is an essential part of the SCSI core's duties. [I'm not a big fan of reading

Re: [PATCH] minimal SAS transport class

2005-08-28 Thread Stefan Richter
Jeff Garzik wrote: (host,string) could succeed in transporting both HCIL and non-HCIL target identifiers. What is the meaning of host there? -- Stefan Richter -=-=-=-= =--- ===-= http://arcgraph.de/sr/ - To unsubscribe from this list: send the line unsubscribe linux-scsi in the body of a

Re: [PATCH] minimal SAS transport class

2005-08-27 Thread Stefan Richter
Jeff Garzik wrote: Luben Tuikov wrote: I never contended that userspace should be moved away from HCIL. Then, by implication, SAS and FC must continue to maintain HCIL-device maps. Yes, but not in the SAS/ FC/ iSCSI/ USB/ SBP-2/... low-level. HCIL does not exist there. HCIL is only a

Re: [PATCH] minimal SAS transport class

2005-08-27 Thread Stefan Richter
Jeff Garzik wrote: An in-kernel C pointer, to a SCSI target device, is not sufficient in all cases to address a target. This plays out most often in userland interfaces such as ioctls. The C pointer is all the interface between core and low-level needs. All other means of addressing (IDs,

Re: [PATCH] minimal SAS transport class

2005-08-26 Thread Luben Tuikov
On 08/24/05 05:12, Christoph Hellwig wrote: On Tue, Aug 23, 2005 at 08:02:39PM -0400, Luben Tuikov wrote: In effect FC tells SCSI Core: here is a device I do not know anything about, other than the fact that it is on the fabric and it has a SCSI Target (or Initiator) Port: how you get to is is

Re: [PATCH] minimal SAS transport class

2005-08-26 Thread Luben Tuikov
On 08/25/05 16:06, Jeff Garzik wrote: Stefan Richter wrote: Luben Tuikov wanted... to move _away_ from HCIL. So that addressing of devices in SCSI Core is _completely_ independent of addressing at the protocol layer. I second that. A move away from forced HCIL addressing would be a

Re: [PATCH] minimal SAS transport class

2005-08-26 Thread James Bottomley
On Fri, 2005-08-26 at 12:43 -0400, Luben Tuikov wrote: A move away from forced HCIL addressing would be a good thing. However, its impossible to completely move away from addressing, as userspace and the SCSI core need ways to route CDBs to devices based on address. They can use

Re: [PATCH] minimal SAS transport class

2005-08-26 Thread Jeff Garzik
Luben Tuikov wrote: On 08/26/05 13:22, James Bottomley wrote: On Fri, 2005-08-26 at 12:43 -0400, Luben Tuikov wrote: A move away from forced HCIL addressing would be a good thing. However, its impossible to completely move away from addressing, as userspace and the SCSI core need ways to

Re: [PATCH] minimal SAS transport class

2005-08-26 Thread Jeff Garzik
Luben Tuikov wrote: Even simpler: the transport layer, calls SCSI Core, saying: Hey here is a pointer to struct scsi_domain_device. If you want, you an send REPORT LUNS and other things to it. For the SG_IO ioctl, /dev/sg and request_queue usage, SCSI core must map an address (currently

Re: [PATCH] minimal SAS transport class

2005-08-26 Thread Luben Tuikov
On 08/26/05 15:24, Jeff Garzik wrote: Luben Tuikov wrote: Even simpler: the transport layer, calls SCSI Core, saying: Hey here is a pointer to struct scsi_domain_device. If you want, you an send REPORT LUNS and other things to it. For the SG_IO ioctl, /dev/sg and request_queue usage, SCSI

Re: [PATCH] minimal SAS transport class

2005-08-26 Thread Luben Tuikov
On 08/26/05 14:48, Jeff Garzik wrote: No host numbers, no routing information. This is all transparent to SCSI Core, and NONE of its business. Routing is an essential part of the SCSI core's duties. [I'm not a big fan of reading mixed-message emails, but what can you do...] The SCSI core

Re: [PATCH] minimal SAS transport class

2005-08-26 Thread Jeff Garzik
Luben Tuikov wrote: On 08/26/05 14:48, Jeff Garzik wrote: No host numbers, no routing information. This is all transparent to SCSI Core, and NONE of its business. Routing is an essential part of the SCSI core's duties. [I'm not a big fan of reading mixed-message emails, but what can you

Re: [PATCH] minimal SAS transport class

2005-08-26 Thread Jeff Garzik
Luben Tuikov wrote: On 08/26/05 15:24, Jeff Garzik wrote: Luben Tuikov wrote: Even simpler: the transport layer, calls SCSI Core, saying: Hey here is a pointer to struct scsi_domain_device. If you want, you an send REPORT LUNS and other things to it. For the SG_IO ioctl, /dev/sg and

Re: [PATCH] minimal SAS transport class

2005-08-25 Thread Jeff Garzik
Stefan Richter wrote: Luben Tuikov wanted... to move _away_ from HCIL. So that addressing of devices in SCSI Core is _completely_ independent of addressing at the protocol layer. I second that. A move away from forced HCIL addressing would be a good thing. However, its impossible to

Re: [PATCH] minimal SAS transport class

2005-08-24 Thread Christoph Hellwig
On Mon, Aug 22, 2005 at 05:08:33PM -0600, Moore, Eric Dean wrote: On Sunday, August 21, 2005 10:53 AM, Christoph Hellwig wrote: This is just a brindup helper because the Fusion hardware does a SAS remote port to target ID mapping in firmware, in fact the firmware interface only addresses

Re: [PATCH] minimal SAS transport class

2005-08-24 Thread Patrick Mansfield
On Wed, Aug 24, 2005 at 04:05:03PM -0400, Luben Tuikov wrote: On 08/24/05 13:12, Patrick Mansfield wrote: On Tue, Aug 23, 2005 at 07:55:37PM -0400, Luben Tuikov wrote: Where does udev get its label? You can call any script or program from udev and use the result. There are And

Re: [PATCH] minimal SAS transport class

2005-08-23 Thread Hannes Reinecke
[EMAIL PROTECTED] wrote: - There are some real challenges in supporting a udev-named boot device. For the most part, it's a distro issue, which is becoming better. PS: for $10, name a 2.6 distro that uses udev out of the box for disk names and its installation. For $10 more, can it

Re: [PATCH] minimal SAS transport class

2005-08-23 Thread Douglas Gilbert
Luben Tuikov wrote: On 08/22/05 00:55, Matt Domsch wrote: On Sat, Aug 20, 2005 at 12:15:41AM -0400, [EMAIL PROTECTED] wrote: - There are some real challenges in supporting a udev-named boot device. For the most part, it's a distro issue, which is becoming better. PS: for $10, name a 2.6

Re: [PATCH] minimal SAS transport class

2005-08-23 Thread Patrick Mansfield
On Sat, Aug 20, 2005 at 12:15:41AM -0400, [EMAIL PROTECTED] wrote: - the target id is logical for everything but SPI For FC, target ids are typically assigned to devices on a 1st-seen-1st-assigned basis. For several reasons, there can be changes in port discovery order after link events

RE: [PATCH] minimal SAS transport class

2005-08-23 Thread James . Smart
As others stated, id is already a tag/label. You should be able to pass whatever id you want to scsi_scan_target, like the FC ID (port_id), and then we also want an abstract iterator in fc transport for the id for usage in scsi_scan.c:scsi_scan_channel. Then you can lose all the

Re: [PATCH] minimal SAS transport class

2005-08-23 Thread Stefan Richter
[EMAIL PROTECTED] wrote: As others stated, id is already a tag/label. You should be able to pass whatever id you want to scsi_scan_target, like the FC ID (port_id), [...] If the port id changes during run time, what are you to do ? [...] This approach only works as long as the transport's

RE: [PATCH] minimal SAS transport class

2005-08-23 Thread James . Smart
I thought by the target id is logical for everything but SPI you meant that FC enumerated the scsi_device id. Yes, I meant that. I didn't mean to address problems with persistent names, just map the scsi_device id to an FC value. True. Port ID is just a bad example. Unfortunately, there's

Re: [PATCH] minimal SAS transport class

2005-08-23 Thread Luben Tuikov
On 08/23/05 13:28, Stefan Richter wrote: [EMAIL PROTECTED] wrote: As others stated, id is already a tag/label. You should be able to pass whatever id you want to scsi_scan_target, like the FC ID (port_id), [...] If the port id changes during run time, what are you to do ? [...] This

Re: [PATCH] minimal SAS transport class

2005-08-23 Thread Luben Tuikov
On 08/23/05 11:42, Patrick Mansfield wrote: On Sat, Aug 20, 2005 at 12:15:41AM -0400, [EMAIL PROTECTED] wrote: - the target id is logical for everything but SPI For FC, target ids are typically assigned to devices on a 1st-seen-1st-assigned basis. For several reasons, there can be changes

Re: [PATCH] minimal SAS transport class

2005-08-22 Thread Luben Tuikov
On 08/22/05 00:55, Matt Domsch wrote: On Sat, Aug 20, 2005 at 12:15:41AM -0400, [EMAIL PROTECTED] wrote: - There are some real challenges in supporting a udev-named boot device. For the most part, it's a distro issue, which is becoming better. PS: for $10, name a 2.6 distro that uses udev

Re: [PATCH] minimal SAS transport class

2005-08-22 Thread Matt Domsch
On Sat, Aug 20, 2005 at 12:15:41AM -0400, [EMAIL PROTECTED] wrote: - There are some real challenges in supporting a udev-named boot device. For the most part, it's a distro issue, which is becoming better. PS: for $10, name a 2.6 distro that uses udev out of the box for disk names and

Re: [PATCH] minimal SAS transport class

2005-08-21 Thread Luben Tuikov
--- Christoph Hellwig [EMAIL PROTECTED] wrote: For SAS, looking at Christoph's code - The target id comes from the LLDD. This is just a brindup helper because the Fusion hardware does a SAS remote port to target ID mapping in firmware, in fact the firmware interface only addresses them

Re: [PATCH] minimal SAS transport class

2005-08-21 Thread Christoph Hellwig
On Sat, Aug 20, 2005 at 12:15:41AM -0400, [EMAIL PROTECTED] wrote: Now - back to Christoph's point For iSCSI, (correct me if I'm wrong) as the scsi_host is mapped 1:1 with the session, there really is no such thing as multiple targets, so it works. Even if it isn't 1:1, it is controlled

Re: [PATCH] minimal SAS transport class

2005-08-21 Thread Christoph Hellwig
On Sat, Aug 20, 2005 at 01:34:49PM -0400, Luben Tuikov wrote: that even if my minimal code goes in now there's absolutely no reason we can't replace it completely later on. See the evolution of the FC transport class. Who makes all those decisions? In the end James, unless he'd be

Re: [PATCH] minimal SAS transport class

2005-08-21 Thread Christoph Hellwig
On Sat, Aug 20, 2005 at 01:23:04PM -0400, Luben Tuikov wrote: I don't mind LLDD giving channel and id to SCSI Core. Not at all. What I mind is the _way_ it is done. Just consider this (and I'm sure you have the same sentiments): slave alloc gives you channel and id and lun/2 to find out

Re: [PATCH] minimal SAS transport class

2005-08-20 Thread Christoph Hellwig
On Fri, Aug 19, 2005 at 04:32:15PM -0400, Luben Tuikov wrote: The current SAS class will only get validated when it actually meets real SAS topologies, which is acceptable in my view just to get this project actually moving; code can always be updated later ... James, the current SAS

Re: [PATCH] minimal SAS transport class

2005-08-20 Thread Luben Tuikov
On 08/20/05 00:15, [EMAIL PROTECTED] wrote: Ok, so I guess I owe you a response. I hesitate, as this discussion always becomes larger than it should. There are 2 key points: - the target id is logical for everything but SPI - following old SPI behavior, users expect the same devices to

Re: [PATCH] minimal SAS transport class

2005-08-20 Thread Luben Tuikov
On 08/20/05 05:18, Christoph Hellwig wrote: On Fri, Aug 19, 2005 at 04:32:15PM -0400, Luben Tuikov wrote: The current SAS class will only get validated when it actually meets real SAS topologies, which is acceptable in my view just to get this project actually moving; code can always be updated

Re: [PATCH] minimal SAS transport class

2005-08-19 Thread Christoph Hellwig
On Thu, Aug 18, 2005 at 03:04:01PM -0400, Jeff Garzik wrote: Depending on how SATA support is implemented, it may be useful for that. You can already see how SATA support is implemented ;-) We just need to wrap it in a transport class. SATA support for SAS host adapters. Especially when

Re: [PATCH] minimal SAS transport class

2005-08-19 Thread Christoph Hellwig
On Thu, Aug 18, 2005 at 04:05:29PM -0400, Luben Tuikov wrote: On 08/18/05 13:56, Christoph Hellwig wrote: I was trying to avoid the need for an rport object, but I'm not yet sure it's feasible. We certainly won't put in target-persistency support similar to FC, that was just a hack to get

Re: [PATCH] minimal SAS transport class

2005-08-19 Thread Luben Tuikov
On 08/19/05 10:06, Christoph Hellwig wrote: SATA support for SAS host adapters. Especially when talking STP to a bridge this is a little more complicated than the current libata model. That doesn't mean I don't want to share code and mechanisms but it'll need a little refactoring at least.

Re: [PATCH] minimal SAS transport class

2005-08-19 Thread Christoph Hellwig
On Fri, Aug 19, 2005 at 01:51:56PM -0400, Luben Tuikov wrote: On 08/19/05 10:06, Christoph Hellwig wrote: SATA support for SAS host adapters. Especially when talking STP to a bridge this is a little more complicated than the current libata model. That doesn't mean I don't want to share

Re: [PATCH] minimal SAS transport class

2005-08-19 Thread Luben Tuikov
On 08/19/05 13:54, Christoph Hellwig wrote: On Fri, Aug 19, 2005 at 01:51:56PM -0400, Luben Tuikov wrote: On 08/19/05 10:06, Christoph Hellwig wrote: SATA support for SAS host adapters. Especially when talking STP to a bridge this is a little more complicated than the current libata model.

Re: [PATCH] minimal SAS transport class

2005-08-19 Thread Christoph Hellwig
On Fri, Aug 19, 2005 at 01:56:39PM -0400, Luben Tuikov wrote: Yes. But to get that to work we'll need to fix some assumptions in libata, define proper interfaces between the SAS LLDD, the SAS transport class and libata. It's doable and desirable, but it'll need some work. Do you have a

Re: [PATCH] minimal SAS transport class

2005-08-19 Thread Luben Tuikov
On 08/19/05 13:59, Christoph Hellwig wrote: Which one is it that will let you do this? Currently none. Fusion is doing the SATA command translation in firmware. This is more for Adapters in the style of the Adaptec design where it would be done in the host software stack. So you're doing

Re: [PATCH] minimal SAS transport class

2005-08-19 Thread Luben Tuikov
On 08/19/05 13:59, Christoph Hellwig wrote: On Fri, Aug 19, 2005 at 01:56:39PM -0400, Luben Tuikov wrote: Yes. But to get that to work we'll need to fix some assumptions in libata, define proper interfaces between the SAS LLDD, the SAS transport class and libata. It's doable and desirable,

Re: [PATCH] minimal SAS transport class

2005-08-19 Thread James Bottomley
On Fri, 2005-08-19 at 14:07 -0400, Luben Tuikov wrote: So you're doing architectural decisions based on guesses on how Adaptec's (design) driver is? You can't have it both ways. We have to take a fully theoretical approach (which does involve guesswork) because only the vendors have the actual

Re: [PATCH] minimal SAS transport class

2005-08-19 Thread Luben Tuikov
On 08/19/05 15:59, James Bottomley wrote: On Fri, 2005-08-19 at 14:07 -0400, Luben Tuikov wrote: So you're doing architectural decisions based on guesses on how Adaptec's (design) driver is? You can't have it both ways. We have to take a fully theoretical You just made a decision.

Re: [PATCH] minimal SAS transport class

2005-08-19 Thread Jeff Garzik
Luben Tuikov wrote: James, the current SAS class _will_go_ into the kernel because: - It is 3 vendor driven: LSI, Dell, HP. - It is being developed by you and Christoph, the people who decide what goes in or not. No, not for these reasons. It will go in because it is small,

RE: [PATCH] minimal SAS transport class

2005-08-19 Thread James . Smart
This is a heck of a statement... The customers don't see it as SAS vs FC vs SPI, they just see it as SCSI, and there's a lot of expectations on consistent behavior. We take a lot of heat defending the community's position, even from companies that you would have thought had signed on

RE: [PATCH] minimal SAS transport class

2005-08-18 Thread James . Smart
Christoph, I like it, and have no real complaints. As familiar as this looks, there were a couple of conventions in the FC transport that I thought should have carried over here. Namely, I saw not all attributes being the same, thus I created 3 categories of attributes: Private: These

RE: [PATCH] minimal SAS transport class

2005-08-18 Thread James . Smart
Of Smart, James Sent: Thursday, August 18, 2005 7:58 AM To: [EMAIL PROTECTED]; [EMAIL PROTECTED] Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED]; linux-scsi@vger.kernel.org Subject: RE: [PATCH] minimal SAS transport class Christoph, I like it, and have no real complaints

RE: [PATCH] minimal SAS transport class

2005-08-18 Thread James . Smart
One more thing missing... As there is a transport object between the scsi_host and scsi_target, the transport needs to pick up the changes made to deal with scans made outside of the transport (after a scsi_target has been removed). The fix that got merged into the scsi-misc tree can be seen at:

RE: [PATCH] minimal SAS transport class

2005-08-18 Thread James . Smart
I was trying to avoid the need for an rport object, but I'm not yet sure it's feasible. We certainly won't put in target-persistency support similar to FC, that was just a hack to get the existing drivers migrated without lots of complaints, it's not going in for new transports like SAS

Re: [PATCH] minimal SAS transport class

2005-08-18 Thread Luben Tuikov
On 08/18/05 13:56, Christoph Hellwig wrote: I was trying to avoid the need for an rport object, but I'm not yet sure it's feasible. We certainly won't put in target-persistency support similar to FC, that was just a hack to get the existing drivers migrated without lots of complaints, it's

Re: [PATCH] minimal SAS transport class

2005-08-18 Thread Luben Tuikov
On 08/18/05 14:48, [EMAIL PROTECTED] wrote: This is a heck of a statement... The customers don't see it as SAS vs FC vs SPI, they just see it as SCSI, and there's a lot of expectations on consistent behavior. We take a lot of heat defending the community's position, even from companies that

Re: [PATCH] minimal SAS transport class

2005-08-15 Thread Luben Tuikov
Good stuff, Christoph! Luben --- Christoph Hellwig [EMAIL PROTECTED] wrote: This is a minmal, bottom-up SAS transport class. So far it only exposed information about the SAS port/phy and SAS device (scsi target). I hope this will integrate nicely with the top-down work Luben has done

Re: [PATCH] minimal SAS transport class

2005-08-15 Thread Christoph Hellwig
On Mon, Aug 15, 2005 at 11:13:30AM -0400, Luben Tuikov wrote: +void sas_add_target(struct sas_port *port, struct sas_identify *attached, + uint channel, uint target) +{ + if (attached-target_port_protocols + (SAS_PROTOCOL_SSP|SAS_PROTOCOL_STP|SAS_PROTOCOL_SATA)) +