On 9 Dec 2008, at 23:54, Paul Wootton wrote:

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Pegasus Mc
Cleaft
Sent: 07 December 2008 12:17
To: Doug Rabson
Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED]
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.

_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to