Re: Drive seek error
Ringrazio quanti mi hanno fornito preziosi suggerimenti rispetto al problema
in oggetto che ho sottoposto alla ML pochi giorni fa ed, in particolare,
Lucio, Alessandro, Luca, Giovanni, Fabio, den2k.
La maggior parte dei suggerimenti e' stata indirizzata verso un
malfunzionamento del disco rigido. Credo ci sia pero' ancora un tassello
mancante alla spiegazione. In particolare, il kernel sembra segnalare
l'errore in un settore oltre l'ultimo settore previsto:
> Aug 24 09:00:04 localhost kernel: hdb: task_in_intr: status=0x59 {
> DriveReady SeekComplete DataRequest Error }
> Aug 24 09:00:04 localhost kernel: hdb: task_in_intr: error=0x10 {
> SectorIdNotFound }, LBAsect=39167615, sector=39102336
> Aug 24 09:00:04 localhost kernel: ide: failed opcode was: unknown
[..]
> Disk /dev/hdb: 20.0 GB, 20020396544 bytes
> 255 heads, 63 sectors/track, 2434 cylinders, total 39102337 sectors
> Units = sectors of 1 * 512 = 512 bytes
>
> Device Boot Start End Blocks Id System
> /dev/hdb1 * 63 37383254 18691596 83 Linux
> /dev/hdb2 37383255 39102209 859477+ 5 Extended
> /dev/hdb5 37383318 39102209 859446 82 Linux swap /
> Solaris
In particolare:
1) l'errore si verifica al settore 39102336 che e' maggiore di quello
previsto dall'ultima partizione /dev/hdb5 (39102209)
2) il numero di settori previsti e comunicati da fdisk ("total 39102337
sectors") e' maggiore di quello previsto dall'ultima partizione /dev/hdb5
(39102209).
Va detto, peraltro, che fdisk non permette di creare una
partizione /dev/hdb5 di dimensione maggiore (per il settore di fine
di /dev/hdb5 ho utilizzato il default di fdisk).
Allora, qual'e' il problema ?
Dando un'occhiata al log di boot compare immediatamente prima degli errori:
> Aug 26 08:57:41 localhost kernel: hdb: Host Protected Area detected.
Eseguendo una ricerca ho trovato questo link:
https://launchpad.net/ubuntu/+source/linux-source-2.6.15/+bug/26119
Sembra, in particolare, che su alcuni dischi - e tra questi alcuni della
Seagate - il kernel in fase di boot individua alcune aree protette di norma
non visibili agli utenti ("Host Protected Area") - reali o presunte non mi
e' dato di sapere. Il kernel cerca di utilizzare anche questo spazio del
disco, disabilitandone la protezione. Cosi' facendo, in casi come quello
del mio disco rigido, il kernel "vede settori fantasma" e quando cerca di
leggerli - tipicamente in fase di avvio del computer - genera seek error.
La soluzione immediata del problema, a questo punto, credo possa consistere
in una patch al kernel (per i casi particolari di questi dischi, ma ne vale
la pena ?) o nella sostituzione del disco rigido.
Mi farebbe piacere sapere cosa ne pensate.
Achille.
Reply to: