public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Luben Tuikov <luben_tuikov@adaptec.com>
To: Christoph Hellwig <hch@infradead.org>
Cc: SCSI Mailing List <linux-scsi@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	andrew.patterson@hp.com, Eric.Moore@lsil.com, mike.miller@hp.com,
	dougg@torque.net, Madhuresh_Nagshain@adaptec.com
Subject: Re: [RFC] SAS domain layout for Linux sysfs
Date: Mon, 25 Apr 2005 12:06:10 -0400	[thread overview]
Message-ID: <426D1572.70508@adaptec.com> (raw)
In-Reply-To: <20050424111908.GA23010@infradead.org>

On 04/24/05 07:19, Christoph Hellwig wrote:
> 
> This is contrary to any sysfs topology I know about, especially any
> existing transport class (SPI, FC, iSCSI).

This RFC is about SAS.

>  We only ever care about what's seen from a HA,

Imagine you could connect to the same device via two
different PCI controllers on the same host.

> e.g. if you have muliple SPI cards that are
> on a single parallel bus you'll have the same bus represented twice,
> similarly if you have two fibre channel HBAs connected to the same
> SAN you'll have the SAN topology duplicated in both sub-topologies.

Hmm, this proposal is for SAS only, Christoph.

If you have multiple SAS host adapters connected to the same
SAS domain, the _path_ they connect to a SAS device may be _different_.
But what is the same is the SAS domain (topology) itself *regardless of
how you connect to it.*

In order to eliminate duplication of sysfs entries (directories
and files) to describe the same SAS device, we split up the
representation into a "flat" directory with just a bunch
of SAS devices, this is /sys/bus/sas/.  And the way you _connect_
to those SAS devices is represented in sys/class/sas_ha/.

See this (new) picture:
           |                        |
+-------+  |                        |
|ha0 [] =--|-----------.            |
+---||||+  |            \  +-----+  |
           |             `-= ex2 =--|--> ta0
           |               |     =--|--> in2
           |             .-=     =--|--> ta2
+-------+  |  +-----+   /  +-----+  |
|ha1 [] =--|--= ex1 =--'            |
+---||||+  |  +-----+               |
           |                        |
Host domain| Sysfs SAS domain only  | Both domains

Anything *but* "Host domain" is "out there" and *doesn't
change* regardless of how you connect to it.

What changes is *how you connect* to to SAS devices from
your host (the host domain).

In effect ta0, in2, ta2, ex1, ex2 are represented only *once*,
in /sys/bus/sas/.  But the way your host adapter connects to
them is described in /sys/class/sas_ha/, with the appropriate
symbolic links as described in the RFC.

	Luben


> This matches the internal data structure of the scsi subsystem and
> the transport class, e.g. we have a scsi_device object for every lun
> that's seen from a hba, linked to the HBAs Scsi_Host object and not
> one shared by multiple HBAs.  Dito for fibre channel remote ports.
> 
> 
> One note to this proposal:  it probably doesn't make a lot of sense to
> try to flesh out the sysfs topology before doing the kernel internal
> object model as the former pretty much follows the latter.
> 


  reply	other threads:[~2005-04-25 16:15 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-04-13 15:22 [RFC] SAS domain layout for Linux sysfs Luben Tuikov
2005-04-24 11:19 ` Christoph Hellwig
2005-04-25 16:06   ` Luben Tuikov [this message]
2005-04-25 16:14     ` Christoph Hellwig
2005-04-25 17:21       ` Luben Tuikov
2005-04-25 18:18         ` Christoph Hellwig
2005-04-26 15:18           ` Luben Tuikov
2005-04-27 12:34             ` Douglas Gilbert
2005-04-27 15:38               ` Luben Tuikov
2005-04-29 10:08               ` Christoph Hellwig
2005-05-02 14:35                 ` Luben Tuikov
2005-04-29 10:05             ` Christoph Hellwig
2005-05-02 14:30               ` Luben Tuikov
  -- strict thread matches above, loose matches on Subject: below --
2005-04-27 14:54 Martin Peschke3
2005-04-27 15:52 ` Luben Tuikov
2005-04-27 18:57 ` David S. Miller
2005-06-01 21:49 Moore, Eric Dean
2005-06-02 14:32 Miller, Mike (OS Dev)
2005-06-02 14:57 ` 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=426D1572.70508@adaptec.com \
    --to=luben_tuikov@adaptec.com \
    --cc=Eric.Moore@lsil.com \
    --cc=Madhuresh_Nagshain@adaptec.com \
    --cc=andrew.patterson@hp.com \
    --cc=dougg@torque.net \
    --cc=hch@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=mike.miller@hp.com \
    /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