linux-hotplug.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mike Anderson <andmike@us.ibm.com>
To: linux-hotplug@vger.kernel.org
Subject: [RFC] scsi host sysfs support [0/4]
Date: Mon, 14 Apr 2003 18:37:59 +0000	[thread overview]
Message-ID: <marc-linux-hotplug-105034546325461@msgid-missing> (raw)

This patch set is against 2.5.67 current. It will not apply to scsi-miscs-2.5
as the decl_subsys macro has added a third argument.

This patch set changes the sysfs support for scsi hosts.
- Removes the previous support of shost_devclass device class.

- Modifies scsi_debug to support the new order of object cleanup and also
  changes the structure of sdebug_host_info to help in object cleanup.

- Creates a scsi subsystem. This is rooted at the top of the sysfs tree.

- Creates a scsi_host subsystem under the scsi subsystem. Modified the
  cleanup in scsi remove host. Switched to a kobject embedded in
  scsi_host. If a driver has not be converted to the driver model or does
  not use the scsi_set_device call it will still show up in the scsi_host
  subsystem, but will not have a symlink to the parent.

The usage of driver model classes for scsi hosts was removed because many
of our drivers have not been converted to the driver model so this gave an
inconsistent model to count on for cleanup and migration of some the
procfs support. I tried adding some fake structures to use classes, but it
failed to cleanup properly do to asymmetric cleanup interfaces in the core
code and also did not seem like the correct direction to go.

This change allows for host cleanup when sysfs references drop to zero
(there still needs be work done on scsi mid get / put calls).

I have tested the insmod / rmmod cycle with scsi_debug and booted with the
ips and aic drivers.

Current Known Issues:
	- Current users of scsi_remove_host will need to have there
	  cleanup reordered to support the restoration of the call to the
	  Scsi_Host_Template release.
	- Callers of scsi_set_device should be migrated off this interface
	  if possible.
	- Need better name for symlink than adapter.
	
Example tree:

[root@elm3a49 sys]# tree -d scsi
scsi
`-- scsi_host
    |-- host0
    |   |-- 0:0:0:0
    |   |   |-- 0:0:0:0:gen
    |   |   `-- block -> ../../../../block/sda
    |   |-- 0:0:15:0
    |   |   `-- 0:0:15:0:gen
    |   |-- 0:0:1:0
    |   |   |-- 0:0:1:0:gen
    |   |   `-- block -> ../../../../block/sdb
    |   |-- 0:1:15:0
    |   |   `-- 0:1:15:0:gen
    |   `-- adapter -> ../../../devices/pci0/00:09.0
    |-- host1
    |   `-- adapter -> ../../../devices/pci1/01:03.0
    |-- host3
    |   |-- 3:0:0:0
    |   |   |-- 3:0:0:0:gen
    |   |   `-- block -> ../../../../block/sdc
    |   `-- adapter -> ../../../devices/pseudo_0/adapter0
    `-- host4
        |-- 4:0:0:0
        |   |-- 4:0:0:0:gen
        |   `-- block -> ../../../../block/sdd
        |-- 4:0:4:0
        |   |-- 4:0:4:0:gen
        |   |-- 4:0:4:0:mt
        |   |-- 4:0:4:0:mta
        |   |-- 4:0:4:0:mtan
        |   |-- 4:0:4:0:mtl
        |   |-- 4:0:4:0:mtln
        |   |-- 4:0:4:0:mtm
        |   |-- 4:0:4:0:mtmn
        |   `-- 4:0:4:0:mtn
        |-- 4:0:5:0
        |   |-- 4:0:5:0:gen
        |   `-- block -> ../../../../block/sr0
        `-- adapter -> ../../../devices/pci1/01:03.1

-andmike
--
Michael Anderson
andmike@us.ibm.com



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Linux-hotplug-devel mailing list  http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel

             reply	other threads:[~2003-04-14 18:37 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-04-14 18:37 Mike Anderson [this message]
2003-04-14 23:02 ` [RFC] scsi host sysfs support [0/4] Patrick Mochel
2003-04-14 23:47 ` Mike Anderson
2003-04-14 23:48 ` Patrick Mochel
2003-04-15  0:25 ` Mike Anderson

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=marc-linux-hotplug-105034546325461@msgid-missing \
    --to=andmike@us.ibm.com \
    --cc=linux-hotplug@vger.kernel.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;
as well as URLs for NNTP newsgroup(s).