linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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
> 


  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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).