HomeFreeBSD

MFC r354283, r354323, r354363, r354364, r354593, r355773, r355786:

Description

MFC r354283, r354323, r354363, r354364, r354593, r355773, r355786:

loader: we do not support booting from pool with log device
loader: factor out label and uberblock load from vdev_probe, add MMP checks
loader: populate nvl with data even when label_txg is 0
loader: clean up the noise around log device
loader: memory leak in vdev_label_read_config()
loader: zfsimpl.c cstyle cleanup
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.

This patch bundle is work leading to and including fix for issue when
in some cases the pool configuration build does end up in infinite loop.

PR: 241118
Reported by: Ryan Moeller

Details

Provenance
tsoomeAuthored on
Parents
rS356002: Make page busy state deterministic on free. Pages must be xbusy when
Branches
Unknown
Tags
Unknown