From: Dan Williams <dan.j.williams@intel.com>
To: linux-scsi@vger.kernel.org
Cc: linux-ide@vger.kernel.org
Subject: [PATCH v6 0/7] libsas error handling + discovery v6
Date: Fri, 20 Jan 2012 17:50:39 -0800 [thread overview]
Message-ID: <20120121014910.24930.54011.stgit@localhost6.localdomain6> (raw)
Changes since v5: http://marc.info/?l=linux-scsi&m=132656475829637&w=2
1/ Reworked "libsas: let libata recover links that fail to transmit initial
sig-fis" to better handle problematic expanders and slow to attach ata
devices. libsas will now validate linkrate and take 'device-type' into
account when determining if a new device is attached.
2/ Added support for asynchronously scanning ata devices.
3/ Reworked "libsas: fix sas_unregister_ports vs sas_drain_work" as lockdep
complained about the original.
4/ New patch "libsas: fix sas port naming" makes direct-attached device naming
more predictable and consistent with expander attached device naming.
5/ Made scan order more predictable by ensuring that regardless of device type
we always attach in discovery order. Slow to link devices will still be
scanned out of order, link needs to be in at least the 'stp pending' state
before the device will be considered attached.
---
Dan Williams (7):
libsas: fix sas_unregister_ports vs sas_drain_work
libsas: improve ata debug statements
libsas: fix sas port naming
libsas: let libata recover links that fail to transmit initial sig-fis
libsas: delete device on sas address changed
libsas: restore scan order
libsas: async ata scanning
drivers/ata/libata-core.c | 34 +++--
drivers/ata/libata-scsi.c | 13 ++
drivers/ata/libata.h | 1
drivers/scsi/aic94xx/aic94xx_init.c | 1
drivers/scsi/isci/init.c | 1
drivers/scsi/libsas/sas_ata.c | 187 +++++++++++++++++++++--------
drivers/scsi/libsas/sas_discover.c | 47 +++++--
drivers/scsi/libsas/sas_event.c | 19 ++-
drivers/scsi/libsas/sas_expander.c | 229 +++++++++++++++++++++--------------
drivers/scsi/libsas/sas_init.c | 18 ++-
drivers/scsi/libsas/sas_internal.h | 16 ++
drivers/scsi/libsas/sas_port.c | 2
drivers/scsi/libsas/sas_scsi_host.c | 18 ---
drivers/scsi/mvsas/mv_init.c | 1
drivers/scsi/pm8001/pm8001_init.c | 1
include/linux/libata.h | 1
include/scsi/libsas.h | 1
include/scsi/sas.h | 4 -
include/scsi/sas_ata.h | 23 ++--
19 files changed, 398 insertions(+), 219 deletions(-)
Full snapshot in git: note that libsas-eh-reworks-v4..libsas-eh-reworks-v6 is
a fast-forward, but that will not always be the case.
The following changes since commit 76ffe8a3f766358a0ade543153625b3e4e66159d:
[SCSI] libfc: remove redundant timer init for fcp (2012-01-16 12:47:18 +0400)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/djbw/isci.git libsas-eh-reworks-v6
Dan Williams (47):
libsas: remove unused ata_task_resp fields
libsas: kill sas_slave_destroy
libsas: fix domain_device leak
libsas: fix leak of dev->sata_dev.identify_[packet_]device
libsas: replace event locks with atomic bitops
libsas: convert ha->state to flags
libsas: introduce sas_drain_work()
libsas: remove ata_port.lock management duties from lldds
libsas: convert dev->gone to flags
libsas: prevent domain rediscovery competing with ata error handling
libsas: use ->set_dmamode to notify lldds of NCQ parameters
libsas: kill invocation of scsi_eh_finish_cmd from sas_ata_task_done
libsas: close error handling vs sas_ata_task_done() race
libsas: prevent double completion of scmds from eh
libsas: fix timeout vs completion race
libsas: let libata handle command timeouts
libsas: defer SAS_TASK_NEED_DEV_RESET commands to libata
libsas: use libata-eh-reset for sata rediscovery fis transmit failures
libsas: perform sas-transport resets in shost->workq context
libsas: execute transport link resets with libata-eh via host workqueue
libsas: sas_phy_enable via transport_sas_phy_reset
libsas: async ata-eh
libsas: poll for ata device readiness after reset
libsas: don't mark expanders as gone when a child device is removed
libsas: check for 'gone' expanders in smp_execute_task()
libsas: fix sas_find_local_phy(), take phy references
libsas: don't recover 'gone' devices in sas_ata_hard_reset()
isci: kill iphy->isci_port lookups
isci: kill isci_port->status
isci: fix interpretation of "hard" reset
isci: stop interpreting ->lldd_lu_reset() as an ata soft-reset
isci: ->lldd_ata_check_ready handler
isci: remove bus and reset handlers
isci: remove IDEV_EH hack to disable "discovery-time" ata resets
libsas: pre-clean commands that won the eh vs completion race
libsas: feed the scsi_block_when_processing_errors() meter
libsas: mark all domain devices gone if root port disappears
libsas: close scsi_remove_target() vs libata-eh race
libsas: fix mixed topology recovery
libsas: route local link resets through ata-eh
libsas: fix sas_unregister_ports vs sas_drain_work
libsas: improve ata debug statements
libsas: fix sas port naming
libsas: let libata recover links that fail to transmit initial sig-fis
libsas: delete device on sas address changed
libsas: restore scan order
libsas: async ata scanning
Jeff Skirvin (2):
libsas: Remove redundant phy state notification calls.
libsas: add mutex for SMP task execution
Maciej Trela (1):
libsas: kill spurious sas_put_device
Documentation/scsi/libsas.txt | 15 -
drivers/ata/libata-core.c | 34 +-
drivers/ata/libata-eh.c | 1 +
drivers/ata/libata-scsi.c | 13 +
drivers/ata/libata.h | 2 +-
drivers/scsi/aic94xx/aic94xx.h | 2 +
drivers/scsi/aic94xx/aic94xx_dev.c | 38 +-
drivers/scsi/aic94xx/aic94xx_init.c | 6 +-
drivers/scsi/aic94xx/aic94xx_tmf.c | 9 +-
drivers/scsi/isci/host.c | 8 +-
drivers/scsi/isci/host.h | 19 +-
drivers/scsi/isci/init.c | 14 +-
drivers/scsi/isci/phy.c | 18 +-
drivers/scsi/isci/phy.h | 1 -
drivers/scsi/isci/port.c | 217 +++++-----
drivers/scsi/isci/port.h | 11 +-
drivers/scsi/isci/remote_device.c | 32 +-
drivers/scsi/isci/remote_device.h | 7 +-
drivers/scsi/isci/request.c | 198 +--------
drivers/scsi/isci/request.h | 9 +-
drivers/scsi/isci/task.c | 158 ++------
drivers/scsi/isci/task.h | 40 --
drivers/scsi/libsas/sas_ata.c | 818 +++++++++++++++++------------------
drivers/scsi/libsas/sas_discover.c | 204 +++++++--
drivers/scsi/libsas/sas_event.c | 96 ++++-
drivers/scsi/libsas/sas_expander.c | 304 +++++++++-----
drivers/scsi/libsas/sas_host_smp.c | 11 +-
drivers/scsi/libsas/sas_init.c | 211 ++++++++-
drivers/scsi/libsas/sas_internal.h | 80 +++--
drivers/scsi/libsas/sas_phy.c | 12 +-
drivers/scsi/libsas/sas_port.c | 30 +-
drivers/scsi/libsas/sas_scsi_host.c | 354 +++++++---------
drivers/scsi/mvsas/mv_init.c | 2 -
drivers/scsi/mvsas/mv_sas.c | 11 +-
drivers/scsi/pm8001/pm8001_init.c | 2 -
drivers/scsi/pm8001/pm8001_sas.c | 29 +-
drivers/scsi/scsi_transport_sas.c | 59 +++-
include/linux/libata.h | 2 +
include/scsi/libsas.h | 70 ++--
include/scsi/sas.h | 4 +-
include/scsi/sas_ata.h | 44 ++-
include/scsi/scsi_transport_sas.h | 12 +-
42 files changed, 1686 insertions(+), 1521 deletions(-)
next reply other threads:[~2012-01-21 1:50 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-21 1:50 Dan Williams [this message]
2012-01-21 1:50 ` [PATCH v6 1/7] libsas: fix sas_unregister_ports vs sas_drain_work Dan Williams
2012-01-21 1:50 ` [PATCH v6 2/7] libsas: improve ata debug statements Dan Williams
2012-01-21 5:36 ` Jack Wang
2012-01-21 20:26 ` Douglas Gilbert
2012-01-23 20:51 ` Dan Williams
2012-01-21 1:50 ` [PATCH v6 3/7] libsas: fix sas port naming Dan Williams
2012-01-21 1:51 ` [PATCH v6 4/7] libsas: let libata recover links that fail to transmit initial sig-fis Dan Williams
2012-01-21 1:51 ` [PATCH v6 5/7] libsas: delete device on sas address changed Dan Williams
2012-01-21 1:51 ` [PATCH v6 6/7] libsas: restore scan order Dan Williams
2012-01-21 1:51 ` [PATCH v6 7/7] libsas: async ata scanning Dan Williams
2012-01-21 6:12 ` [PATCH v6 0/7] libsas error handling + discovery v6 Jack Wang
2012-01-23 20:57 ` Dan Williams
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=20120121014910.24930.54011.stgit@localhost6.localdomain6 \
--to=dan.j.williams@intel.com \
--cc=linux-ide@vger.kernel.org \
--cc=linux-scsi@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).