The following reply was made to PR kernel/6531; it has been noted by GNATS.
From: Mathias Schmocker <[email protected]> To: Mark Kettenis <[email protected]> Cc: [email protected], [email protected] Subject: Re: kernel/6531: wd(4) LBA48 hard disk problem and fix on Apple Macintosh MacBook Pro Date: Thu, 30 Dec 2010 19:36:04 +0100 Le 29.12.10 20:05, Mark Kettenis a icrit : <...> > Can you try the diff below instead of your origional diff? > > > Index: wd.c > =================================================================== > RCS file: /cvs/src/sys/dev/ata/wd.c,v > retrieving revision 1.95 > diff -u -p -r1.95 wd.c > --- wd.c 22 Sep 2010 01:18:57 -0000 1.95 > +++ wd.c 29 Dec 2010 18:52:54 -0000 > @@ -548,7 +548,7 @@ __wdstart(struct wd_softc *wd, struct bu > nblks = bp->b_bcount / wd->sc_dk.dk_label->d_secsize; > if ((wd->sc_flags& WDF_LBA48)&& > /* use LBA48 only if really need */ > - ((wd->sc_wdc_bio.blkno + nblks - 1> LBA48_THRESHOLD) || > + ((wd->sc_wdc_bio.blkno + nblks - 1>= LBA48_THRESHOLD) || > (nblks> 0xff))) > wd->sc_wdc_bio.flags |= ATA_LBA48; > if (wd->sc_flags& WDF_LBA) dd if=/dev/rwd0c of=/dev/null bs=8192 61048383+0 records in 61048383+0 records out 500107862016 bytes transferred in 8327.499 secs (60054984 bytes/sec) It worked on -current, the whole Apple/Hitachi hard disk could be read ! Nice fix Mark. -- Mathias
