From: Mike Christie <mikenc@us.ibm.com>
To: James Bottomley <James.Bottomley@SteelEye.com>
Cc: Mike Christie <michaelc@cs.wisc.edu>,
Matthew Wilcox <willy@debian.org>, Christoph Hellwig <hch@lst.de>,
iscsi -devel <linux-iscsi-devel@lists.sourceforge.net>,
David Wysochanski <davidw@netapp.com>,
"Surekha.PC" <surekhap@cisco.com>,
SCSI Mailing List <linux-scsi@vger.kernel.org>
Subject: Re: [linux-iscsi-devel] Re: [PATCH RFC] replace ioctl for sysfs take 2
Date: Mon, 06 Sep 2004 19:46:17 -0700 [thread overview]
Message-ID: <413D20F9.6000704@us.ibm.com> (raw)
In-Reply-To: <1094512278.1761.63.camel@mulgrave>
James Bottomley wrote:
> On Mon, 2004-09-06 at 18:48, Mike Christie wrote:
>
>>For bus usage and virtual drivers like this and scsi_debug, would it be
>>better to just have a single virtual bus for all virtual drivers to
>>share, or should we instead modify the scsi_bus so that it can handle
>>ULD and virtual LLD struct device_driver attachments. Today, the
>>scsi_bus seems to be used for upper layer drivers becuase they are the
>>only ones needing to attach UL struct device_drivers to scsi devices,
>>but instead of scsi_debug or iscsi-sfnet implementing its own virtual
>>bus the scsi_bus could manage a low level virtual driver's scsi_host
>>parent's devices.
>>
>>Also, with James's patch we have scsi_devices and scsi_targets off the
>>scsi_bus, does scsi_host's shost_gendev belong there too? What is the
>>purpose of the scsi_bus?>
>
>
> Using a virtual bus only makes sense when you actually have multiple
> virtual drivers that need to attach. Thus, we only have one virtual
> scsi bus (scsi_bus_type) and it's only used for the generic device
> embedded in struct scsi_device. We use it only to attach the various
> ULDs. The host and target devices just have a null bus.
In that first target patch you sent it had the target dev's bus set to
scsi_bus_type. That caused my confusion as to what the bus was for. I
see the new patch with this removed. Nevermind.
> I'm not quite sure what you want to use another bus type for? It sounds
> like you really want to be using a device class instead. The difference
> is
>
> - classes provide (potentially multiple) interfaces to existing devices;
> - busses are used for keeping track of attached devices and matching
> them to their drivers.
>
> Unless you really have a use for device matching and driver attachment,
> you probably just want to stick with classes.
>
We just needed something to track the driver's scsi_hosts. It was also
used becuase we used a struct device_driver to hang setup attributes
(non iscsi related attrs needed to setup our driver's devices without an
ioctl) off of like scsi_debug (this is why I asked about a single
virtual bus for both of us to share).
Since we followed the suggestion to do a host per transport endpoint
when we rmmod the driver we just need some way to loop over every
scsi_host and free them up. We had a linked list of scsi_hosts.
Christoph suggested a class or bus instead of the linked list, and had
preferred the bus. Now you are suggesting to use a class. It wouldn't be
ok to go back to the single host would it? In that case we would not
need a class, bus, or linked list?
next prev parent reply other threads:[~2004-09-07 2:49 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <413557CB.8010008@cs.wisc.edu>
[not found] ` <20040901162042.GC26753@null.msp.redhat.com>
2004-09-06 14:32 ` [linux-iscsi-devel] Re: [PATCH RFC] replace ioctl for sysfs take 2 Christoph Hellwig
2004-09-06 16:33 ` Matthew Wilcox
2004-09-06 18:15 ` Mike Christie
2004-09-06 18:54 ` Mike Christie
2004-09-06 22:48 ` Mike Christie
2004-09-06 23:11 ` James Bottomley
2004-09-07 2:46 ` Mike Christie [this message]
2004-09-07 15:35 ` James Bottomley
2004-09-07 19:19 ` Scott M. Ferris
2004-09-07 20:42 ` James Bottomley
2004-09-07 21:05 ` Scott M. Ferris
2004-09-07 21:12 ` Mike Christie
2004-09-07 21:24 ` Scott M. Ferris
2004-09-07 21:33 ` James Bottomley
2004-09-07 21:37 ` Mike Christie
2004-09-07 22:05 ` James Bottomley
2004-09-07 22:40 ` Mike Christie
2004-09-07 22:57 ` Mike Christie
2004-09-08 10:27 ` Mike Christie
2004-09-07 23:34 ` James Bottomley
2004-09-08 9:19 ` Mike Christie
2004-09-08 14:53 ` James Bottomley
2004-09-07 21:14 ` James Bottomley
2004-09-08 2:33 ` Douglas Gilbert
2004-09-08 14:38 ` Randy.Dunlap
2004-09-08 18:11 ` Bryan Henderson
2004-09-09 0:40 ` Douglas Gilbert
2004-09-09 15:40 ` AJ Lewis
2004-09-07 15:24 ` AJ Lewis
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=413D20F9.6000704@us.ibm.com \
--to=mikenc@us.ibm.com \
--cc=James.Bottomley@SteelEye.com \
--cc=davidw@netapp.com \
--cc=hch@lst.de \
--cc=linux-iscsi-devel@lists.sourceforge.net \
--cc=linux-scsi@vger.kernel.org \
--cc=michaelc@cs.wisc.edu \
--cc=surekhap@cisco.com \
--cc=willy@debian.org \
/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