From: Mike Christie <mikenc@us.ibm.com>
To: James Bottomley <James.Bottomley@SteelEye.com>
Cc: Mike Christie <michaelc@cs.wisc.edu>,
SCSI Mailing List <linux-scsi@vger.kernel.org>
Subject: Re: [PATCH RFC 1/3] add fc transport events
Date: Sun, 13 Jun 2004 16:17:51 -0700 [thread overview]
Message-ID: <40CCE09F.9040206@us.ibm.com> (raw)
In-Reply-To: <1087166778.10940.23.camel@mulgrave>
James Bottomley wrote:
> On Sun, 2004-06-13 at 16:44, Mike Christie wrote:
>
>>I am not adding a host and a device transport class. I am structuring
>>things so there is a single fc transport class.
>
>
> I don't think that's such a good idea. A class is supposed to represent
> an interface on a device.
Ok. I saw the class as representing a "thingy" not necessarily a device,
becuase at one point the mainatiner had taken out the coupling of the
"struct device" to the class_device which I thought this was for. For
example the io scheduler or request queue could and probably should be a
class if you wanted to abe able to hot swap the schedluer. In my case I
was representing the transport itself as a class (the class_device
should have gone into the fc_transport object and a transport_kobject
should have been placed into the host though).
The host and scsi device should have separate
> interfaces. The only reason we don't have any host interfaces in the
> transport classes is because no-one has yet had a reason to add one.
> However, since the loop status is definitely a host property, you
> do...part of what's missing is an attribute showing the loop state. SPI
> has a similar need; the host property there is LVD or SE, and we might
> be interested in transitions between them.
>
>
>>The kobject I added to the scsi_device replaced the class_device (and
>>its kobject) we were previously using for the device oriented transport
>>class. I did this only because I wanted the scsi device's parent to be
>>the host. In my patch, I then added a class_device to the host becuase
>>the host's parent was the "FC Class".
>>
>>There is no technical argument why they couldn't be coded the way you
>>described. My patch just has the FC Class, where under it the device,
>>host and whatever objects arise are set up as parent/children to reflect
>>how SCSI/FC and the kernel structures really were.
>>
>>It does not make a difference to me. It is easier to code just having a
>>fc_host_transport_class and a fc_device_transport_class. It seemed like
>>a waste to add more classes and doing the symlinks when you can just
>>restructure things though.
>
>
> Well do it as two separate classes then. Kobjects and Ksets are a bit
> of a minefield that I'd rather we didn't get into unless it's really,
> really necessary. The abstraction we care about is the interface, which
> to the generic device stuff is the class. If we stick to what we need,
> we'll get broken by generic device changes less often...
>
Ok then.
Will this mean we will end up with device and host specific error
handler issues that the classes will have to coordinate? For example, if
I got a link down I know that cmds are going to be timing out for every
device on the host, but depending on the setup if just the device's port
went down I will not get a link down and may want to do something
different. Or maybe not?
Mike
next prev parent reply other threads:[~2004-06-13 23:19 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-05-27 7:25 [PATCH RFC 1/3] add fc transport events Mike Christie
2004-06-13 3:41 ` James Bottomley
2004-06-13 20:44 ` Mike Christie
2004-06-13 21:23 ` Mike Christie
2004-06-13 22:46 ` James Bottomley
2004-06-13 23:17 ` Mike Christie [this message]
2004-06-14 2:15 ` Douglas Gilbert
2004-06-14 14:28 ` James Bottomley
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=40CCE09F.9040206@us.ibm.com \
--to=mikenc@us.ibm.com \
--cc=James.Bottomley@SteelEye.com \
--cc=linux-scsi@vger.kernel.org \
--cc=michaelc@cs.wisc.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox