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