Messages in this thread Patch in this message | | | Date | Mon, 22 Dec 2003 18:07:26 -0800 | From | Walt H <> | Subject | Re: Error mounting root fs on 72:01 using Promise FastTrak TX2000 (PDC20271) |
| |
Nicklas Bondesson wrote: > Actually the 2.4.18 seems to be the only one working. I'm sure someone out > there have the proper fix for this. Who should I talk to in order to get > this fixed? I'm willing to help out in any way I can. > > /Nicke
Well, not really sure. I thought Alan Cox did the original pdcraid.c for linux some time back, but it really hasn't seen many changes. There were two general Linux changes that took place back around 2.4.22 that might affect you. The first, was the addition of the new Promise IDE driver, which you've got configured. The second, has to do with how Linux reports the geometry of a drive. This change affected my setup which is why I wrote the patch for the pdcraid driver. If your system makes it all the way through kernel booting (which it seems to do), but can't mount the filesystem on the raid, it seems to indicate the latter change affecting you also. The only other thing I can think of, is to use my patch (attached) with patch -p1 < pdcraid.patch from your /usr/src/linux and make sure that you've got both Promise drivers compiled in your kernel. Recompile and see what happens. Outside of that, I'm stuck. Good luck,
-Walt --- /usr/src/temp/linux-2.4.21-xfs/linux/drivers/ide/raid/pdcraid.c 2003-12-22 17:59:09.653139067 -0800 +++ linux/drivers/ide/raid/pdcraid.c 2003-07-21 20:47:14.000000000 -0700 @@ -361,7 +361,11 @@ if (ideinfo->sect==0) return 0; - lba = (ideinfo->capacity / (ideinfo->head*ideinfo->sect)); - lba = lba * (ideinfo->head*ideinfo->sect); - lba = lba - ideinfo->sect; + if (ideinfo->head!=255) { + lba = (ideinfo->capacity / (ideinfo->head*ideinfo->sect)); + lba = lba * (ideinfo->head*ideinfo->sect); + lba = lba - ideinfo->sect; } + else { + lba = ideinfo->capacity - ideinfo->sect; + } return lba; | |