From owner-freebsd-geom@FreeBSD.ORG Sat Aug 18 21:20:12 2007 Return-Path: Delivered-To: freebsd-geom@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0D99E16A473 for ; Sat, 18 Aug 2007 21:20:12 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id EA4BF13C4B3 for ; Sat, 18 Aug 2007 21:20:11 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.1/8.14.1) with ESMTP id l7ILKBMV046100 for ; Sat, 18 Aug 2007 21:20:11 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.1/8.14.1/Submit) id l7ILKBvF046099; Sat, 18 Aug 2007 21:20:11 GMT (envelope-from gnats) Date: Sat, 18 Aug 2007 21:20:11 GMT Message-Id: <200708182120.l7ILKBvF046099@freefall.freebsd.org> To: freebsd-geom@FreeBSD.org From: Graham Cc: Subject: Re: kern/115572: [gbde] gbde partitions fail at 28bit/48bit LBA addressing boundary X-BeenThere: freebsd-geom@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Graham List-Id: GEOM-specific discussions and implementations List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 Aug 2007 21:20:12 -0000 The following reply was made to PR kern/115572; it has been noted by GNATS. From: Graham To: bug-followup@FreeBSD.org Cc: 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 /dev/ad4s1. 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. http://tv.yahoo.com/