Date: Sun, 27 Feb 2000 02:39:03 +1030 (CST) From: kibbet <kibbet@knfpub.com> To: freebsd-current@freebsd.org Subject: bad blocks Message-ID: <XFMail.000227023903.kibbet@knfpub.com>
next in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
Hi all,
Quick question, how does the new ata driver handle bad blocks?
I've been tracking -current since around Nov 99 but haven't
seen this come up.
I have a drive which I know has some bad blocks. I install 3.2 (just
cause its laying around), use bad block scan in sysinstall everything's
fine (it finds the bad blocks), I can cvs, build and install -current on it.
Build and install a kernel (with the new ata driver), reboot, still no probs,
until I find a bad block :) At this point it dosen't ignore the block but
tries to access it, it does give up after a few attempts. So, perhaps its not
happy with the 3.2 bad block info, so I try; bad144 -v -s ad0 (the output is
attached). It looks like it finds the bad blocks with no problems, but, when
I reboot, it can't mount root;
[device probe snip]
Mounting root from ufs:/dev/ad0d1a
ad0: bad sector table not supported
ad0s1: bad sector table not supported
Root mount failed: 22
Mounting root from ufs:/dev/wd0s1a
wd0: bad sector table not supported
wd0s1: bad sector table not supported
Root mount failed: 22
Mounting root from ufs:/dev/wd0a
wd0: bad sector table not supported
wd0s1: bad sector table not supported
Root mount failed: 22
Manual root filesystem specification:
<fstype>:<device> Mount <device> using filesystem <fstype>
eg. ufs:/dev/da0s1a
? List valid disk boot devices
<empty line> Abort manual input
>>>
Here's the trace, if its useful;
(kgdb) bt
#0 Debugger (msg=0xc025fea9 "manual escape to debugger")
at ../../i386/i386/db_interface.c:319
#1 0xc02257e6 in scgetc (sc=0xc02bed80, flags=1)
at ../../dev/syscons/syscons.c:3134
#2 0xc02236b3 in sccngetch (flags=0) at ../../dev/syscons/syscons.c:1544
#3 0xc022354a in sccngetc (dev=0xc02a6340) at ../../dev/syscons/syscons.c:1470
#4 0xc014d07d in cngetc () at ../../kern/tty_cons.c:406
#5 0xc015cd55 in gets (cp=0xc0324f04 "s") at ../../kern/vfs_conf.c:280
#6 0xc015ccb2 in vfs_mountroot_ask () at ../../kern/vfs_conf.c:254
#7 0xc015ca47 in vfs_mountroot (junk=0x0) at ../../kern/vfs_conf.c:154
#8 0xc0127ec8 in mi_startup (framep=0xc0324fb4) at ../../kern/init_main.c:217
I can't think of what else might be useful (its 2:30am here ATM) :)
It was cvs'd and built a few days ago, but I haven't noticed anything
commited that would affect this since then.
Anyways, coherency isn't my strong point at 2:30am :) If anyone would
like further details (or to flame me), I'll be back in the morning :)
Cheers,
Kent Ibbetson
kib@knfpub.com
[-- Attachment #2 --]
freebie4# bad144 -s -v ad0
cyl: 3307, tracks: 16, secs: 63, sec/cyl: 1008, start: 0, end: 3334212
bad144: couldn't set disk in "badscan" mode: Operation not supported by device
28224 of 3334212 blocks ( 0%)^C
freebie4# bad144 -s -v ad0
cyl: 3307, tracks: 16, secs: 63, sec/cyl: 1008, start: 0, end: 3334212
bad144: couldn't set disk in "badscan" mode: Operation not supported by device
Block: 1202131 will be marked BAD.
Block: 1202405 will be marked BAD.
Block: 1202743 will be marked BAD.
Block: 1203016 will be marked BAD.
Block: 1203633 will be marked BAD.
Block: 1204244 will be marked BAD.
Block: 1204861 will be marked BAD.
Block: 1205472 will be marked BAD.
Block: 1206089 will be marked BAD.
Block: 1206700 will be marked BAD.
Block: 1207317 will be marked BAD.
Block: 1207928 will be marked BAD.
Block: 1208545 will be marked BAD.
Block: 1209156 will be marked BAD.
Block: 1209773 will be marked BAD.
Block: 1210384 will be marked BAD.
Block: 1211157 will be marked BAD.
Block: 1211768 will be marked BAD.
Block: 1212385 will be marked BAD.
Block: 1212996 will be marked BAD.
Block: 1213613 will be marked BAD.
3333456 of 3334212 blocks ( 99%)
bad144: couldn't reset disk from "badscan" mode: Operation not supported by device
Had 0 bad sectors, adding 21
zeroing 3334317
zeroing 3334318
zeroing 3334319
zeroing 3334320
zeroing 3334321
zeroing 3334322
zeroing 3334323
zeroing 3334324
zeroing 3334325
zeroing 3334326
zeroing 3334327
zeroing 3334328
zeroing 3334329
zeroing 3334330
zeroing 3334331
zeroing 3334332
zeroing 3334333
zeroing 3334334
zeroing 3334335
zeroing 3334336
zeroing 3334337
write badsect file at 3334338
write badsect file at 3334340
write badsect file at 3334342
write badsect file at 3334344
write badsect file at 3334346
bad144: can't sync bad-sector file; reboot for changes to take effect
freebie4# bad144 ad0
bad block information at sector 3334338 in /dev/rad0c:
cartridge serial number: 0(10)
sn=1202131, cn=1192, tn=9, sn=28
sn=1202405, cn=1192, tn=13, sn=50
sn=1202743, cn=1193, tn=3, sn=10
sn=1203016, cn=1193, tn=7, sn=31
sn=1203633, cn=1194, tn=1, sn=18
sn=1204244, cn=1194, tn=10, sn=62
sn=1204861, cn=1195, tn=4, sn=49
sn=1205472, cn=1195, tn=14, sn=30
sn=1206089, cn=1196, tn=8, sn=17
sn=1206700, cn=1197, tn=1, sn=61
sn=1207317, cn=1197, tn=11, sn=48
sn=1207928, cn=1198, tn=5, sn=29
sn=1208545, cn=1198, tn=15, sn=16
sn=1209156, cn=1199, tn=8, sn=60
sn=1209773, cn=1200, tn=2, sn=47
sn=1210384, cn=1200, tn=12, sn=28
sn=1211157, cn=1201, tn=8, sn=45
sn=1211768, cn=1202, tn=2, sn=26
sn=1212385, cn=1202, tn=12, sn=13
sn=1212996, cn=1203, tn=5, sn=57
sn=1213613, cn=1203, tn=15, sn=44
freebie4# reboot
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.000227023903.kibbet>
