diff options
| author | Marcel Telka <marcel@telka.sk> | 2020-01-07 11:20:36 +0100 |
|---|---|---|
| committer | Robert Mustacchi <rm@fingolfin.org> | 2020-01-08 07:34:36 +0000 |
| commit | d59679dc4ee5ea26c61e7762a3f7a6f74a1f4c2c (patch) | |
| tree | a4c8d50187123a9e6886cfcbb1a00548a8d084e9 /usr/src | |
| parent | 77ac0eaaa1298f1119c62575dcdb2003d56e0994 (diff) | |
| download | illumos-joyent-d59679dc4ee5ea26c61e7762a3f7a6f74a1f4c2c.tar.gz | |
12163 mpt_sas: Collateral damage caused by dead SATA disk
Reviewed by: Andrew Stormont <andyjstormont@gmail.com>
Reviewed by: Toomas Soome <tsoome@me.com>
Reviewed by: Stefan Behrens <sbehrens@giantdisaster.de>
Reviewed by: Garrett D'Amore <garrett@damore.org>
Approved by: Garrett D'Amore <garrett@damore.org>
Diffstat (limited to 'usr/src')
| -rw-r--r-- | usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas.c | 18 |
1 files changed, 10 insertions, 8 deletions
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 4784a6b1a6..66256a2aa2 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 @@ -14898,10 +14898,12 @@ mptsas_update_hashtab(struct mptsas *mpt) rval = mptsas_get_target_device_info(mpt, page_address, &dev_handle, &ptgt); if ((rval == DEV_INFO_FAIL_PAGE0) || - (rval == DEV_INFO_FAIL_ALLOC) || - (rval == DEV_INFO_FAIL_GUID)) { + (rval == DEV_INFO_FAIL_ALLOC)) { break; } + if (rval == DEV_INFO_FAIL_GUID) { + continue; + } mpt->m_dev_handle = dev_handle; } @@ -16601,12 +16603,12 @@ mptsas_phy_to_tgt(mptsas_t *mpt, mptsas_phymask_t phymask, uint8_t phy) rval = mptsas_get_target_device_info(mpt, page_address, &cur_handle, &ptgt); if ((rval == DEV_INFO_FAIL_PAGE0) || - (rval == DEV_INFO_FAIL_ALLOC) || - (rval == DEV_INFO_FAIL_GUID)) { + (rval == DEV_INFO_FAIL_ALLOC)) { break; } if ((rval == DEV_INFO_WRONG_DEVICE_TYPE) || - (rval == DEV_INFO_PHYS_DISK)) { + (rval == DEV_INFO_PHYS_DISK) || + (rval == DEV_INFO_FAIL_GUID)) { continue; } mpt->m_dev_handle = cur_handle; @@ -16671,13 +16673,13 @@ mptsas_wwid_to_ptgt(mptsas_t *mpt, mptsas_phymask_t phymask, uint64_t wwid) rval = mptsas_get_target_device_info(mpt, page_address, &cur_handle, &tmp_tgt); if ((rval == DEV_INFO_FAIL_PAGE0) || - (rval == DEV_INFO_FAIL_ALLOC) || - (rval == DEV_INFO_FAIL_GUID)) { + (rval == DEV_INFO_FAIL_ALLOC)) { tmp_tgt = NULL; break; } if ((rval == DEV_INFO_WRONG_DEVICE_TYPE) || - (rval == DEV_INFO_PHYS_DISK)) { + (rval == DEV_INFO_PHYS_DISK) || + (rval == DEV_INFO_FAIL_GUID)) { continue; } mpt->m_dev_handle = cur_handle; |
