isw brokenness

Phillip Susi psusi at
Fri Sep 5 19:36:55 UTC 2008

I thought that I would post an update to this thread as I now have a 
better understanding of what is going on.  It seems that the old Linux 
IDE driver was broken and failed to respect the HPA.  This was fixed in 
the new libata driver, but because a system that had been installed 
under an old kernel would no longer work properly with the new driver 
since it could not access the entire disk, Ubuntu decided to disable the 
HPA by default.  Since the bios and windows respect the HPA, and Ubuntu 
Linux does not, that lead to the dmraid problem.  The workaround is to 
set the libata parameter directing the kernel to respect the HPA.  The 
vanilla kernel respects it by default, so this should not be an issue 
for non Ubuntu users.

Phillip Susi wrote:
> It appears to be related to the use of a Host Protected Area ( HPA ). 
> Both disks are the same size, but one has some space reserved as an HPA. 
>  The metadata in that disk reports its size as reduced by the size of 
> the HPA.  The metadata in the second disk appears to report the size of 
> the first disk in its entirety, not respecting the HPA.  Because the 
> metadata on each disk disagrees, their checksums were different when 
> created which lead to them showing different values for family_num, 
> which causes dmraid to identify each disk as belonging to different 
> unrelated raid sets.
> So it appears that the bios has a bug that caused it to generate 
> incorrect metadata when the raid set was created, yet the windows driver 
> appears to ignore this inconsistency and operate anyhow.

More information about the Ataraid-list mailing list