From: Dan Williams <dan.j.williams@intel.com>
To: linux-scsi@vger.kernel.org
Cc: linux-ide@vger.kernel.org
Subject: [PATCH v8 00/13] libsas error handling + discovery v8
Date: Fri, 10 Feb 2012 00:44:39 -0800 [thread overview]
Message-ID: <20120210084411.25701.94502.stgit@dwillia2-linux.jf.intel.com> (raw)
Changes since v7: http://marc.info/?l=linux-scsi&m=132739159230095&w=2
1/ Dropped "libsas: feed the scsi_block_when_processing_errors() meter"
[1]. Patches 1-3 are just resends of the patches affected by that
rebase.
2/ Fixed up the phy identify data that is exported to userspace.
sas_phy/phyX/device_type and sas_phy/phyX/target_port_protocols are
now populated more reliably. Patches 4-5
3/ User-disabled ssp phys are now no longer inadvertantly re-enabled by
error recovery (they need an explicit reset from userspace). This
enables scripted hotplug testing. Patches 6-8
4/ Fixed up the eh_strategy_handlers to prevent them being called from
outside eh context, added an abort handler, and made sure all resets
are notified to the lldd. Patches 9-12
5/ A small diet for sas_task to move slow path infrastructue out of the
fast path use case. Patch 13
[1]: http://marc.info/?l=linux-scsi&m=132677728817896&w=2
---
[PATCH 01/13] libsas: close scsi_remove_target() vs libata-eh race
[PATCH 02/13] libsas: improve debug statements
[PATCH 03/13] libsas: async ata scanning
[PATCH 04/13] libsas: set attached device type and target protocols for local phys
[PATCH 05/13] libsas: fixup target_port_protocols for expanders that don't report sata
[PATCH 06/13] libsas: don't recover end devices attached to disabled phys
[PATCH 07/13] scsi_transport_sas: 'enable' phys on reset
[PATCH 08/13] libsas: libsas.force_hard_reset module parameter
[PATCH 09/13] libsas: enforce eh strategy handlers only in eh context
[PATCH 10/13] libsas: add sas_eh_abort_handler
[PATCH 11/13] libsas: use ->lldd_I_T_nexus_reset for ->eh_bus_reset_handler
[PATCH 12/13] isci: use sas eh strategy handlers
[PATCH 13/13] libsas: trim sas_task of slow path infrastructure
The following changes since commit d65b4e98d7ea3038b767b70fe8be959b2913f16d:
Linux 3.3-rc3 (2012-02-08 19:21:53 -0800)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/djbw/isci.git libsas-eh-reworks-v8
Dan Williams (58):
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: 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 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
libsas: fix lifetime of SAS_HA_FROZEN
libsas: revert ata srst
libsas: set attached device type and target protocols for local phys
libsas: fixup target_port_protocols for expanders that don't report sata
libsas: don't recover end devices attached to disabled phys
scsi_transport_sas: 'enable' phys on reset
libsas: libsas.force_hard_reset module parameter
libsas: enforce eh strategy handlers only in eh context
libsas: add sas_eh_abort_handler
libsas: use ->lldd_I_T_nexus_reset for ->eh_bus_reset_handler
isci: use sas eh strategy handlers
libsas: trim sas_task of slow path infrastructure
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/kernel-parameters.txt | 6 +
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 | 11 +-
drivers/scsi/isci/host.c | 8 +-
drivers/scsi/isci/host.h | 19 +-
drivers/scsi/isci/init.c | 17 +-
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 | 827 +++++++++++++++++------------------
drivers/scsi/libsas/sas_discover.c | 216 ++++++++--
drivers/scsi/libsas/sas_event.c | 96 ++++-
drivers/scsi/libsas/sas_expander.c | 360 ++++++++++------
drivers/scsi/libsas/sas_host_smp.c | 11 +-
drivers/scsi/libsas/sas_init.c | 243 +++++++++--
drivers/scsi/libsas/sas_internal.h | 97 +++--
drivers/scsi/libsas/sas_phy.c | 12 +-
drivers/scsi/libsas/sas_port.c | 32 +-
drivers/scsi/libsas/sas_scsi_host.c | 421 +++++++++----------
drivers/scsi/mvsas/mv_init.c | 2 -
drivers/scsi/mvsas/mv_sas.c | 31 +-
drivers/scsi/pm8001/pm8001_init.c | 2 -
drivers/scsi/pm8001/pm8001_sas.c | 59 ++--
drivers/scsi/scsi_transport_sas.c | 60 +++-
include/linux/libata.h | 2 +
include/scsi/libsas.h | 86 +++--
include/scsi/sas.h | 4 +-
include/scsi/sas_ata.h | 44 ++-
include/scsi/scsi_transport_sas.h | 12 +-
43 files changed, 1859 insertions(+), 1621 deletions(-)
next reply other threads:[~2012-02-10 8:29 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-10 8:44 Dan Williams [this message]
2012-02-10 8:44 ` [PATCH v8 01/13] libsas: close scsi_remove_target() vs libata-eh race Dan Williams
2012-02-10 18:32 ` Jeff Garzik
2012-02-10 19:09 ` Dan Williams
2012-02-10 8:44 ` [PATCH v8 02/13] libsas: improve debug statements Dan Williams
2012-02-10 8:44 ` [PATCH v8 03/13] libsas: async ata scanning Dan Williams
2012-02-10 18:34 ` Jeff Garzik
2012-02-10 8:45 ` [PATCH v8 04/13] libsas: set attached device type and target protocols for local phys Dan Williams
2012-02-10 8:45 ` [PATCH v8 05/13] libsas: fixup target_port_protocols for expanders that don't report sata Dan Williams
2012-02-10 8:45 ` [PATCH v8 06/13] libsas: don't recover end devices attached to disabled phys Dan Williams
2012-02-10 8:45 ` [PATCH v8 07/13] scsi_transport_sas: 'enable' phys on reset Dan Williams
2012-02-10 8:45 ` [PATCH v8 08/13] libsas: libsas.force_hard_reset module parameter Dan Williams
2012-02-29 21:55 ` James Bottomley
2012-02-29 22:40 ` Douglas Gilbert
2012-02-29 23:27 ` Dan Williams
2012-03-01 0:23 ` Douglas Gilbert
2012-03-01 0:35 ` Dan Williams
2012-02-29 23:22 ` Dan Williams
2012-03-01 14:27 ` James Bottomley
2012-02-10 8:45 ` [PATCH v8 09/13] libsas: enforce eh strategy handlers only in eh context Dan Williams
2012-02-29 22:05 ` James Bottomley
2012-03-01 0:28 ` Dan Williams
2012-03-01 14:29 ` James Bottomley
2012-03-06 19:17 ` Dan Williams
2012-02-10 8:45 ` [PATCH v8 10/13] libsas: add sas_eh_abort_handler Dan Williams
2012-02-10 8:45 ` [PATCH v8 11/13] libsas: use ->lldd_I_T_nexus_reset for ->eh_bus_reset_handler Dan Williams
2012-02-10 8:45 ` [PATCH v8 12/13] isci: use sas eh strategy handlers Dan Williams
2012-02-10 8:45 ` [PATCH v8 13/13] libsas: trim sas_task of slow path infrastructure Dan Williams
2012-02-15 1:09 ` Jack Wang
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=20120210084411.25701.94502.stgit@dwillia2-linux.jf.intel.com \
--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).