Subject: Re: wd.c patch (was Re: NetBSD 3.0_BETA & RAIDframe problems)
To: Teemu Rinta-aho <teemu@rinta-aho.org>
From: Timo Schoeler <timo.schoeler@macfinity.net>
List: current-users
Date: 06/20/2005 13:09:25
thus Teemu Rinta-aho spake:
> On Wed, 15 Jun 2005, David Brownlee wrote:
> 
>>>> wd0a: error reading fsbn 268435392 of 268435392-268435519 (wd0 bn
>>>> 268435455;
>>>> cn
>>>> 266305 tn 0 sn 15), retrying
>>>> wd0: (id not found)
>>
>>
>>     Its a seagate disk isn't it? Some seagate disks can only access
>>     the last 'pre LBA48' sector via LBA48. There is a quirk table
>>     in NetBSD, but really NetBSD should try LBA48 on that sector
>>     if non LBA48 fails.
> 
> 
> Thanks for guiding me to the source of the problem!
> 
> I patched wd.c with the attached patch and now it seems to
> work ok... I suggest putting this change into the NetBSD CVS.
> 
> BR,
> Teemu

hi,

please add this quirk for another this, the Seagate ST3160023A
(160GByte, 7.200rpm, 8MByte Cache).

before applying the patch the machine crashed when builing RAIDframe,
with patch applied (i did it for 2.0.2-RELEASE, too) it runs fine.

--- wd.c        2005-06-20 12:53:48.000000000 +0200
+++ wd.c.orig   2005-06-20 12:05:46.000000000 +0200
@@ -235,8 +235,6 @@
         * (aka LBA48_THRESHOLD) in LBA mode. The workaround is to force
         * LBA48
         */
-       { "ST3160023A",
-         WD_QUIRK_FORCE_LBA48 },
        { "ST3200822A",
          WD_QUIRK_FORCE_LBA48 },
        { "ST3200822AS",


thanks,

timo

ps: filed kern/30563 for this, just to make sure.