一部ドライブで S.M.A.R.T. しきい値がずれる #1

Closed
hiyohiyo opened this Issue Apr 17, 2016 · 1 comment

Projects

None yet

1 participant

@hiyohiyo
Owner

概要

一部ドライブで S.M.A.R.T. 属性としきい値の index がずれる。健康状態の誤判定にもつながっている。

参考

http://crystalmark.info/board/c-board.cgi?cmd=one;no=676;id=

n 氏からのパッチ

BOOL CAtaSmart::FillSmartThreshold(ATA_SMART_INFO* asi)
{
    int count = 0;
    for(int i = 0; i < MAX_ATTRIBUTE; i++)
    {
        SMART_THRESHOLD* pst = (SMART_THRESHOLD*)&(asi->SmartReadThreshold[i * sizeof(SMART_THRESHOLD) + 2]);
        if(pst->Id != 0)
        {
            for(int j = 0; j < asi->AttributeCount; j++)
            {
                if(pst->Id == asi->Attribute[j].Id)
                {
                    memcpy(&(asi->Threshold[j]), pst, sizeof(SMART_THRESHOLD));
                    count++;
                }
            }
        }
    }
    ...
}
@hiyohiyo hiyohiyo added the bug label Apr 17, 2016
@hiyohiyo
Owner

6.8.2で反映させました。

@hiyohiyo hiyohiyo closed this Apr 28, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment