Subject: Still very little disk bad block support in NetBSD....
To: None <current-users@NetBSD.ORG>
From: Greg A. Woods <woods@kuma.web.net>
List: current-users
Date: 11/23/1997 01:23:39
This worries me a *LOT*.  One thing I've not yet tried to confirm is
whether the SCSI disk drivers will even force the automatic read and
write reallocation bits on in disks that have mounted filesystems (the
union scsi_disk_pages doesn't have declarations for pages 1 or 2, so I'd
guess not).

00:50 [787] # find /usr/src/sys -name '*.c' -print | xargs egrep  '(isbad|sd_reassign)'
./arch/amiga/amiga/dkbad.c:int isbad __P((struct dkbad *, int, int, int));
./arch/amiga/amiga/dkbad.c:isbad(bt, cyl, trk, sec)
./arch/atari/atari/dkbad.c:int isbad __P((struct dkbad *, int, int, int));
./arch/atari/atari/dkbad.c:isbad(bt, cyl, trk, sec)
./arch/hp300/hp300/dkbad.c:int  isbad __P((struct dkbad *, int, int, int));
./arch/hp300/hp300/dkbad.c:isbad(bt, cyl, trk, sec)
./arch/i386/i386/dkbad.c:isbad(bt, cyl, trk, sec)
./arch/mvme68k/mvme68k/dkbad.c:isbad(bt, cyl, trk, sec)
./arch/sparc/dev/xd.c:          if ((i = isbad(&iorq->xd->dkb, iorq->blockno / iorq->xd->sectpercyl,
./arch/sparc/dev/xy.c:          if ((i = isbad(&iorq->xy->dkb, iorq->blockno / iorq->xy->sectpercyl,
./arch/sparc/sparc/disksubr.c:isbad(bt, cyl, trk, sec)
./arch/sun3/sun3/disksubr.c:isbad(bt, cyl, trk, sec)
./arch/sun3/dev/xd.c:           if ((i = isbad(&iorq->xd->dkb, iorq->blockno / iorq->xd->sectpercyl,
./arch/sun3/dev/xy.c:           if ((i = isbad(&iorq->xy->dkb, iorq->blockno / iorq->xy->sectpercyl,
./arch/x68k/x68k/dkbad.c:isbad(bt, cyl, trk, sec)
./dev/scsipi/sd.c:int   sd_reassign_blocks __P((struct sd_softc *, u_long));
./dev/scsipi/sd.c:sd_reassign_blocks(sd, blkno)

-- 
							Greg A. Woods

+1 416 443-1734			VE3TCP			robohack!woods
Planix, Inc. <woods@planix.com>; Secrets Of The Weird <woods@weird.com>