]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
loader: rewrite zfs vdev initialization
authorToomas Soome <tsoome@FreeBSD.org>
Sun, 15 Dec 2019 21:52:40 +0000 (21:52 +0000)
committerToomas Soome <tsoome@FreeBSD.org>
Sun, 15 Dec 2019 21:52:40 +0000 (21:52 +0000)
commit3c2db0ef4345c4f065a14ca2b1fa86d59f35f9d3
treed7dca1241ca1ba03d773831de274bb7e7e35ff8b
parent686bcb5c14aba6e67524be84e125bfdd3514db9e
loader: rewrite zfs vdev initialization

In some cases the pool discovery will get stuck in infinite loop while setting
up the vdev children.

To fix, we split the vdev setup into two parts, first we create vdevs based on
configuration we do get from pool label, then, we process pool config from MOS
and update the pool config if needed.

Testing done: confirm previously hung loader is not hung any more.

MFC after: 1 week
stand/libsa/zfs/zfsimpl.c
sys/cddl/boot/zfs/zfsimpl.h
sys/cddl/boot/zfs/zfssubr.c