16#ifdef HAVE_ATTR_PACKED_FARM
17#define ATTR_PACKED_FARM __attribute__((packed))
19#define ATTR_PACKED_FARM
673STATIC_ASSERT(
sizeof(
scsiFarmLog)== 4 + 76 + 252 + 148 + 236 + 212 + 236 + 108 + 68 +(47 *((8 * 20)+ 4))+ 188 * 4 + 236 * 4 + 164 * 4);
bool scsiReadFarmLog(scsi_device *device, scsiFarmLog &farmLog)
bool scsiIsSeagate(char *scsi_vendor)
bool ataIsSeagate(const ata_identify_device &drive, const drive_settings *dbentry)
bool ataReadFarmLog(ata_device *device, ataFarmLog &farmLog, unsigned nsectors)
static char scsi_vendor[8+1]
uint64_t currentMotorPower
uint64_t highestShortTemp
uint64_t totalMechanicalStartRetries
uint64_t totalReadRecoveryAttepts
uint64_t cumulativeUnrecoverableReadUnique[24]
uint64_t totalUnrecoverableWriteErrors
uint64_t totalReallocationCanidates
uint64_t attrSpinRetryCount
uint64_t powerCycleFlashLED[8]
uint64_t cumulativeUnrecoverableReadERC
uint64_t totalReallocations
uint64_t totalUnrecoverableReadErrors
uint64_t cumulativeUnrecoverableReadRepeating[24]
uint64_t worstSpinRretryCount
uint64_t universalTimestampFlashLED[8]
uint64_t normalSpinRetryCount
uint64_t flashLEDArray[8]
ataFarmErrorStatistics error
ataFarmReliabilityStatistics reliability
ataFarmWorkloadStatistics workload
ataFarmEnvironmentStatistics environment
ataFarmDriveInformation driveInformation
int64_t RVGASkipWriteDetect[24]
int64_t secondMRHeadResistance[24]
uint64_t reserved24[24][3]
int64_t writeWorkloadPowerOnTime[24]
uint64_t reserved42[24][3]
uint64_t mrHeadResistance[24]
int64_t DVGASkipWriteDetect[24]
int64_t attrErrorRateWorst
int64_t attrSeekErrorRateWorst
int64_t attrUnloadEventsRaw
int64_t reallocatedSectors[24]
uint64_t reserved25[24][3]
int64_t FVGASkipWriteDetect[24]
int64_t attrSeekErrorRateNormal
uint64_t reserved41[24][3]
int64_t skipWriteDetectThresExceeded[24]
int64_t numberLBACorrectedParitySector
int64_t reallocationCandidates[24]
int64_t heliumPresureTrip
uint64_t reserved40[24][3]
int64_t attrErrorRateNormal
int64_t attrSeekErrorRateRaw
int64_t reserved29[24][3]
uint64_t totalNumberofOtherCMDS
uint64_t writeCommandsByRadius1
uint64_t totalWriteCommands
uint64_t totalRandomWrites
uint64_t readCommandsByRadius1
uint64_t writeCommandsByRadius3
uint64_t logicalSecWritten
uint64_t totalRandomReads
uint64_t writeCommandsByRadius4
uint64_t readCommandsByRadius3
uint64_t writeCommandsByRadius2
uint64_t totalReadCommands
uint64_t readCommandsByRadius4
uint64_t ditherSequential
uint64_t readCommandsByRadius2
scsiFarmParameterHeader parameterHeader
uint64_t flashLEDArray[8]
uint64_t powerCycleFlashLED[8]
uint64_t universalTimestampFlashLED[8]
scsiFarmParameterHeader parameterHeader
uint64_t totalReallocationCanidates
uint64_t totalReallocations
uint64_t numberSlippedSectorsBeforeIDD
uint64_t lbasCorrectedISP
scsiFarmParameterHeader parameterHeader
uint64_t numberResidentReallocatedAfterIDD
uint64_t subcommandlastIDDTest
uint64_t numberScrubbedSectorsAfterIDD
uint64_t numberLBACorrectedParitySector
uint64_t dosScansPerformed
uint64_t numberResidentReallocatedBeforeIDD
uint64_t numberScrubbedSectorsBeforeIDD
uint64_t numberGListReclam
uint64_t numberValidParitySectors
uint64_t numberSlippedSectorsAfterIDD
scsiFarmParameterHeader parameterHeader
scsiFarmParameterHeader parameterHeader
uint64_t currentMotorPower
scsiFarmParameterHeader parameterHeader
uint64_t disparityErrorCodeA
uint64_t lossOfDWordSyncA
uint64_t phyResetProblemA
uint64_t disparityErrorCodeB
uint64_t invalidDWordCountB
uint64_t totalUnrecoverableWriteErrors
uint64_t invalidDWordCountA
scsiFarmParameterHeader parameterHeader
uint64_t lossOfDWordSyncB
uint64_t totalMechanicalStartRetries
uint64_t phyResetProblemB
uint64_t totalUnrecoverableReadErrors
scsiFarmByActuator actuator0
scsiFarmByHead reserved15
scsiFarmByHead totalReallocations
scsiFarmByHead reserved20
scsiFarmPageHeader pageHeader
scsiFarmByHead reserved11
scsiFarmByHead reserved10
scsiFarmByHead reserved35
scsiFarmByHead reserved36
scsiFarmByHead reserved31
scsiFarmByHead reserved16
scsiFarmDriveInformation2 driveInformation2
scsiFarmByHead reserved17
scsiFarmByHead reserved23
scsiFarmByHead reserved38
scsiFarmByHead reserved30
scsiFarmByHead totalReallocationCanidates
scsiFarmByHead reserved25
scsiFarmByHead reserved24
scsiFarmByHead reserved19
scsiFarmByHead cumulativeUnrecoverableReadUnique
scsiFarmByActuatorReallocation actuatorReallocation1
scsiFarmEnvironmentStatistics2 environment2
scsiFarmReliabilityStatistics reliability
scsiFarmByHead reserved27
scsiFarmDriveInformation driveInformation
scsiFarmByHead reserved21
scsiFarmByActuator actuator1
scsiFarmByHead reserved29
scsiFarmByHead writeWorkloadPowerOnTime
scsiFarmEnvironmentStatistics environment
scsiFarmByHead reserved26
scsiFarmWorkloadStatistics workload
scsiFarmByActuatorFLED actuatorFLED1
scsiFarmByHead secondMRHeadResistance
scsiFarmByActuatorReallocation actuatorReallocation2
scsiFarmByActuatorFLED actuatorFLED0
scsiFarmByHead cumulativeUnrecoverableReadRepeat
scsiFarmByHead reserved14
scsiFarmByActuatorReallocation actuatorReallocation0
scsiFarmByActuator actuator3
scsiFarmErrorStatistics error
scsiFarmByHead reserved37
scsiFarmByActuatorReallocation actuatorReallocation3
scsiFarmByHead reserved13
scsiFarmByHead reserved18
scsiFarmByHead reserved32
scsiFarmByHead reserved22
scsiFarmByHead reserved33
scsiFarmByActuator actuator2
scsiFarmByHead reserved12
scsiFarmByHead reserved28
scsiFarmByHead mrHeadResistance
scsiFarmByActuatorFLED actuatorFLED2
scsiFarmByHead reserved34
scsiFarmByActuatorFLED actuatorFLED3
int64_t heliumPresureTrip
scsiFarmParameterHeader parameterHeader
uint64_t writeCommandsByRadius3
uint64_t writeCommandsByRadius1
uint64_t totalReadCommands
uint64_t writeCommandsByRadius4
uint64_t writeCommandsByRadius2
uint64_t readCommandsByRadius1
uint64_t readCommandsByRadius3
uint64_t totalWriteCommands
uint64_t totalNumberofOtherCMDS
uint64_t totalRandomWrites
uint64_t totalRandomReads
scsiFarmParameterHeader parameterHeader
uint64_t readCommandsByRadius2
uint64_t readCommandsByRadius4
uint64_t logicalSecWritten