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

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

badblocksのマニュアルページには、出力の3つの数字が正確に何を意味するのか言及していないようです。

完了、不良ブロック7個発見(7/0/0エラー)
完了、不良ブロック120個発見(0/0/120エラー)

はい推測する「読み取り/書き込み/比較エラー」です。誰かが私を実現できますか?

ベストアンサー1

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

ソースコードは次のとおりです。

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);
}

おすすめ記事