Problems with zfsboot loader if raidz present on any drive
Paul Wootton
paul at fletchermoorland.co.uk
Tue Dec 9 16:33:46 PST 2008
>-----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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: zfsimpl.c.patch
Type: application/octet-stream
Size: 792 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-hackers/attachments/20081210/a9fd1481/zfsimpl.c.obj
More information about the freebsd-hackers
mailing list