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

From: Paul Wootton <paul_at_fletchermoorland.co.uk>
Date: Tue, 9 Dec 2008 23:54:23 -0000
>-----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. 


Cheers
Paul

Received on Tue Dec 09 2008 - 23:33:46 UTC

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