kern/115572: [gbde] gbde partitions fail at 28bit/48bit LBA addressing boundary

Mark Linimon linimon at lonesome.com
Fri Aug 17 15:10:14 PDT 2007


The following reply was made to PR kern/115572; it has been noted by GNATS.

From: linimon at lonesome.com (Mark Linimon)
To: bug-followup at FreeBSD.org
Cc:  
Subject: Re: kern/115572: [gbde] gbde partitions fail at 28bit/48bit LBA addressing boundary
Date: Fri, 17 Aug 2007 17:07:53 -0500

 ----- Forwarded message from Graham <gbradley at rocketmail.com> -----
 
 further to yesterday, I run this sequence...
 1. init and attach a gbde volume,
 2. write zeros from start of the volume, in 1GiB bursts, until dd hits
 an i/o error,
 3. detach gbde volume
 
 this error came after 121GiB written.
 
 Then I have run a repeated sequence of...
 1. init and attach a gbde volume,
 2. write using dd 1GiB of zeros starting 121 GiB into the device
 3. detach gbde volume
 
 like this.....
 
 #! /usr/local/bin/bash
 #
 trap 'gbde detach ad4;exit 9' 1 2 3 13 15
 #
 while [ 0 -eq 0 ]
 do
 gbde init ad4 -P password
 gbde attach ad4 -p password
 START=1982464
 COUNT=16384
 dd if=/dev/zero of=/dev/ad4.bde bs=64k oseek=$START count=$COUNT
 gbde detach ad4
 done
 exit 3
 #
 
 (and then I checked smartctl for no errors on the drive.)
 
 which gives an i/o error at different block counts, always with an LBA
 at or more often just a few sectors below the LBA=268435455
 
 The gbde-volume block offsets at error are much more varied, and a
 significant proportion of the tests do not show errors in this test.
 
 I have read the paper by Poul-Henning Kamp "GBDE-GEOM Disk Based
 Encryption" and it is clear that the gbde volume's sector addresses are
 mapped on the physical drive in a non-repeatable way each time "init"
 takes place.  This explains the movable nature of the error, and the
 symptoms perceived by the user when a filesystem is written in geom can
 vary according to whether the tripwire LBA address gets mapped to data,
 inodes, or superblock.
 
 I am afraid this sounds much like a mapping consistency issue in GBDE,
 the mapping is quite complex, and I expect there are others better
 placed to know where to look for it.
 
 I am happy to help if you wish, there is a long-standing issue here
 needs fixing, but I would need a prompt towards finding the code which
 implements the mapping.
 
 regards
 Graham
 
 ----- End forwarded message -----


More information about the freebsd-geom mailing list