VIA RAID geometry and other problems

Marcin Simonides marcin at
Wed Nov 9 22:56:05 GMT 2005

I've recently arranged two of my disks into a RAID0 array using my 
on-board VIA SATA controller, installed XP on it and prepared first 
partition for /usr to be disklabeled and used later.

Here's the partition table as I remember it :) :

primary	ar0s1		FreeBSD		unused		(20GB)
primary	ar0s2		NTFS		Windows XP	(20GB)
extended partition:
logical	ar0s5		NTFS		some data	(60GB)
logical	ar0s6(?)	FAT32		some data	(32GB)

the rest was unused.

The first thing I've noticed was the wrong size of the corresponding
ar0 device [dmesg output]:

atapci0: <VIA 6420 SATA150 controller> port 
irq 20 at device 15.0 on pci0
ad0: 29314MB <IBM DTLA-307030 TX4OA60A> at ata0-master UDMA100
ad4: 76319MB <WDC WD800JD-00HKA0 13.03G13> at ata2-master SATA150
ad6: 76319MB <WDC WD800JD-00HKA0 13.03G13> at ata3-master SATA150
ar0: 76319MB <VIA Tech V-RAID RAID0 (stripe 16 KB)> status: READY
ar0: disk0 READY using ad4 at ata2-master
ar0: disk1 READY using ad6 at ata3-master

Geometry shown in sysinstall is the same for ar0 as for ad0. I don't 
know if this is a problem or not. The size of ar0 which should be the 
sum of ad4 and ad6, however, is a problem when using disk utilities.

The other interesting thing is status returned by atacontrol:

simon# atacontrol status ar0
ar0: ATA RAID0 stripesize=32 subdisks: ad4 ad6 status: READY

The stripe size was set to 16KB while creating array in BIOS. Does 
atacontrol show size in KB or some other unit (blocks?). I guess it's 
all right, since I can read data written with Windows driver.

I've used Windows' disk management to partition the array and there were 
no problems except for one: the FAT32 slice was not present in FreeBSD. 
data on ar0s5 was accessible, I think it extended past 76319MB, which is 
the size that ar0 reports.

Real problems started after I disklabeled ar0s1 for /usr and additional 
swap. They both work as expected, but the whole extended partition has 
disappeared (I used sysinstall to do the disklabel, not the first time 
and I think I did it right).

I've tried creating extended partition again (in windows) in hope that 
logical drives and data are still there, but this didn't help.

Then I tried gpart, it complained about a problem with extended 
partition at sector where it should begin. It showed the first two 
slices where they are.

Then I tried creating extended and primary partition with sysinstall, 
linux-fdisk and at some point Windows stopped booting (everything I 
tried to create was behind the second slice, but maybe I did something 

Fortunately the contents of these lost slices is not very important (it 
shouldn't take more than a day to recreate), so I don't need to fix it.

Does anybody know why this may have happened and what can I do to have 
ar0 report proper size and access all slices?
Could this be an issue with FreeBSD ata raid driver (I found posts by 
people using VIA 6420 and RAID1, does anyone use it for RAID0?) ?

Thanks for reading this long message ;)
Marcin Simonides

More information about the freebsd-questions mailing list