Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 26 Sep 2009 13:49:31 +0200
From:      Stefan Bethke <stb@lassitu.de>
To:        Doug Rabson <dfr@rabson.org>
Cc:        FreeBSD current <freebsd-current@freebsd.org>, Artem Belevich <fbsdlist@src.cx>
Subject:   Re: Booting off raidz *mostly* work
Message-ID:  <781F1E7A-1365-43B0-A899-44B3039DD68F@lassitu.de>
In-Reply-To: <290F8258-F9F7-42C8-83EB-88266B2992E4@rabson.org>
References:  <20090925154125.GD48707@roberto-al.eurocontrol.fr> <AE91C53E-FD74-4B6D-9498-D4F11FE5AA2E@lassitu.de> <ed91d4a80909251449i47d2a31dw4ebfd74f71e29dba@mail.gmail.com> <290F8258-F9F7-42C8-83EB-88266B2992E4@rabson.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Am 26.09.2009 um 09:21 schrieb Doug Rabson:

> On 25 Sep 2009, at 22:49, Artem Belevich wrote:
>
>> Our bootloader implementation does not know how to read gang blocks.
>> Compare the code from OpenSolaris' variant of grub with what we have
>> and find the differences:
>>
>> Search for zio_read_data here:
>> http://bitbucket.org/osunix/osunix-gate/src/1cca4617b3a8/usr/src/grub/grub-0.97/stage2/fsys_zfs.c
>>
>> And compare with our zio_read here:
>> http://fxr.watson.org/fxr/source/boot/zfs/zfsimpl.c?im=excerpts#L900
>>
>> We seem to be missing gang block check. That would explain why  
>> zfsboot
>> works only sometimes. If all the files are written using regular
>> blocks, then we're OK. However, some time later (i.e. during upgrade
>> or after an edit), some data can end up written to disk in a gang
>> block and that would make zfsboot choke.
>
> This sounds plausible - I never managed to see a gang block while I  
> was working on this.

I'm afraid something else is wrong.  I added if (DVA_GET_GANG(dva)) to  
zio_read, with a printf and return(EIO).  Booting results in "no block  
copies available", but my code addition does not seem to be  
triggered.  This is with a freshly created zpool, set up with make  
installworld.


Stefan

-- 
Stefan Bethke <stb@lassitu.de>   Fon +49 151 14070811







Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?781F1E7A-1365-43B0-A899-44B3039DD68F>