Re: problem booting to multi-vdev root pool

From: Andrei Lavreniyuk <andy.lavr_at_gmail.com>
Date: Wed, 21 Nov 2012 09:51:23 +0200
2012/11/20 Andriy Gapon <avg_at_freebsd.org>:
> on 20/11/2012 17:06 Andriy Gapon said the following:
>> on 20/11/2012 16:59 Andrei Lavreniyuk said the following:
>>>>> Sorry to make you jump through so many hoops.
>>>>> Now that I see that the probed config is entirely correct, the problem appears to
>>>>> be quite obvious: vdev_alloc is not able to properly use spa_version in this
>>>>> context because spa_ubsync is not initialized yet.
>>>>>
>>>>> Let me think about how to fix this.
>>>>
>>>> I hope that the following simple patch should fix the problem:
>>>> http://people.freebsd.org/~avg/spa_import_rootpool.version.diff
>>>
>>>
>>>   At mount system trap and reboot.
>>>
>>
>> Unexpected.  Can you catch the backtrace of the panic?
>> If you have it on the screen.
>>
>>
>
> Ah, found another bogosity in the code:
> --- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c
> +++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c
> _at__at_ -3925,8 +4117,6 _at__at_ spa_import_rootpool(const char *name)
>                 return (error);
>         }
>
> -       spa_history_log_version(spa, LOG_POOL_IMPORT);
> -
>         spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
>         vdev_free(rvd);
>         spa_config_exit(spa, SCL_ALL, FTAG);
>
>
> This previously "worked" only because the pool version was zero and thus the
> action was a NOP anyway.
>


Problem solved. Raidz pool mount without zpool.cache.


# zpool status -v
  pool: zsolar
 state: ONLINE
  scan: resilvered 2,56M in 0h0m with 0 errors on Tue Nov 20 10:26:35 2012
config:

        NAME           STATE     READ WRITE CKSUM
        zsolar         ONLINE       0     0     0
          raidz2-0     ONLINE       0     0     0
            gpt/disk0  ONLINE       0     0     0
            gpt/disk2  ONLINE       0     0     0
            gpt/disk3  ONLINE       0     0     0

errors: No known data errors

# uname -a
FreeBSD opensolaris.technica-03.local 10.0-CURRENT FreeBSD
10.0-CURRENT #6 r243278M: Wed Nov 21 09:28:51 EET 2012
root_at_opensolaris.technica-03.local:/usr/obj/usr/src/sys/SMP64R  amd64


Thanks!
Received on Wed Nov 21 2012 - 06:51:25 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:32 UTC