불량 블록 출력을 해석하는 방법

불량 블록 출력을 해석하는 방법

badblocks 매뉴얼 페이지에는 출력의 세 숫자가 정확히 무엇을 의미하는지 언급하지 않는 것 같습니다.

완료됨, 불량 블록 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);
}

답변2

잘못된. 불량 블록이 다음과 같이 표시되는 경우아무것이는 "오류가 발견되지 않았습니다"가 아니라 다음을 의미합니다.

  • 기계를 끄세요
  • 교체 디스크 받기
  • $GOD_OF_BACKUPS 중요한 데이터가 안전하도록 기도해주세요
  • 새 디스크를 설정하고 기존 디스크에서 데이터를 복사하는 데 필요한 작업을 수행합니다.

디스크를 오락용으로 보관하거나 문진으로 보관하도록 선택할 수 있습니다.

(최신 디스크에는 불량 블록을 다시 매핑하기 위한 추가 실린더 세트가 있습니다. 왜냐하면 불량 블록이 없으면 디스크를 만들 수 없고 사용자가 불량 블록 목록을 보면 빌어먹을 비명을 지르게 되기 때문입니다. 불량 블록인 경우하다표시되면 공간을 모두 사용했다는 의미입니다. 회전 디스크의 일반적인 오류 모드로 인해 불량 블록 수가 기하급수적으로 증가하기 때문에 몇 개라는 것은 디스크에 일반적으로 몇 시간이 남아 있다는 것을 의미합니다. )

관련 정보