Subject: Re: bad sectors on drives ...
To: None <netbsd-users@netbsd.org>
From: Malcolm Herbert <mjch@mail.com>
List: netbsd-users
Date: 12/13/2001 17:45:04
On Thu, Dec 13, 2001 at 03:20:15PM +1100, Malcolm Herbert wrote:
|On Wed, Dec 12, 2001 at 10:09:46PM -0700, Steven M. Bellovin wrote:
||>I found badsect just after I'd sent the original email, unfortunately
[ snip ]
||>I'm not sure I want to do that ...
||
||No, I think you're misreading it. badsect will create a situation
||where certain sectors are in two files. fsck will repair that
||situation; the guidance above is to tell you to tell fsck which file
||should keep the sectors, and which shouldn't. After that, everything
||will look consistent.
[ snip ]
|cool, thanks for the advice ... :)
hmmm ... I'm having trouble working out how to specify sectors to
badsect - I obviously put the wrong numbers in, since once I'd added
all the bad sectors, badsect had made the files, re fscked the drive
and so on, I still got the kernel errors when I wrote to the disk.
Presumably the numbers I fed into badsect weren't those that covered
the bad sectors ... according to the man page:
|The sector numbers must be relative to
|the beginning of the file system, but this is not hard as the system re-
|ports relative sector numbers in its console error messages.
however all the messages I get from syslog (and on the console) appear
to be device-based numbers and not relative to the beginning of the
filesystem:
|Dec 13 18:14:14 tethys /netbsd: sd0(ahc1:2:0): Check Condition on CDB: 0x2a 00 02 3b 90 cf 00 00 10 00
|Dec 13 18:14:14 tethys /netbsd: SENSE KEY: Media Error
|Dec 13 18:14:14 tethys /netbsd: INFO FIELD: 37457166
|Dec 13 18:14:14 tethys /netbsd: ASC/ASCQ: Peripheral Device Write Fault
|Dec 13 18:14:14 tethys /netbsd: FRU CODE: 0x10
|Dec 13 18:14:14 tethys /netbsd: SKSV: Actual Retry Count: 24
I'm presuming the INFO FIELD is the sector I'm after, however how does
this translate into a filesystem relative sector? The disklabel
looked like this (I will be recreating it later, I just nuked it
temporarily in order to do a full write test of the drive to flush
out any other bad sectors):
|tethys[~] 41v#: disklabel -i /dev/rsd0d
|partition> P
|8 partitions:
|# size offset fstype [fsize bsize cpg/sgs]
| a: 21923937 63 4.2BSD 1024 8192 6 # (Cyl. 0*- 1499)
| b: 332676001 21924000 4.2BSD 1024 8192 6 # (Cyl. 1500 - 24261*)
| d: 354600001 0 unused 0 0 # (Cyl. 0 - 24261*)
|partition>
hmmm ... so would disk sector 37457166 would end up being filesystem
/dev/rsd0b sector 15533166? where does the filesystem begin in a
partition (ie, is there an offset I need to apply rather than just doing
a simple <disk sector> - <partition offset>)?
anyway, I'll let the write test complete before I go further, in case
there are any more bad sectors to find ...
Regards,
Malcolm
--
Malcolm Herbert This brain intentionally
mjch@mail.com left blank