Hi Dan, Thanks for doing this. I've tested this patchset for a while and it works good. You can add my test-by or acked-by if needed. Best regards! -------------- jack_wang >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-scsi" in >the body of a message to majordomo@xxxxxxxxxxxxxxx >More majordomo info at http://vger.kernel.org/majordomo-info.html > >__________ Information from ESET NOD32 Antivirus, version of virus signature database 5659 (20101129) __________ > >The message was checked by ESET NOD32 Antivirus. > >http://www.eset.com > > >?韬{.n?????%??檩??w?{.n???{炳??Ф?塄}?财??j:+v??????2??璀??摺?囤??z夸z罐?+?????w棹f