Re: problem booting to multi-vdev root pool
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
@@ -3925,8 +4117,6 @@ 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.
--
Andriy Gapon
_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"
討論串 (同標題文章)
完整討論串 (本文為第 19 之 21 篇):