aboutsummaryrefslogtreecommitdiff
path: root/sbin/dhclient/(public-mirror)
diff options
context:
space:
mode:
authorGleb Smirnoff <glebius@FreeBSD.org>2025-07-16 18:15:12 +0000
committerGleb Smirnoff <glebius@FreeBSD.org>2025-07-16 18:15:54 +0000
commit6dd0803ffd31c60a84488d06928813353c6303d3 (patch)
tree4d3a56886e58e036f02e9bff80fbbb76f137d15a /sbin/dhclient/(public-mirror)
parentcc61a0793a0e7db8601e5eba1242befb810a5844 (diff)
libsa/zfs: prefer a vdev with newer txg to a stale oneHEADmain
Before this change, the first probed member of a pool would initialize vdev tree for the pool. Now, imagine a situation when a machine has a disk that has been removed from the pool, but the ZFS label was not erased. That's a typical scenario - disk goes offline, it is replaced with a spare, no data changes written to the gone disk. Then, disk appears back at boot time and it is the first one to be probed by the loader. It has the same pool GUID as all other members and naive loader would not see a conflict. Then the disk will be used as source of truth to read the bootenv. To fix that, provide vdev_free() that allows to rollback the already prebuilt vdev tree, so that a new one can be built from scratch. Upon encountering a newer configuration for already known top level part of a pool, call vdev_free() and let vdev_probe() to build a new one. The change has been tested with loader_lua and userboot.so, but it should have same effect on the legacy boot1 loader. Reviewed by: tsoome, mav, imp Differential Revision: https://reviews.freebsd.org/D51219
Diffstat (limited to 'sbin/dhclient/(public-mirror)')
0 files changed, 0 insertions, 0 deletions