web-dev-qa-db-ja.com

不良ブロックの出力を解釈する方法

Badblocksのmanページには、出力の3つの数値が特に何を意味するかについては記載されていないようです。

パスが完了し、7つの不良ブロックが見つかりました(7/0/0エラー)
パスが完了し、120個の不良ブロックが見つかりました(0/0/120エラー)

私は推測「読み取り/書き込み/比較中のエラー」です。誰かが私を啓発できますか?

46
Tomalak

あなたの推測は正しいです。

ソースコードは次のようになります:

if (v_flag)
    fprintf(stderr,
            _("Pass completed, %u bad blocks found. (%d/%d/%d errors)\n"),
            bb_count, num_read_errors, num_write_errors, num_corruption_errors);

したがって、その読み取り/書き込み/破損エラー。そして、破損とは、以前に書き込まれたデータとの比較を意味します。

if (t_flag) {
    /* test the comparison between all the
       blocks successfully read  */
    int i;
    for (i = 0; i < got; ++i)
        if (memcmp (blkbuf+i*block_size,
            blkbuf+blocks_at_once*block_size,
            block_size))
            bb_count += bb_output(currently_testing + i, CORRUPTION_ERROR);
}
50
frostschutz