Làm thế nào để giải thích đầu ra badblocks


44

Các trang man cho badblocks dường như không đề cập cụ thể ba số trong đầu ra có nghĩa là gì:

Đã hoàn thành, 7 khối xấu được tìm thấy (lỗi 7/0/0)
Đã hoàn thành vượt qua, 120 khối xấu được tìm thấy (lỗi 0/0/120)

Tôi đoán đó là "Lỗi trong khi đọc / viết / so sánh". Ai đó có thể khai sáng cho tôi?

Câu trả lời:


46

Dự đoán của bạn là chính xác.

Mã nguồn trông như thế này:

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

Vì vậy, lỗi đọc / ghi / tham nhũng của nó. Và tham nhũng có nghĩa là so sánh với dữ liệu được viết trước đó:

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

Hoàn hảo. Tìm kiếm nó trong nguồn một điều đáng lẽ đã xảy ra với tôi, nhưng bằng cách nào đó nó đã không xảy ra. Cảm ơn. :)
Tomalak

Tất nhiên đó cũng là lý do tại sao không có thông báo lỗi kernel trong (0/0/120 errors)trường hợp này.
Tomalak

Một nguyên nhân có thể gây ra lỗi tham nhũng là một cái gì đó khác được ghi vào đĩa trong khi badblocksđang chạy, trong trường hợp đó nó hoàn toàn không phải là một lỗi (trừ lỗi người dùng).
frostschutz

Trong trường hợp này, đó là một đĩa nghi ngờ mà tôi đang sử dụng riêng với badblocks. Không có quá trình khác viết cho nó. Có cách nào để trực quan hóa tệp đầu ra với danh sách khu vực xấu, thiếu tính toán thủ công vị trí của chúng không?
Tomalak

-8

Sai lầm. Nếu badblocks nói bất cứ điều gì không "không tìm thấy lỗi", điều đó có nghĩa là:

  • Tắt máy ngay lập tức
  • Lấy đĩa thay thế
  • Hãy cầu nguyện để $ GOD_OF_BACKUPS dữ liệu quan trọng được an toàn
  • Làm bất cứ điều gì cần thiết để thiết lập đĩa mới và sao chép dữ liệu từ ổ đĩa cũ

Bạn có thể tùy ý giữ đĩa xung quanh để giải trí hoặc làm chặn giấy.

(Đĩa hiện đại có một bộ xi lanh thêm cho Remapping khối xấu, như không có cách nào để sản xuất đĩa mà không có họ, và người dùng gào lên địa ngục đẫm máu khi họ nhìn thấy danh sách chặn xấu. Nếu khối xấu làm xuất hiện, nó có nghĩa là không gian mà Được sử dụng hết. Vì các chế độ thất bại phổ biến của các đĩa quay cho số khối xấu tăng theo cấp số nhân, nhìn thấy một số phương tiện thường là đĩa còn vài giờ.)


10
Đó thậm chí không phải là câu hỏi.
Tomalak

1
Không bao giờ chạy badblockstrên đĩa có dữ liệu quan trọng trên đó. Nếu đĩa có lỗi, badblockscó thể gây thêm thiệt hại ngay cả trong chế độ ghi không phá hủy, nếu nó không thể ghi lại dữ liệu gốc do lỗi.
frostschutz

@frostschutz, Bài -nkiểm tra được cho là chỉ đọc?
vonbrand

3
Không, -nlà viết không phá hủy. Vì vậy, nó viết, nhưng khôi phục dữ liệu gốc sau khi thử nghiệm. Mà có thể thất bại do lỗi. Để đọc badblocks, tôi tin rằng bạn không sử dụng tùy chọn nào cả.
frostschutz

Lời khuyên không tồi, nhưng không phù hợp với câu hỏi. Bạn có thể đã thực hiện một câu trả lời kiểu hỏi đáp từ nó.
neverMind9
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.