dscheck(#ar/2): negative b_blkno error on FreeBSD-4.10-STABLE

Doug White dwhite at gumbysoft.com
Wed Jun 30 19:12:06 PDT 2004


On Wed, 30 Jun 2004, Vladimir Zhurov wrote:

> Thank you for reply.
>
> As file system problems started to pile up I have decided to re-format
> and restore from backups. I have tested all four HDD's in array using WD
> diagnostic utility and extended test did not find any problems.
> So I attempted to re-initialize array using the following method from
> the handbook (section 13.3.2.2 from "Adding disks" section (with
> modifications at newfs stage)):
>
> # dd if=/dev/zero of=/dev/ar0 count=2
> # disklabel /dev/ar0 | disklabel -BrR ar0 /dev/stdin
> # newfs -U /dev/ar0c

Some problems:

1. You forgot to create the array.
2. This is a 'dangerously dedicated' partition and should not be used for
   booting. Run fdisk(8) and create a slice first, then disklabel that.
2. Don't use partition c, its magic. Run disklabel -e on ar0 after the
   previous diskalbel command and use a different partition.  You can copy
   the parameters for partition c, to, say, d,  but don't use c directly.

> However, if I would run fsck /dev/ar0c it would immediately report
> hundreds of partially allocated inodes.

This usually happens if only part othe array is being written to but the
entire array is being read from.  If you were to mount the partition,
you'd get a panic.

>
> fdisk ar0 reports the following:
>
> ******* Working on device /dev/ar0 *******
> parameters extracted from in-core disklabel are:
> cylinders=19452 heads=255 sectors/track=63 (16065 blks/cyl)
>
> Figures below won't work with BIOS for partitions not in cyl 1
> parameters to be used for BIOS calculations are:
> cylinders=19452 heads=255 sectors/track=63 (16065 blks/cyl)
>
> Media sector size is 512
> Warning: BIOS sector numbering starts with sector 1
> Information from DOS bootblock is:
> The data for partition 1 is:
> <UNUSED>
> The data for partition 2 is:
> <UNUSED>
> The data for partition 3 is:
> <UNUSED>
> The data for partition 4 is:
> sysid 165,(FreeBSD/NetBSD/386BSD)
>      start 0, size 50000 (24 Meg), flag 80 (active)
> 	beg: cyl 0/ head 0/ sector 1;
> 	end: cyl 1023/ head 255/ sector 63
>
> Is it controller/cable/some other hardware problem or is it software
> related and I am just doing something wrong?
>
> Vlad.
>
> >>dmesg.today:
> >>dscheck(#ar/2): negative b_blkno -1721888480
> >>
> >>messages:
> >>/kernel: dscheck(#ar/2): negative b_blkno -1721888480
> >
> >
> > I've seen this if the array or partition table is corrupted. The check is
> > at the front of dscheck() in src/sys/kern/subr_diskslice.c.  You might
> > make sure your raid array is functioning normally and the fdisk table
> > hasn't been spammed.
> >
> >
> >>Does anyone know what is the reason for such error and whether it is
> >>critical?
> >
> >
> > It shouldn't happen -- you might go exploring with fdisk(8).
>
> _______________________________________________
> freebsd-stable at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "freebsd-stable-unsubscribe at freebsd.org"
>

-- 
Doug White                    |  FreeBSD: The Power to Serve
dwhite at gumbysoft.com          |  www.FreeBSD.org


More information about the freebsd-stable mailing list