kern/115572: [gbde] gbde partitions fail at 28bit/48bit LBA
gbradley at rocketmail.com
Sat Aug 18 14:20:12 PDT 2007
The following reply was made to PR kern/115572; it has been noted by GNATS.
From: Graham <gbradley at rocketmail.com>
To: bug-followup at FreeBSD.org
Subject: Re: kern/115572: [gbde] gbde partitions fail at 28bit/48bit LBA addressing boundary
Date: Sat, 18 Aug 2007 13:49:13 -0700 (PDT)
I have stripped this problem down to its simplest form, which is that a
block read or write where the block straddles the 137gb boundary fails.
Simplest reproducible form:
1. create a single partition on a large drive, so then the first
partition starts at a sector offset of 1. In my case this is
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.
____________________________________________________________________________________Ready for the edge of your seat?
Check out tonight's top picks on Yahoo! TV.
More information about the freebsd-geom