fix atomic
This commit is contained in:
@ -359,8 +359,8 @@ void reHDD::searchDrives(std::list<Drive> *plistDrives)
|
||||
"Drive found: " + tmpDrive.getPath() +
|
||||
" (type: " +
|
||||
(tmpDrive.connectionType == Drive::ConnectionType::USB ? "USB" : tmpDrive.connectionType == Drive::ConnectionType::SATA ? "SATA"
|
||||
: tmpDrive.connectionType == Drive::ConnectionType::NVME ? "NVME"
|
||||
: "UNKNOWN") +
|
||||
: tmpDrive.connectionType == Drive::ConnectionType::NVME ? "NVME"
|
||||
: "UNKNOWN") +
|
||||
")");
|
||||
}
|
||||
|
||||
@ -571,13 +571,15 @@ void reHDD::updateShredMetrics(list<Drive> *plistDrives)
|
||||
Drive *pTmpDrive = iterator_to_pointer<Drive, std::list<Drive>::iterator>(it);
|
||||
// set metrics for calculating shred speed
|
||||
std::chrono::time_point<std::chrono::system_clock> chronoCurrentTimestamp = std::chrono::system_clock::now();
|
||||
time_t u32ShredTimeDelta = (chronoCurrentTimestamp - pTmpDrive->sShredSpeed.chronoShredTimestamp).count();
|
||||
auto shredSpeed = pTmpDrive->sShredSpeed.load();
|
||||
time_t u32ShredTimeDelta = (chronoCurrentTimestamp - shredSpeed.chronoShredTimestamp).count();
|
||||
if (u32ShredTimeDelta > METRIC_THRESHOLD)
|
||||
{
|
||||
pTmpDrive->sShredSpeed.u32ShredTimeDelta = u32ShredTimeDelta;
|
||||
pTmpDrive->sShredSpeed.chronoShredTimestamp = std::chrono::system_clock::now();
|
||||
pTmpDrive->sShredSpeed.ulWrittenBytes = pTmpDrive->sShredSpeed.ulSpeedMetricBytesWritten;
|
||||
pTmpDrive->sShredSpeed.ulSpeedMetricBytesWritten = 0U;
|
||||
shredSpeed.u32ShredTimeDelta = u32ShredTimeDelta;
|
||||
shredSpeed.chronoShredTimestamp = std::chrono::system_clock::now();
|
||||
shredSpeed.ulWrittenBytes = shredSpeed.ulSpeedMetricBytesWritten;
|
||||
shredSpeed.ulSpeedMetricBytesWritten = 0U;
|
||||
pTmpDrive->sShredSpeed.store(shredSpeed);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user