Allow setting bootfs property on pools with indirect vdevs
The FreeBSD boot loader relies on the bootfs property and is capable of booting from removed (indirect) vdevs. Reviewed-by Eric van Gyzen Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Martin Matuska <mm@FreeBSD.org> Closes #11763
This commit is contained in:
parent
bc5afff351
commit
16e8e24f9c
|
@ -4824,11 +4824,9 @@ vdev_is_bootable(vdev_t *vd)
|
||||||
if (!vd->vdev_ops->vdev_op_leaf) {
|
if (!vd->vdev_ops->vdev_op_leaf) {
|
||||||
const char *vdev_type = vd->vdev_ops->vdev_op_type;
|
const char *vdev_type = vd->vdev_ops->vdev_op_type;
|
||||||
|
|
||||||
if (strcmp(vdev_type, VDEV_TYPE_MISSING) == 0 ||
|
if (strcmp(vdev_type, VDEV_TYPE_MISSING) == 0)
|
||||||
strcmp(vdev_type, VDEV_TYPE_INDIRECT) == 0) {
|
|
||||||
return (B_FALSE);
|
return (B_FALSE);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
for (int c = 0; c < vd->vdev_children; c++) {
|
for (int c = 0; c < vd->vdev_children; c++) {
|
||||||
if (!vdev_is_bootable(vd->vdev_child[c]))
|
if (!vdev_is_bootable(vd->vdev_child[c]))
|
||||||
|
|
Loading…
Reference in New Issue