Print this page
NEX-16174 scsi error messages should go to system log only
Reviewed by: Dan Fields <dan.fields@nexenta.com>
Reviewed by: Roman Strashkin <roman.strashkin@nexenta.com>
NEX-3717 mptsas doesn't handle timeouts in mptsas_get_sata_guid()
Reviewed by: Gordon Ross <gordon.ross@nexenta.com>
Reviewed by: Josef 'Jeff' Sipek <josef.sipek@nexenta.com>
Reviewed by: Dan Fields <dan.fields@nexenta.com>
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
4500 mptsas_hash_traverse() is unsafe, leads to missing devices
Reviewed by: Hans Rosenfeld <hans.rosenfeld@nexenta.com>
Approved by: Albert Lee <trisk@nexenta.com>
backout 4500 mptsas_hash_traverse() is unsafe, leads to missing devices
4500 mptsas_hash_traverse() is unsafe, leads to missing devices
Reviewed by: Hans Rosenfeld <hans.rosenfeld@nexenta.com>
Approved by: Albert Lee <trisk@nexenta.com>
re #6530 mpt_sas crash when more than 1 Initiator involved - ie HA

*** 331,370 **** raidvol->m_raidsize = 0; raidvol->m_settings = volsetting; raidvol->m_raidlevel = voltype; if (statusflags & MPI2_RAIDVOL0_STATUS_FLAG_QUIESCED) { ! mptsas_log(mpt, CE_NOTE, "?Volume %d is quiesced\n", raidvol->m_raidhandle); } if (statusflags & MPI2_RAIDVOL0_STATUS_FLAG_RESYNC_IN_PROGRESS) { ! mptsas_log(mpt, CE_NOTE, "?Volume %d is resyncing\n", raidvol->m_raidhandle); } resync_flag = MPI2_RAIDVOL0_STATUS_FLAG_RESYNC_IN_PROGRESS; switch (volstate) { case MPI2_RAID_VOL_STATE_OPTIMAL: ! mptsas_log(mpt, CE_NOTE, "?Volume %d is " ! "optimal\n", raidvol->m_raidhandle); break; case MPI2_RAID_VOL_STATE_DEGRADED: if ((statusflags & resync_flag) == 0) { mptsas_log(mpt, CE_WARN, "Volume %d " ! "is degraded\n", raidvol->m_raidhandle); } break; case MPI2_RAID_VOL_STATE_FAILED: mptsas_log(mpt, CE_WARN, "Volume %d is " ! "failed\n", raidvol->m_raidhandle); break; case MPI2_RAID_VOL_STATE_MISSING: mptsas_log(mpt, CE_WARN, "Volume %d is " ! "missing\n", raidvol->m_raidhandle); break; default: break; } numdisks = raidpage->NumPhysDisks; --- 331,370 ---- raidvol->m_raidsize = 0; raidvol->m_settings = volsetting; raidvol->m_raidlevel = voltype; if (statusflags & MPI2_RAIDVOL0_STATUS_FLAG_QUIESCED) { ! mptsas_log(mpt, CE_NOTE, "Volume %d is quiesced", raidvol->m_raidhandle); } if (statusflags & MPI2_RAIDVOL0_STATUS_FLAG_RESYNC_IN_PROGRESS) { ! mptsas_log(mpt, CE_NOTE, "Volume %d is resyncing", raidvol->m_raidhandle); } resync_flag = MPI2_RAIDVOL0_STATUS_FLAG_RESYNC_IN_PROGRESS; switch (volstate) { case MPI2_RAID_VOL_STATE_OPTIMAL: ! mptsas_log(mpt, CE_NOTE, "Volume %d is " ! "optimal", raidvol->m_raidhandle); break; case MPI2_RAID_VOL_STATE_DEGRADED: if ((statusflags & resync_flag) == 0) { mptsas_log(mpt, CE_WARN, "Volume %d " ! "is degraded", raidvol->m_raidhandle); } break; case MPI2_RAID_VOL_STATE_FAILED: mptsas_log(mpt, CE_WARN, "Volume %d is " ! "failed", raidvol->m_raidhandle); break; case MPI2_RAID_VOL_STATE_MISSING: mptsas_log(mpt, CE_WARN, "Volume %d is " ! "missing", raidvol->m_raidhandle); break; default: break; } numdisks = raidpage->NumPhysDisks;
*** 605,615 **** * If TM slot is already being used (highly unlikely), show message and * don't issue the RAID action. */ if (slots->m_slot[MPTSAS_TM_SLOT(mpt)] != NULL) { mptsas_log(mpt, CE_WARN, "RAID Action slot in use. Cancelling" ! " System Shutdown RAID Action.\n"); return; } /* * Create the cmd and put it in the dedicated TM slot. --- 605,615 ---- * If TM slot is already being used (highly unlikely), show message and * don't issue the RAID action. */ if (slots->m_slot[MPTSAS_TM_SLOT(mpt)] != NULL) { mptsas_log(mpt, CE_WARN, "RAID Action slot in use. Cancelling" ! " System Shutdown RAID Action."); return; } /* * Create the cmd and put it in the dedicated TM slot.