RAID1 size issue with PDC20265

Molle Bestefich molle.bestefich at gmail.com
Wed Mar 16 08:47:57 UTC 2005


Alex Ryabtsev wrote:
>>>> tight now, I am using rc5 (I tried to switch to rc6, but as I mentioned
>>>> - it is changing set name (from pdc_fiaaeaab to pdc_bahdfcgbc) and
>>>> instead of five 1,2,3,5,6 (I have extended partition as well) it creates
>>>> only first three.

paul moore wrote:
>>> It could have been that he created the extended partition larger
>>> than the disk size (depending on what he partitioned it with) expecting
>>> something larger.

Molle Bestefich wrote:
>> No.  It's a real bug, I see the same on a RAID1 on my HPT374.
>> Disks are 80 GB, Windows sees this just fine, but DMRAID cuts it down to
>> 40GB.

paul moore wrote:
>  Was referring to Alex's missing partitions in my above note.

You indicated that Alex probably created partitioning beyong his
physical disk, no?
I replied that there definitely is bugs in DMRAID that causes RAID1
arrays to show up as 1/2 the size in Linux that they would in their
BIOS's and in Windows.

I don't get it.  Sorry :-).  I'm probably just not reading your posting right...

Anyway, nevermind.  I failed to read the entire thread anyway (skipped
some postings nicely tucked away in my Gmail view), among others I
failed to see that Alex's problem had already been resolved with a
patch from Heinz.

To twist the conversation onto something slightly more on-topic, the
patch seems to only take care of the PDC case.

I've got my hardware up running again (somewhat), and I'm going to try
and twist the DMRAID code myself to solve my RAID1 1/2 problem.

I'm wondering about this code:
------
	/* Data offset from start of device; first device is special */
	rd->offset  = hpt->disk_number ? HPT37X_DATAOFFSET : 0;
        rd->sectors = hpt->total_secs;
        if (hpt->raid_disks)
        	rd->sectors /= hpt->raid_disks;
------

Is the "hpt" data structure local to the controller, or local to the
specific array that is being constructed?

If it's local to the controller, I can easily see why my array is half
it's supposed size.
There's both a RAID0 and RAID1 array on the same physical controller,
so dividing the total number of sectors for the disks in the array by
the number of disks on the controller will yield an incorrect number.

The above code seems to be contributed btw, it has indentation problems :-).
The rest of the code is (nicely, I might add!) indented with tabs,
while the lines above are mostly indented with spaces.  I know, it's a
detail.




More information about the Ataraid-list mailing list