Date: Fri, 9 Dec 2005 09:57:42 -0600 From: Jason Harmening <jason.harmening@gmail.com> To: gbyshenk@byshenk.net Cc: freebsd-stable@freebsd.org Subject: Re: [FreeBSD 6.0-RELEASE] Incorrect geometry for VIA RAID0 array Message-ID: <2d1264630512090757n65c60cf0rb64385f3fac7321b@mail.gmail.com> In-Reply-To: <200512090015.jB90FMEA084040@byshenk.demon.nl> References: <dn7nuo$2agc$1@FreeBSD.csie.nctu.edu.tw> <200512090015.jB90FMEA084040@byshenk.demon.nl>
next in thread | previous in thread | raw e-mail | index | archive | help
Yes, the array is being recognized properly. The problem seems to be in th= e via_read_meta() function in sys/dev/ata/ata_raid.c. Essentially, the problem is that in the case of a striped array, the function overwrites the total sector count of the top-level raid descriptor with the sector count o= f each enumerated disk, rather than adding to the sector count. Last night I installed FreeBSD on the first half of the array, and then built a custom kernel with a modification to fix this issue. The full 148G capacity of th= e array is now recognized, and I've been able to expand my slice with fdisk and bsdlabel/newfs a new partition in the added space. So far I've written about a gig of data to the new partition, and everything is working fine. Note that even if you had a striped array, you wouldn't see this issue because in your case the OS would use the promise_read_meta() routine, whic= h doesn't have this bug. On 12/8/05, greg byshenk <gbyshenk@byshenk.demon.nl> wrote: > > On freebsd-stable, jason.harmening@gmail.com (Jason Harmening) wrote: > > > Here's the dmesg output from the installer: > > > ad4: 70911MB <WDC WD740GD-00FLA1 27.08D27> at ata2-master SATA150 > > ad6: 70911MB <WDC WD740GD-00FLC0 33.08F33> at ata3-master SATA150 > > ar0: 70911MB <VIA Tech V-RAID RAID0 (stripe 64 KB)> status: READY > > ar0: disk0 READY using ad4 at ata2-master > > ar0: disk1 READY using ad6 at ata3-master > > Are you _sure_ that the array is being recognized properly? > > Based on the dmesg output, it looks like the controller is being read > as a 74G drive. > > FWIW, this is the section of my dmesg output, for a _mirror_: > > ad4: 78167MB <Maxtor 6Y080P0 YAR41BW0> at ata2-master UDMA133 > ad6: 78167MB <Maxtor 6Y080P0 YAR41BW0> at ata3-master UDMA133 > ar0: 77247MB <Promise Fasttrak RAID1> status: READY > ar0: disk0 READY (master) using ad4 at ata2-master > ar0: disk1 READY (mirror) using ad6 at ata3-master > > > > On 12/7/05, Jason Harmening <jason.harmening@gmail.com> wrote: > > > > I'm trying to install FreeBSD 6.0-RELEASE on a RAID0 array attached t= o > the > > > VIA 8237 controller on my Asus A8V Deluxe motherboard. The array > consists > > > of two 74G drives. The installer recognizes the array as ar0, but > when I > > > enter FDISK to set up my partition, the size of the array is only > recognized > > > as 74G, rather than the true 148G. I've double-checked all my BIOS > > > settings, and nothing seems out of order. Please help! > > > -- > greg byshenk - gbyshenk@byshenk.net - Leiden, NL >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?2d1264630512090757n65c60cf0rb64385f3fac7321b>