[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: