From: Luben Tuikov <luben_tuikov@adaptec.com>
To: Christoph Hellwig <hch@infradead.org>
Cc: linux-scsi@vger.kernel.org, Stefan Richter <stefanr@s5r6.in-berlin.de>
Subject: Re: [PATCH] minimal SAS transport class
Date: Mon, 29 Aug 2005 14:34:49 -0400 [thread overview]
Message-ID: <43135549.9050703@adaptec.com> (raw)
In-Reply-To: <43134666.1000103@adaptec.com>
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...
>
>
>>structures to the transport does make sense. It's kinda implicit
>
>
> There is *nothing* implicit in a Software Project Specification!
> Everything must be completely explicit.
>
>
>>in the todo list I posted. I also don't really see the point of
>>the embedded kobject.
>
>
> You will, once I post my code.
>
> Think,
> - Hotplugging.
> - More than one "owner" from above.
>
> That is, on a transport you can have a diverse set of
> devices.
>
> What if queuecommand() was *not* the only way to send a
> task to the device? ;-)
Forgot to mention one more thing, which I'm sure you're
aware of:
*If* the kobject hierarchy is set right, then kobject_get()
"gets" this object and _all_ objects which are "parents"
of this object.
And kobject_put() "puts" all objects which are "parent"
of this object, including calling the release method
of each.(*)
You'll need this to support hotplugging on the fly...
Luben
(*) Thus if your sysfs tree is built as the physical world
looks(**), you lock the object(s) when you use them, so that
if any "intervening" object is removed and you get an
event notification for it, you know what to do... ;-)
(**) Which the "transport class" doesn't give you, since it
was never _designed_ for that purpose... unless of course
you slice-it-and-dice-it pretty well. ;-)
>
>
>>We actually already have a list in the scsi_target that chains of the
>>scsi_device, .devices in scsi_target and .same_target_siblings in scsi_device.
>>We just need to use it everywhere.
>
>
> Yes, I've seen all this. And I'm sorry to say, but it is *UGLY AS HELL!*
>
> As I said: before implementing an object by a structure in a software
> project one has to ask themselves what that object is? How will it play
> with the rest of the objects existsing or to be designed? What are
> the dependencies and what is the dependency graph? Etc.
>
> First it starts with a white sheet of paper, pencil on one side
> and a spec on the other.
>
>
>>Yes. that's what I ment with my item (3) (sorry, I hate all this
>>techno-babble, simple language is much easier to understand normally)
>
>
> Ok, sorry, it's that software specificaion "tehcno-babble" thing talking
> through me again.
>
> Luben
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
next prev parent reply other threads:[~2005-08-29 18:34 UTC|newest]
Thread overview: 83+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-08-23 16:16 [PATCH] minimal SAS transport class James.Smart
2005-08-23 17:28 ` Stefan Richter
2005-08-24 0:02 ` Luben Tuikov
2005-08-24 9:12 ` Christoph Hellwig
2005-08-26 15:47 ` Luben Tuikov
2005-08-26 16:29 ` scsi device driver Yijian Wang
2005-08-26 19:24 ` [PATCH] minimal SAS transport class Jeff Garzik
2005-08-26 19:44 ` Luben Tuikov
2005-08-27 1:53 ` Jeff Garzik
2005-08-27 7:35 ` Stefan Richter
2005-08-28 22:27 ` Luben Tuikov
2005-08-29 5:16 ` Stefan Richter
2005-08-29 17:11 ` Christoph Hellwig
2005-08-29 17:20 ` Luben Tuikov
2005-08-29 17:25 ` Christoph Hellwig
2005-08-29 17:16 ` Christoph Hellwig
2005-08-29 17:31 ` Luben Tuikov
2005-08-29 18:34 ` Luben Tuikov [this message]
2005-08-29 18:09 ` James Bottomley
2005-08-23 17:57 ` Patrick Mansfield
-- strict thread matches above, loose matches on Subject: below --
2005-08-23 18:25 James.Smart
2005-08-22 23:08 Moore, Eric Dean
2005-08-24 8:59 ` Christoph Hellwig
2005-08-20 4:15 James.Smart
2005-08-20 4:57 ` Jeff Garzik
2005-08-20 17:23 ` Luben Tuikov
2005-08-21 17:03 ` Christoph Hellwig
2005-08-21 16:52 ` Christoph Hellwig
2005-08-21 18:23 ` Luben Tuikov
2005-08-22 4:55 ` Matt Domsch
2005-08-22 17:05 ` Luben Tuikov
2005-08-22 21:53 ` Mike Anderson
2005-08-23 23:55 ` Luben Tuikov
2005-08-24 17:12 ` Patrick Mansfield
2005-08-24 20:05 ` Luben Tuikov
2005-08-24 20:42 ` Patrick Mansfield
2005-08-24 21:48 ` Luben Tuikov
2005-08-23 11:10 ` Douglas Gilbert
2005-08-23 6:27 ` Hannes Reinecke
2005-08-23 15:42 ` Patrick Mansfield
2005-08-23 15:53 ` Matthew Wilcox
2005-08-24 0:13 ` Luben Tuikov
2005-08-25 19:32 ` Stefan Richter
2005-08-25 20:06 ` Jeff Garzik
2005-08-26 16:43 ` Luben Tuikov
2005-08-26 17:22 ` James Bottomley
2005-08-26 18:16 ` Luben Tuikov
2005-08-26 18:48 ` Jeff Garzik
2005-08-26 19:37 ` Luben Tuikov
2005-08-27 1:39 ` Jeff Garzik
2005-08-27 7:11 ` Stefan Richter
2005-08-28 22:13 ` Luben Tuikov
2005-08-18 18:48 James.Smart
2005-08-18 19:04 ` Jeff Garzik
2005-08-19 14:06 ` Christoph Hellwig
2005-08-19 17:51 ` Luben Tuikov
2005-08-19 17:54 ` Christoph Hellwig
2005-08-19 17:56 ` Luben Tuikov
2005-08-19 17:59 ` Christoph Hellwig
2005-08-19 18:07 ` Luben Tuikov
2005-08-19 19:59 ` James Bottomley
2005-08-19 20:32 ` Luben Tuikov
2005-08-19 20:54 ` Jeff Garzik
2005-08-20 9:18 ` Christoph Hellwig
2005-08-20 17:34 ` Luben Tuikov
2005-08-21 6:41 ` Arjan van de Ven
2005-08-21 17:07 ` Christoph Hellwig
2005-08-19 19:08 ` Luben Tuikov
2005-08-18 20:06 ` Luben Tuikov
2005-08-19 14:04 ` Christoph Hellwig
2005-08-18 14:43 James.Smart
2005-08-18 14:02 James.Smart
2005-08-18 17:56 ` Christoph Hellwig
2005-08-18 20:05 ` Luben Tuikov
2005-08-19 14:15 ` Christoph Hellwig
2005-08-18 11:57 James.Smart
2005-08-15 13:55 Christoph Hellwig
2005-08-15 14:19 ` Luben Tuikov
2005-08-15 14:35 ` Arjan van de Ven
2005-08-15 15:04 ` Luben Tuikov
2005-08-15 15:13 ` Luben Tuikov
2005-08-15 15:21 ` Christoph Hellwig
2005-08-15 15:33 ` Luben Tuikov
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=43135549.9050703@adaptec.com \
--to=luben_tuikov@adaptec.com \
--cc=hch@infradead.org \
--cc=linux-scsi@vger.kernel.org \
--cc=stefanr@s5r6.in-berlin.de \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.