diff options
author | Keith M Wesolowski <wesolows@foobazco.org> | 2013-04-12 00:35:43 +0000 |
---|---|---|
committer | Keith M Wesolowski <wesolows@foobazco.org> | 2013-04-23 18:24:58 +0000 |
commit | 59a2f91c88b8ace7906e853b6359d07495d63096 (patch) | |
tree | 504192daa1d495f04d659cef9ccae34d054947f8 | |
parent | 0a073d9c072a82ec2d59f578a3a68c82aca35b5c (diff) | |
download | illumos-joyent-59a2f91c88b8ace7906e853b6359d07495d63096.tar.gz |
OS-2128 a9ff841f brought in lint libraries, is out of order
OS-2133 panic in mptsas_restart_hba()
-rw-r--r-- | manifest | 25 | ||||
-rw-r--r-- | usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas.c | 14 |
2 files changed, 22 insertions, 17 deletions
@@ -1243,6 +1243,8 @@ f lib/amd64/libzdoor.so.1 0755 root bin s lib/amd64/libzdoor.so=libzdoor.so.1 f lib/amd64/libzfs.so.1 0755 root bin s lib/amd64/libzfs.so=libzfs.so.1 +s lib/amd64/libzfs_core.so=../usr/lib/amd64/libzfs_core.so +s lib/amd64/libzfs_core.so.1=../usr/lib/amd64/libzfs_core.so.1 f lib/amd64/nss_compat.so.1 0755 root bin f lib/amd64/nss_dns.so.1 0755 root bin f lib/amd64/nss_files.so.1 0755 root bin @@ -1437,6 +1439,8 @@ f lib/libzdoor.so.1 0755 root bin s lib/libzdoor.so=libzdoor.so.1 f lib/libzfs.so.1 0755 root bin s lib/libzfs.so=libzfs.so.1 +s lib/libzfs_core.so=../usr/lib/libzfs_core.so +s lib/libzfs_core.so.1=../usr/lib/libzfs_core.so d lib/mpxio 0755 root bin f lib/mpxio/stmsboot_util 0555 root bin f lib/nss_compat.so.1 0755 root bin @@ -2912,6 +2916,7 @@ f usr/include/libvrrpadm.h 0644 root bin f usr/include/libvscan.h 0644 root bin f usr/include/libw.h 0644 root bin f usr/include/libzfs.h 0644 root bin +f usr/include/libzfs_core.h 0644 root bin f usr/include/libzfs_jni_dataset.h 0644 root bin f usr/include/libzfs_jni_disk.h 0644 root bin f usr/include/libzfs_jni_diskmgt.h 0644 root bin @@ -5002,6 +5007,8 @@ s usr/lib/amd64/libzdoor.so.1=../../../lib/amd64/libzdoor.so.1 s usr/lib/amd64/libzdoor.so=../../../lib/amd64/libzdoor.so.1 s usr/lib/amd64/libzfs.so.1=../../../lib/amd64/libzfs.so.1 s usr/lib/amd64/libzfs.so=../../../lib/amd64/libzfs.so.1 +s usr/lib/amd64/libzfs_core.so=libzfs_core.so.1 +f usr/lib/amd64/libzfs_core.so.1 755 root bin f usr/lib/amd64/libzfs_jni.so.1 0755 root bin s usr/lib/amd64/libzfs_jni.so=libzfs_jni.so.1 f usr/lib/amd64/libzonecfg.so.1 0755 root bin @@ -6439,6 +6446,8 @@ s usr/lib/libzdoor.so.1=../../lib/libzdoor.so.1 s usr/lib/libzdoor.so=../../lib/libzdoor.so.1 s usr/lib/libzfs.so.1=../../lib/libzfs.so.1 s usr/lib/libzfs.so=../../lib/libzfs.so.1 +s usr/lib/libzfs_core.so=libzfs_core.so.1 +f usr/lib/libzfs_core.so.1 755 root bin f usr/lib/libzfs_jni.so.1 0755 root bin s usr/lib/libzfs_jni.so=libzfs_jni.so.1 f usr/lib/libzonecfg.so.1 0755 root bin @@ -17515,19 +17524,3 @@ d var/svc/profile 0755 root sys d var/tmp 1777 root sys d var/yp 0755 root bin d var/yp/binding 0755 root bin - -f usr/lib/llib-lzfs_core.ln 644 root bin -f usr/lib/libzfs_core.so.1 755 root bin -f usr/lib/amd64/llib-lzfs_core.ln 644 root bin -f usr/lib/amd64/libzfs_core.so.1 755 root bin -s usr/lib/amd64/libzfs_core.so=libzfs_core.so.1 -s usr/lib/libzfs_core.so=libzfs_core.so.1 -f usr/include/libzfs_core.h 0644 root bin -f usr/lib/llib-lzfs_core 0644 root bin -s lib/llib-lzfs_core=../usr/lib/llib-lzfs_core.ln -s lib/libzfs_core.so=../usr/lib/libzfs_core.so -s lib/llib-lzfs_core.ln=../usr/lib/llib-lzfs_core.ln -s lib/libzfs_core.so.1=../usr/lib/libzfs_core.so -s lib/amd64/libzfs_core.so=../usr/lib/amd64/libzfs_core.so -s lib/amd64/llib-lzfs_core.ln=../usr/lib/amd64/llib-lzfs_core.ln -s lib/amd64/libzfs_core.so.1=../usr/lib/amd64/libzfs_core.so.1 diff --git a/usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas.c b/usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas.c index 8fb7a5f73e..5d7cb87590 100644 --- a/usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas.c +++ b/usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas.c @@ -9966,6 +9966,7 @@ mptsas_watchsubr(mptsas_t *mpt) int i; mptsas_cmd_t *cmd; mptsas_target_t *ptgt = NULL; + int restart_needed = 0; NDBG30(("mptsas_watchsubr: mpt=0x%p", (void *)mpt)); @@ -10035,9 +10036,20 @@ mptsas_watchsubr(mptsas_t *mpt) (ptgt->m_t_throttle > HOLD_THROTTLE) && (ptgt->m_t_ncmds < ptgt->m_t_throttle)) { mptsas_set_throttle(mpt, ptgt, MAX_THROTTLE); - mptsas_restart_hba(mpt); + ++restart_needed; } + mutex_exit(&ptgt->m_tgt_intr_mutex); + ptgt = (mptsas_target_t *)mptsas_hash_traverse( + &mpt->m_active->m_tgttbl, MPTSAS_HASH_NEXT); + } + if (restart_needed != 0) + mptsas_restart_hba(mpt); + + ptgt = (mptsas_target_t *)mptsas_hash_traverse(&mpt->m_active->m_tgttbl, + MPTSAS_HASH_FIRST); + while (ptgt != NULL) { + mutex_enter(&ptgt->m_tgt_intr_mutex); if ((ptgt->m_t_ncmds > 0) && (ptgt->m_timebase)) { |