Re: Problems with zfsboot loader if raidz present on any drive

From: Doug Rabson <dfr_at_rabson.org>
Date: Wed, 10 Dec 2008 08:28:59 +0000
On 9 Dec 2008, at 23:54, Paul Wootton wrote:

>> -----Original Message-----
>> From: owner-freebsd-hackers_at_freebsd.org
>> [mailto:owner-freebsd-hackers_at_freebsd.org] On Behalf Of Pegasus Mc
>> Cleaft
>> Sent: 07 December 2008 12:17
>> To: Doug Rabson
>> Cc: hackers_at_freebsd.org; current_at_freebsd.org
>> Subject: Re: Problems with zfsboot loader if raidz present on any
>> drive
>>
>> On Sunday 07 December 2008 09:22:16 Doug Rabson wrote:
>> On 7 Dec 2008, at 03:19, Pegasus Mc Cleaft wrote:
>>>> Hello Hackers,
>>>>
>>>> 	Recently and friend and I have been trying to get the new
>>>> gptzfsboot working on our machines and ran into a interesting
>>>> problem.
>>>>
>>>> 	Initially I was building the world without the environment
>>>> variable LOADER_ZFS_SUPPORT=YES in the /etc/make.conf and this, of
>>>> course, didnt work very well. Every time the machine booted, it
>>>> would throw 2 lines after the pin-wheel and then reboot. I
>>>> couldent read what the lines were it went so fast.
>>>>
>>>> 	My friend had a bit more luck and got his machine working OK with
>>>> a single drive and later a mirror drive added.
>>>>
>>>> 	I added the environment variable and rebuilt everything and
>>>> installed. This time, I could see the bios drives and a further 2
>>>> lines of ZFS something and a reboot...
>>>>
>>>> 	No matter what I tried, I couldent get the machine to boot up to
>>>> a point where I could try and fix the problem, so I started
>>>> pulling devices out and found the following: If there is a raidz
>>>> pool on any drive (not necessarily the one that you are trying to
>>>> boot from) the loader dies and reboots the machine. My friend, as
>>>> an experiment created 3 gpt partitions (in addition to the single
>>>> partition that he had been previously booted from) on his single
>>>> drive and made a raidz pool for testing. His machine showed the
>>>> same condition as mine, however he was able to capture the message
>>>> before the machine
>>>> rebooted:
>>>>
>>>> <message>
>>>> ZFS: can only boot from disk or mirror vdevs
>>>>
>>>> ZFS: inconsistent nvlist contents
>>>
>>> The zfsboot code in current doesn't support raidz or raidz2. I have
>>> been working on adding that support but its not ready yet. The code
>>> works in my test harness but crashes instantly when I put it in the
>>> boot code :(. I should have time to finish debugging it soon.
>>
>> Hi Doug,
>>
>> 	In my haste to put a message to the group, I didnt do a very good
> job
>> of explaining or give what platform I was working with.
>>
>> 	I set up a single disk pool with the gptzfsboot code on it as a boot
> drive.
>> My idea was to have a single disk boot (and after it boots and I can
>> kill the UFS drive I am currently booting from) convert it to a
>> mirror. But I have 6 other drives in the machine that I have as a  
>> raidz
> for my /usr/home, et al.
>>
>> 	If the 6 raidz drives are present at boot time, the machine starts
> to
>> cyclic reboot just after the pin-wheel.
>>
>> 	The machine I am working on is running FBSD8.0-Current as of
> midnight
>> 7/12/2008 and the platform is AMD64.
>>
>> 	If I can help test in any way I would be more than happy to try, or
>> provide any information necessary..
>>
>> ~Peg
>
> Hi Doug,
> I was working with Peg on this over the weekend.
> I think I have a patch for this - see
> http://www.freebsd.org/cgi/query-pr.cgi?pr=129539
> The problem was that we were not checking the return code from
> vdev_init_from_nvlist() on line 726 in /usr/src/sys/boot/zfs/zfsimpl.c
>
>
> Joao,
> Do you want to try the attached patch? It seems to have fixed the  
> problem,
> at least on mine and Peg's machine.

This looks like the right fix. I will commit something similar to this  
today.
Received on Wed Dec 10 2008 - 07:29:01 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:38 UTC