All of lore.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:06 UTC|newest]

Thread overview: 21+ 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-04-29 10:11 ` Christoph Hellwig
2005-06-01 21:49 Moore, Eric Dean
2005-06-02 14:32 Miller, Mike (OS Dev)
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 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.