Fw: Re: Fw: medley raid problem

James Olson big_spender12 at lycos.com
Sun Oct 30 06:15:58 UTC 2005


 Hi Molle,
Thanks for your help.  Anyway, the hpa message turned out to be a red herring.  The problem was actually in the detection of the magic number in the metadata.  From sil.c the magic number is defined:
#define	SIL_MAGIC	0x2F000000
and on my 3 drives I read:
magic: 	hdf		0x0F000000 disk_number: 2
magic: 	hdg		0x2F000000 disk_number: 1
magic: 	hde		0x0B000000 disk_number: 0

so it is finding the metadata but the routine:
return sil->magic == SIL_MAGIC && sil->disk_number < 8;
fails for hdf and hde.

I wasn't sure how to fix the magic number detection so I wrote a patch to use the PCI vendor and product ID instead, like they do in the working ataraid, medley 2.4 kernel modules, and it works! :

--- dmraid.orig/dmraid/1.0.0.rc9/lib/format/ataraid/sil.c	2005-09-22 06:09:02.000000000 -0700
+++ dmraid/1.0.0.rc9/lib/format/ataraid/sil.c	2005-10-29 22:50:32.000000000 -0700
@@ -128,7 +128,11 @@
 
 static int is_sil(struct sil *sil)
 {
-	return sil->magic == SIL_MAGIC && sil->disk_number < 8;
+#define SIL_680_VENDOR_ID   0x1095
+#define SIL_680_PRODUCT_ID  0x0680
+	if ((sil->vendor_id == SIL_680_VENDOR_ID) && (sil->product_id == SIL_680_PRODUCT_ID))
+	return 1;
+	else return 0;
 }
 
 static int sil_valid(struct lib_context *lc, struct dev_info *di,

----- Original Message -----
From: "Molle Bestefich" <molle.bestefich at gmail.com>
To: "ATARAID (eg, Promise Fasttrak,  Highpoint 370) related discussions" <ataraid-list at redhat.com>
Subject: Re: Fw: Re: Fw: medley raid problem
Date: Sat, 29 Oct 2005 22:54:28 +0200

> 
> James Olson wrote:
> > 2.4 kernel dmesg log:
> > hde: 6835952 sectors (3500 MB), CHS=6781/16/63, UDMA(33)
> > hdf: 6346368 sectors (3249 MB) w/96KiB Cache, CHS=6296/16/63, DMA
> > hdg: host protected area => 1
> > hdg: 6346368 sectors (3249 MB) w/256KiB Cache, CHS=6296/16/63, UDMA(33)
> 
> Too bad it doesn't tell you how large the HPA is, otherwise you could
> subtract that from the total size and look for metadata at the
> resulting sector...
> 
> > Here is the 2.6 log:
> > hde: FUJITSU MPA3035ATU, ATA DISK drive
> > hdf: IBM-DAQA-33240, ATA DISK drive
> > hdg: WDC AC23200L, ATA DISK drive
> > hde: 6835952 sectors (3500 MB), CHS=6781/16/63, UDMA(33)
> > hdf: 6346368 sectors (3249 MB) w/96KiB Cache, CHS=6296/16/63, DMA
> > hdg: 6346368 sectors (3249 MB) w/256KiB Cache, CHS=6296/16/63, UDMA(33)
> 
> I've seen 2.6 versions that do tell about HPA areas, I find it suspect
> that yours doesn't.
> Perhaps it's a bug (but it really does disable the HPA), perhaps there
> really is no HPA or perhaps the information has been intentionally
> removed from newer 2.6 kernels.
> 
> Could you compare the number of sectors that Linux tells you above to
> the number reported by your BIOS?
> 
> Just to get you up to speed on HPA:
> There was some discussion on linux-kernel, and the powers that be
> (Alan Cox) does not want to change the kernel's current faulty
> behaviour of automatically disabling the HPA, since that would break
> things for the few people that has partitions which span the HPA if
> they upgrade the kernel and do not manually enable the "HPA disable"
> thing.  Most of those people supposedly have BIOSs where they can
> disable HPA the proper way (the ThinkPad users do, at least), but that
> argument didn't seem to stick.
> 
> The only way forward right now that would pass the Cox barrier is a
> patch that change all the partition detection code to:
>   * Know about HPA/non-HPA size of physical devices.
>   * Detect partitions that are out-of-bounds of the non-HPA size.
>   * Call IDE code to disable HPA when such partitions are found.
> 
> Or patches that:
>   * Change all user code to be aware of HPA versus non-HPA IDE disks.
> 
> Both seems overly complex solutions compared to:
>   * Fixing the kernel to behave itself and not disable HPA.
>   * Provide a kernel command line flag or configuration option for
> those who need to disable HPA manually because they have a horrible
> BIOS.
> 
> But that's how things are right now.
> 
> > Also there is some question of the drive geometry between the different kernels.
> > The hdparm -g outputs differ.
> 
> Maybe 2.4 does not disable HPA?
> 2.6 does (my best guess is that it does so because some IDE developer
> had a laptop which didn't allow him to disable HPA).
> 
> Seems odd though, since the two logs you've given indicate that both
> kernels see the same number of sectors.  What sector count do you get
> if you run fdisk on the two kernels?
> 
> Blah blah.  Sorry for the lengthy mail.
> 
> _______________________________________________
> Ataraid-list mailing list
> Ataraid-list at redhat.com
> https://www.redhat.com/mailman/listinfo/ataraid-list


-- 
_______________________________________________

Search for businesses by name, location, or phone number.  -Lycos Yellow Pages

http://r.lycos.com/r/yp_emailfooter/http://yellowpages.lycos.com/default.asp?SRC=lycos10





More information about the Ataraid-list mailing list