Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 11 Nov 2001 06:37:30 -0800
From:      John De Boskey <jwd@FreeBSD.org>
To:        Stable List <freebsd-stable@FreeBSD.org>
Subject:   "disklabel -rw ar0 auto"  breaks HPT raid0+1
Message-ID:  <20011111063730.A3860@FreeBSD.org>

next in thread | raw e-mail | index | archive | help
Hi,

   I have an ABIT KT7A-RAID motherboard with the builtin
HPT370 controller:

atapci1: <HighPoint HPT370 ATA100 controller> port 0xe800-0xe8ff,0xe400-0xe403,0

ar0: 190792MB <ATA RAID0+1 array> [24322/255/63] subdisks:
  ad6: 95396MB <WDC WD1000BB-00CCB0> [193821/16/63] at ata3-master UDMA100
  ad5: 95396MB <WDC WD1000BB-00CCB0> [193821/16/63] at ata2-slave UDMA100
  ad4: 95396MB <WDC WD1000BB-00CCB0> [193821/16/63] at ata2-master UDMA100
  ad7: 95396MB <WDC WD1000BB-00CCB0> [193821/16/63] at ata3-slave UDMA100


   After setting up the raid (stripes are quick, mirror takes 4+ hours)
and booting the machine I get the above.

   The disklabel command:

disklabel -rw ar0 auto

   creates and writes a label.

newfs -c 22 /dev/ar0c

   writes a filesystem on to the disk which can then be mounted and used.
However, when the system is rebooted, the HPT controller says the stripe
has been broken and needs to be re-synced. After re-syncing the array comes
up fine and continues to work correctly across reboots with no problems.

   Having debugged this a few times, it appears that disklabel is writing
data over the control information at the head of the disks. Looking at the
ata-raid.c source code, it appears to be reserving 10 blocks. Am I stuck
simply increasing this number until the problem goes away or is there
any real information on the control structures being written out?

   I have only tested this on a -stable system, though from looking at the
code -current will probably have the same issues.

   As a side note, it takes 4+ hours to 'sync' the 2 stripes into a mirror
from the HPT bios. If we understand the control structures well enough, it
would seem nice if we could have an ioctl interface to force the raid into
normal mode from broken mode since there really isn't any data that needs to
be sync'd yet...

   The motherboard has the latest bios installed.

   Comments?

Thanks,
John

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20011111063730.A3860>