Por que o LBA 'smartctl -l xerror' está muito além do fim do disco?

1

Eu corri smartctl -l xerror em um disco Seagate ST31000528AS (1TB com setores de 512 bytes) e ele me deu (em parte):

Error 597 [16] occurred at disk power-on lifetime: 11903 hours (495 days + 23 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER -- ST COUNT  LBA_48  LH LM LL DV DC
  -- -- -- == -- == == == -- -- -- -- --
  40 -- 51 00 00 00 74 59 00 70 bc 00 00  Error: UNC at LBA = 0x74590070bc = 499709407420

  Commands leading to the command that caused the error were:
  CR FEATR COUNT  LBA_48  LH LM LL DV DC  Powered_Up_Time  Command/Feature_Name
  -- == -- == -- == == == -- -- -- -- --  ---------------  --------------------
  60 00 00 00 08 00 74 59 00 70 b8 40 00 12d+16:57:44.392  READ FPDMA QUEUED
  ea 00 00 00 00 00 00 00 00 00 00 a0 00 12d+16:57:40.893  FLUSH CACHE EXT
  ea 00 00 00 00 00 00 00 00 00 00 a0 00 12d+16:57:40.801  FLUSH CACHE EXT
  61 00 00 00 08 00 08 a8 00 43 18 40 00 12d+16:57:40.800  WRITE FPDMA QUEUED
  61 00 00 00 08 00 08 af 00 40 68 40 00 12d+16:57:40.800  WRITE FPDMA QUEUED

Estou realmente confuso sobre o que isso significa - em particular, o LBA48 está dando. hdparm -I confirma que o disco tem 1.953.525.168 setores; 499.709.407.420 é bem além disso. (Ele precisaria de um disco de 256 TB para ser válido, mesmo com setores de 512 bytes.)

A julgar pelos logs do kernel, o LBA48 provavelmente é, na verdade, 1.953.520.060 - o teste com dd e hdparm --read-sector confirma que o setor está realmente ruim. (Na verdade, esse também aparece em smartctl -l xselftest ).

Por que o log de erro estendido fornece um LBA48 que parece ser quase 256 (mas não exatamente!) vezes maior que o valor real? Olhando para os valores hexadecimais, parece que os bytes estão na ordem errada - isso pode ser apenas um bug de firmware da unidade?

    
por derobert 19.11.2015 / 19:45

0 respostas