Bugzilla – Bug 460542
dmraid report different device size
Last modified: 2009-12-09 23:27:52 UTC
I use RAID0 array on ich9r. OpenSuse 11 installs and works well (I execute dmadm -a y during the installation). In OpenSuse installer this doesn't work. Execution of 'modprobe dm-raid45 && dmraid -a y' was completed, but with error 'dos: partition address pas end of RAID device' and logical partitions wasn't mapped. 'dmraid -s' on working opensuse 11 and opensuse 11.1 installer is differ. OS 11 . Size: 1953536512 OS 11.1. Size: 1953536000
Ok, I would like to know if the problem is related to the metadata interpretation or in the device size detection of the underlying block devices. Can you please provide 1. the output of dmraid -n for both systems (as attachment)? 2. the output of cat /sys/block/DEVICE/size for every block device of the RAID, with DEVICE the actual block device(e.g. sda), also for both systems.
Created attachment 264941 [details] dmraid -n output. Opensuse 11.0 This system works fine.
Created attachment 264942 [details] dmraid -n output. Opensuse 11.1 installer This is made in system loaded by installer.
dmraid -n output has been added as attachements. Device size: Opensuse 11.0 sda: 976773168 sdb: 976773168 Opensuse 11.1 sda: 976773168 sdb: 976773168
I think this is actually a bug in 11.0 which has been fixed in 11.1 Intel's specification for ich9 raid requires that the size and any array be a whole number of megabytes. 1953536512 is 1907750 and a half megabytes which is an invalid size. 1953536000 is 1907750 megabytes exactly which is the correct size. So to be able to use this array with the new, correct code you will need to resize the filesystem to be slightly smaller, then resize the partition containing it to be smaller too. You should probably boot from the 11.0 CD into the rescue system. Then use resize2fs to make the filesystem smaller, and fdisk or cfdisk or similar to resize the partition. Let us know if you need more guidance in this process. It is unfortunate that this is need, but there isn't really any way to avoid it.