i got badblocks :-|
my hard disk run into badblocks,
when i run a program which produce much disk activities,
many messages will appear like this:
"
Info fld=0x2023f6a, Current sd08:03: sense key Medium Error
Additional sense indicates Error too long to correct
I/O error: dev 08:03, sector 24313706
"
and even worse: the building process just hang , it was not running,
and cant kill it, even `kill -9' has no effect.
`ps aux` showes its state is 'D', (ps manpage says: 'D' is
uninterruptible sleep, usually io)
when any process has state 'D', i cant shutdown my system ,
except press the reset button.
next time, when i start it again,
fsck will check it automatically,
but `fsck` never mark these blocks as 'bad block', coz the data is
"Additional sense indicates Recovered data with negative head offset"
(good things sometimes make bad effect ;-)
according to the kernel message,
so i decided i must add these block to bad-block-list manually,
my plan is:
1, take the hexadecimal number comes with those kernel message,
2, translate them to block number,
3, feed these block numbers to fsck
...
(great work , isn't it ? :)
but i m not sure about what these hex numbers stand for,
although some looks like sector numbers of disk,
i have read the kernel source
driver/scsi/constants.c
and
driver/scsi/scsi_lib.c
but they are less meaningful to me, i need more detailed info.
so, could anybody tell me,
what these kernel message stands for ?
how to convert them to block number ?
Reply to: