Patchwork [GIT,00/12] libsas fixes for 3.4

login
register
mail settings
Submitter Dan Williams
Date April 13, 2012, 11:36 p.m.
Message ID <20120413233343.8025.18101.stgit@dwillia2-linux.jf.intel.com>
Download mbox
Permalink /patch/152439/
State Not Applicable
Delegated to: David Miller
Headers show

Pull-request

git://git.kernel.org/pub/scm/linux/kernel/git/djbw/isci.git tags/libsas-fixes

Comments

Dan Williams - April 13, 2012, 11:36 p.m.
The following changes since commit cd8df932d894f3128c884e3ae1b2b484540513db:

  [SCSI] qla4xxx: Update driver version to 5.02.00-k15 (2012-02-29 17:03:03 -0600)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/djbw/isci.git tags/libsas-fixes

for you to fetch changes up to e81dcce46fdbb2c968d7314c2f19da3c2bba24d1:

  scsi_transport_sas: fix delete vs scan race (2012-04-10 19:15:23 -0700)

----------------------------------------------------------------
libsas-fixes for 3.4-rc4

Regression fixes to stabilize the new workqueue and ata asynchronous
error handling implementations that were merged for v3.4-rc1.

1/ fix sas_drain_work() which was stomping on 'work' entries while the
   workqueue was manipulating them.  user would see random crashes when
   trying to use scsi_transport_sas attributes for resets, or during
   discovery

2/ (2) longstanding bugs related to the fact that libata (inventor and
   primary host_eh_scheduled user) had built-in assumptions of 1:1
   Scsi_Host-to-ata_port relationship.  The libsas 1:N arrangement
   magnified these problems when it gained async eh and began scheduling
   eh in more scenarios (sas-transports resets) in 3.4-rc1.

3/ lifetime fixes for the rphy since code that has a domain_device
   reference expected to be able to de-reference rphy parameters.

4/ (3) fixes for expander discovery bugs, one a recent regression with
   ata-eh clobbering expander-phy data as it polled leading to system
   crashes, a long standing bug that caused libsas to be
   incompatible with expanders that advertised "PHY_VACANT" in low order
   phy indexes, and a quirk for expanders that sometimes fail to zero
   the sas address when no device is attached.

5/ fix for a long-standing bug whereby hotunplug events during initial
   host scan can cause a system crash

----------------------------------------------------------------

This is a reflow of the 26 patches in the libsas-eh-reworks-v15 branch
to separate out the 12 fixes from the other feature development.  These
patches, save for the new "scsi: fix eh wakeup (scsi_schedule_eh vs
scsi_restart_operations)", were all originally posted before the merge
window opened, and have also appeared in -next for the same timeframe.

There is a mix of pure regression fixes and fixes for long-standing bugs
in libsas.  Some of the long-standing bug fixes are made worse / easier
to trigger by the new async error handling scheme.

The largest patch in the series is "libata, libsas: introduce sched_eh
and end_eh port ops" wants an ack from the ata folks, it has been on the
list since March 10th.

Dan Williams (10):
      libsas: introduce sas_work to fix sas_drain_work vs sas_queue_work
      libata, libsas: introduce sched_eh and end_eh port ops
      libsas: fix sas_get_port_device regression
      libsas: unify domain_device sas_rphy lifetimes
      libsas: fix ata_eh clobbering ex_phys via smp_ata_check_ready
      libata: make ata_print_id atomic
      libsas, libata: fix start of life for a sas ata_port
      scsi: fix eh wakeup (scsi_schedule_eh vs scsi_restart_operations)
      libsas: fix false positive 'device attached' conditions
      scsi_transport_sas: fix delete vs scan race

Maciej Trela (1):
      libsas: cleanup spurious calls to scsi_schedule_eh

Thomas Jackson (1):
      libsas: fix sas_find_bcast_phy() in the presence of 'vacant' phys

 drivers/ata/libata-core.c           |    8 +++-
 drivers/ata/libata-eh.c             |   57 +++++++++++++++++++++------
 drivers/ata/libata-scsi.c           |   35 +++++++++--------
 drivers/ata/libata.h                |    2 +-
 drivers/scsi/ipr.c                  |    6 ++-
 drivers/scsi/libsas/sas_ata.c       |   72 +++++++++++++++++++++--------------
 drivers/scsi/libsas/sas_discover.c  |   67 ++++++++++++++++++--------------
 drivers/scsi/libsas/sas_event.c     |   36 +++++++++---------
 drivers/scsi/libsas/sas_expander.c  |   56 +++++++++++++++++++++------
 drivers/scsi/libsas/sas_init.c      |   25 ++++++------
 drivers/scsi/libsas/sas_internal.h  |    6 +--
 drivers/scsi/libsas/sas_phy.c       |   21 ++++------
 drivers/scsi/libsas/sas_port.c      |   15 +++-----
 drivers/scsi/libsas/sas_scsi_host.c |   28 ++++++++++----
 drivers/scsi/scsi_error.c           |   14 +++++++
 drivers/scsi/scsi_transport_sas.c   |    6 ++-
 include/linux/libata.h              |    7 +++-
 include/scsi/libsas.h               |   44 ++++++++++++++++++---
 include/scsi/sas_ata.h              |    9 ++++-
 19 files changed, 343 insertions(+), 171 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Jack Wang - April 14, 2012, 8:19 a.m.
SGkgRGFuLA0KDQpUaGFua3MgZm9yIGRvaW5nIHRoaXMuIEkndmUgdGVzdGVkIHRoaXMgcGF0Y2hz
ZXQgZm9yIGEgd2hpbGUgYW5kIGl0IHdvcmtzIGdvb2QuDQoNCllvdSBjYW4gYWRkIG15IHRlc3Qt
Ynkgb3IgYWNrZWQtYnkgaWYgbmVlZGVkLg0KDQpCZXN0IHJlZ2FyZHMhIA0KDQoNCi0tLS0tLS0t
LS0tLS0tDQpqYWNrX3dhbmcNCj5UaGUgZm9sbG93aW5nIGNoYW5nZXMgc2luY2UgY29tbWl0IGNk
OGRmOTMyZDg5NGYzMTI4Yzg4NGUzYWUxYjJiNDg0NTQwNTEzZGI6DQo+DQo+ICBbU0NTSV0gcWxh
NHh4eDogVXBkYXRlIGRyaXZlciB2ZXJzaW9uIHRvIDUuMDIuMDAtazE1ICgyMDEyLTAyLTI5IDE3
OjAzOjAzIC0wNjAwKQ0KPg0KPmFyZSBhdmFpbGFibGUgaW4gdGhlIGdpdCByZXBvc2l0b3J5IGF0
Og0KPg0KPiAgZ2l0Oi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9saW51eC9rZXJuZWwvZ2l0L2Rq
YncvaXNjaS5naXQgdGFncy9saWJzYXMtZml4ZXMNCj4NCj5mb3IgeW91IHRvIGZldGNoIGNoYW5n
ZXMgdXAgdG8gZTgxZGNjZTQ2ZmRiYjJjOTY4ZDczMTRjMmYxOWRhM2MyYmJhMjRkMToNCj4NCj4g
IHNjc2lfdHJhbnNwb3J0X3NhczogZml4IGRlbGV0ZSB2cyBzY2FuIHJhY2UgKDIwMTItMDQtMTAg
MTk6MTU6MjMgLTA3MDApDQo+DQo+LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPmxpYnNhcy1maXhlcyBmb3IgMy40LXJjNA0K
Pg0KPlJlZ3Jlc3Npb24gZml4ZXMgdG8gc3RhYmlsaXplIHRoZSBuZXcgd29ya3F1ZXVlIGFuZCBh
dGEgYXN5bmNocm9ub3VzDQo+ZXJyb3IgaGFuZGxpbmcgaW1wbGVtZW50YXRpb25zIHRoYXQgd2Vy
ZSBtZXJnZWQgZm9yIHYzLjQtcmMxLg0KPg0KPjEvIGZpeCBzYXNfZHJhaW5fd29yaygpIHdoaWNo
IHdhcyBzdG9tcGluZyBvbiAnd29yaycgZW50cmllcyB3aGlsZSB0aGUNCj4gICB3b3JrcXVldWUg
d2FzIG1hbmlwdWxhdGluZyB0aGVtLiAgdXNlciB3b3VsZCBzZWUgcmFuZG9tIGNyYXNoZXMgd2hl
bg0KPiAgIHRyeWluZyB0byB1c2Ugc2NzaV90cmFuc3BvcnRfc2FzIGF0dHJpYnV0ZXMgZm9yIHJl
c2V0cywgb3IgZHVyaW5nDQo+ICAgZGlzY292ZXJ5DQo+DQo+Mi8gKDIpIGxvbmdzdGFuZGluZyBi
dWdzIHJlbGF0ZWQgdG8gdGhlIGZhY3QgdGhhdCBsaWJhdGEgKGludmVudG9yIGFuZA0KPiAgIHBy
aW1hcnkgaG9zdF9laF9zY2hlZHVsZWQgdXNlcikgaGFkIGJ1aWx0LWluIGFzc3VtcHRpb25zIG9m
IDE6MQ0KPiAgIFNjc2lfSG9zdC10by1hdGFfcG9ydCByZWxhdGlvbnNoaXAuICBUaGUgbGlic2Fz
IDE6TiBhcnJhbmdlbWVudA0KPiAgIG1hZ25pZmllZCB0aGVzZSBwcm9ibGVtcyB3aGVuIGl0IGdh
aW5lZCBhc3luYyBlaCBhbmQgYmVnYW4gc2NoZWR1bGluZw0KPiAgIGVoIGluIG1vcmUgc2NlbmFy
aW9zIChzYXMtdHJhbnNwb3J0cyByZXNldHMpIGluIDMuNC1yYzEuDQo+DQo+My8gbGlmZXRpbWUg
Zml4ZXMgZm9yIHRoZSBycGh5IHNpbmNlIGNvZGUgdGhhdCBoYXMgYSBkb21haW5fZGV2aWNlDQo+
ICAgcmVmZXJlbmNlIGV4cGVjdGVkIHRvIGJlIGFibGUgdG8gZGUtcmVmZXJlbmNlIHJwaHkgcGFy
YW1ldGVycy4NCj4NCj40LyAoMykgZml4ZXMgZm9yIGV4cGFuZGVyIGRpc2NvdmVyeSBidWdzLCBv
bmUgYSByZWNlbnQgcmVncmVzc2lvbiB3aXRoDQo+ICAgYXRhLWVoIGNsb2JiZXJpbmcgZXhwYW5k
ZXItcGh5IGRhdGEgYXMgaXQgcG9sbGVkIGxlYWRpbmcgdG8gc3lzdGVtDQo+ICAgY3Jhc2hlcywg
YSBsb25nIHN0YW5kaW5nIGJ1ZyB0aGF0IGNhdXNlZCBsaWJzYXMgdG8gYmUNCj4gICBpbmNvbXBh
dGlibGUgd2l0aCBleHBhbmRlcnMgdGhhdCBhZHZlcnRpc2VkICJQSFlfVkFDQU5UIiBpbiBsb3cg
b3JkZXINCj4gICBwaHkgaW5kZXhlcywgYW5kIGEgcXVpcmsgZm9yIGV4cGFuZGVycyB0aGF0IHNv
bWV0aW1lcyBmYWlsIHRvIHplcm8NCj4gICB0aGUgc2FzIGFkZHJlc3Mgd2hlbiBubyBkZXZpY2Ug
aXMgYXR0YWNoZWQuDQo+DQo+NS8gZml4IGZvciBhIGxvbmctc3RhbmRpbmcgYnVnIHdoZXJlYnkg
aG90dW5wbHVnIGV2ZW50cyBkdXJpbmcgaW5pdGlhbA0KPiAgIGhvc3Qgc2NhbiBjYW4gY2F1c2Ug
YSBzeXN0ZW0gY3Jhc2gNCj4NCj4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+DQo+VGhpcyBpcyBhIHJlZmxvdyBvZiB0aGUg
MjYgcGF0Y2hlcyBpbiB0aGUgbGlic2FzLWVoLXJld29ya3MtdjE1IGJyYW5jaA0KPnRvIHNlcGFy
YXRlIG91dCB0aGUgMTIgZml4ZXMgZnJvbSB0aGUgb3RoZXIgZmVhdHVyZSBkZXZlbG9wbWVudC4g
IFRoZXNlDQo+cGF0Y2hlcywgc2F2ZSBmb3IgdGhlIG5ldyAic2NzaTogZml4IGVoIHdha2V1cCAo
c2NzaV9zY2hlZHVsZV9laCB2cw0KPnNjc2lfcmVzdGFydF9vcGVyYXRpb25zKSIsIHdlcmUgYWxs
IG9yaWdpbmFsbHkgcG9zdGVkIGJlZm9yZSB0aGUgbWVyZ2UNCj53aW5kb3cgb3BlbmVkLCBhbmQg
aGF2ZSBhbHNvIGFwcGVhcmVkIGluIC1uZXh0IGZvciB0aGUgc2FtZSB0aW1lZnJhbWUuDQo+DQo+
VGhlcmUgaXMgYSBtaXggb2YgcHVyZSByZWdyZXNzaW9uIGZpeGVzIGFuZCBmaXhlcyBmb3IgbG9u
Zy1zdGFuZGluZyBidWdzDQo+aW4gbGlic2FzLiAgU29tZSBvZiB0aGUgbG9uZy1zdGFuZGluZyBi
dWcgZml4ZXMgYXJlIG1hZGUgd29yc2UgLyBlYXNpZXINCj50byB0cmlnZ2VyIGJ5IHRoZSBuZXcg
YXN5bmMgZXJyb3IgaGFuZGxpbmcgc2NoZW1lLg0KPg0KPlRoZSBsYXJnZXN0IHBhdGNoIGluIHRo
ZSBzZXJpZXMgaXMgImxpYmF0YSwgbGlic2FzOiBpbnRyb2R1Y2Ugc2NoZWRfZWgNCj5hbmQgZW5k
X2VoIHBvcnQgb3BzIiB3YW50cyBhbiBhY2sgZnJvbSB0aGUgYXRhIGZvbGtzLCBpdCBoYXMgYmVl
biBvbiB0aGUNCj5saXN0IHNpbmNlIE1hcmNoIDEwdGguDQo+DQo+RGFuIFdpbGxpYW1zICgxMCk6
DQo+ICAgICAgbGlic2FzOiBpbnRyb2R1Y2Ugc2FzX3dvcmsgdG8gZml4IHNhc19kcmFpbl93b3Jr
IHZzIHNhc19xdWV1ZV93b3JrDQo+ICAgICAgbGliYXRhLCBsaWJzYXM6IGludHJvZHVjZSBzY2hl
ZF9laCBhbmQgZW5kX2VoIHBvcnQgb3BzDQo+ICAgICAgbGlic2FzOiBmaXggc2FzX2dldF9wb3J0
X2RldmljZSByZWdyZXNzaW9uDQo+ICAgICAgbGlic2FzOiB1bmlmeSBkb21haW5fZGV2aWNlIHNh
c19ycGh5IGxpZmV0aW1lcw0KPiAgICAgIGxpYnNhczogZml4IGF0YV9laCBjbG9iYmVyaW5nIGV4
X3BoeXMgdmlhIHNtcF9hdGFfY2hlY2tfcmVhZHkNCj4gICAgICBsaWJhdGE6IG1ha2UgYXRhX3By
aW50X2lkIGF0b21pYw0KPiAgICAgIGxpYnNhcywgbGliYXRhOiBmaXggc3RhcnQgb2YgbGlmZSBm
b3IgYSBzYXMgYXRhX3BvcnQNCj4gICAgICBzY3NpOiBmaXggZWggd2FrZXVwIChzY3NpX3NjaGVk
dWxlX2VoIHZzIHNjc2lfcmVzdGFydF9vcGVyYXRpb25zKQ0KPiAgICAgIGxpYnNhczogZml4IGZh
bHNlIHBvc2l0aXZlICdkZXZpY2UgYXR0YWNoZWQnIGNvbmRpdGlvbnMNCj4gICAgICBzY3NpX3Ry
YW5zcG9ydF9zYXM6IGZpeCBkZWxldGUgdnMgc2NhbiByYWNlDQo+DQo+TWFjaWVqIFRyZWxhICgx
KToNCj4gICAgICBsaWJzYXM6IGNsZWFudXAgc3B1cmlvdXMgY2FsbHMgdG8gc2NzaV9zY2hlZHVs
ZV9laA0KPg0KPlRob21hcyBKYWNrc29uICgxKToNCj4gICAgICBsaWJzYXM6IGZpeCBzYXNfZmlu
ZF9iY2FzdF9waHkoKSBpbiB0aGUgcHJlc2VuY2Ugb2YgJ3ZhY2FudCcgcGh5cw0KPg0KPiBkcml2
ZXJzL2F0YS9saWJhdGEtY29yZS5jICAgICAgICAgICB8ICAgIDggKysrLQ0KPiBkcml2ZXJzL2F0
YS9saWJhdGEtZWguYyAgICAgICAgICAgICB8ICAgNTcgKysrKysrKysrKysrKysrKysrKysrLS0t
LS0tDQo+IGRyaXZlcnMvYXRhL2xpYmF0YS1zY3NpLmMgICAgICAgICAgIHwgICAzNSArKysrKysr
KystLS0tLS0tLQ0KPiBkcml2ZXJzL2F0YS9saWJhdGEuaCAgICAgICAgICAgICAgICB8ICAgIDIg
Ky0NCj4gZHJpdmVycy9zY3NpL2lwci5jICAgICAgICAgICAgICAgICAgfCAgICA2ICsrLQ0KPiBk
cml2ZXJzL3Njc2kvbGlic2FzL3Nhc19hdGEuYyAgICAgICB8ICAgNzIgKysrKysrKysrKysrKysr
KysrKysrLS0tLS0tLS0tLS0tLS0NCj4gZHJpdmVycy9zY3NpL2xpYnNhcy9zYXNfZGlzY292ZXIu
YyAgfCAgIDY3ICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tDQo+IGRyaXZlcnMvc2Nz
aS9saWJzYXMvc2FzX2V2ZW50LmMgICAgIHwgICAzNiArKysrKysrKystLS0tLS0tLS0NCj4gZHJp
dmVycy9zY3NpL2xpYnNhcy9zYXNfZXhwYW5kZXIuYyAgfCAgIDU2ICsrKysrKysrKysrKysrKysr
KysrKy0tLS0tLQ0KPiBkcml2ZXJzL3Njc2kvbGlic2FzL3Nhc19pbml0LmMgICAgICB8ICAgMjUg
KysrKysrLS0tLS0tDQo+IGRyaXZlcnMvc2NzaS9saWJzYXMvc2FzX2ludGVybmFsLmggIHwgICAg
NiArLS0NCj4gZHJpdmVycy9zY3NpL2xpYnNhcy9zYXNfcGh5LmMgICAgICAgfCAgIDIxICsrKyst
LS0tLS0NCj4gZHJpdmVycy9zY3NpL2xpYnNhcy9zYXNfcG9ydC5jICAgICAgfCAgIDE1ICsrKy0t
LS0tDQo+IGRyaXZlcnMvc2NzaS9saWJzYXMvc2FzX3Njc2lfaG9zdC5jIHwgICAyOCArKysrKysr
KysrLS0tLQ0KPiBkcml2ZXJzL3Njc2kvc2NzaV9lcnJvci5jICAgICAgICAgICB8ICAgMTQgKysr
KysrKw0KPiBkcml2ZXJzL3Njc2kvc2NzaV90cmFuc3BvcnRfc2FzLmMgICB8ICAgIDYgKystDQo+
IGluY2x1ZGUvbGludXgvbGliYXRhLmggICAgICAgICAgICAgIHwgICAgNyArKystDQo+IGluY2x1
ZGUvc2NzaS9saWJzYXMuaCAgICAgICAgICAgICAgIHwgICA0NCArKysrKysrKysrKysrKysrKyst
LS0NCj4gaW5jbHVkZS9zY3NpL3Nhc19hdGEuaCAgICAgICAgICAgICAgfCAgICA5ICsrKystDQo+
IDE5IGZpbGVzIGNoYW5nZWQsIDM0MyBpbnNlcnRpb25zKCspLCAxNzEgZGVsZXRpb25zKC0pDQo+
LS0NCj5UbyB1bnN1YnNjcmliZSBmcm9tIHRoaXMgbGlzdDogc2VuZCB0aGUgbGluZSAidW5zdWJz
Y3JpYmUgbGludXgtc2NzaSIgaW4NCj50aGUgYm9keSBvZiBhIG1lc3NhZ2UgdG8gbWFqb3Jkb21v
QHZnZXIua2VybmVsLm9yZw0KPk1vcmUgbWFqb3Jkb21vIGluZm8gYXQgIGh0dHA6Ly92Z2VyLmtl
cm5lbC5vcmcvbWFqb3Jkb21vLWluZm8uaHRtbA0KPg0KPl9fX19fX19fX18gSW5mb3JtYXRpb24g
ZnJvbSBFU0VUIE5PRDMyIEFudGl2aXJ1cywgdmVyc2lvbiBvZiB2aXJ1cyBzaWduYXR1cmUgZGF0
YWJhc2UgNTY1OSAoMjAxMDExMjkpIF9fX19fX19fX18NCj4NCj5UaGUgbWVzc2FnZSB3YXMgY2hl
Y2tlZCBieSBFU0VUIE5PRDMyIEFudGl2aXJ1cy4NCj4NCj5odHRwOi8vd3d3LmVzZXQuY29tDQo+
DQo+DQo+

--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html