kern/115572: ata disk bug (was: [gbde] gbde partitions fail at 28bit/48bit LBA addressing boundary )

Poul-Henning Kamp phk at phk.freebsd.dk
Sun Aug 19 00:54:24 PDT 2007


In message <200708182120.l7ILKBvF046099 at freefall.freebsd.org>, Graham writes:

> 2. attempt (say)....
> rabbit# dd if=/dev/zero of=/dev/ad4s1 oseek=2097151 count=1 bs=64k
> and the result is....
> dd: /dev/ad4s1: Input/output error
> 1+0 records in
> 0+0 records out
> 0 bytes transferred in 0.000325 secs (0 bytes/sec)
> 
> (If dd is performed on the raw drive, /dev/ad4 then block boundary is
> always a power of 2, and blocksize a smaller power of 2.  That's always
> ok.  But we can't assume we use drives that way.)
> 
> So a transfer which starts in the 28-bit zone, but extends over into
> the 48-bit region, fails.  Such transfers happen in the superblock of
> certain size drives, and that plays havoc.  The sector mapping of gbde
> can do this, but soft-update gets screwed by this happening.  It's not
> actually to do with the crypto as I first suspected.

This is a problem in the ata disk driver.



-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.


More information about the freebsd-geom mailing list