diff options
author | Joel Sing <jsing@cvs.openbsd.org> | 2011-11-11 12:28:38 +0000 |
---|---|---|
committer | Joel Sing <jsing@cvs.openbsd.org> | 2011-11-11 12:28:38 +0000 |
commit | de02d48056772427ee26140d54d49415d3d38925 (patch) | |
tree | 8668f25801ef72028aeeaedb079b2cd09712175c /sys/dev/softraid.c | |
parent | 4f7b859b9b3145d39035ec279d51b342c904e88b (diff) |
When setting up a bootable softraid volume, do not try to save the boot
blocks or boot loader to chunks that are not online.
ok mikeb@
Diffstat (limited to 'sys/dev/softraid.c')
-rw-r--r-- | sys/dev/softraid.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/dev/softraid.c b/sys/dev/softraid.c index c2791904662..72d3f9f53dd 100644 --- a/sys/dev/softraid.c +++ b/sys/dev/softraid.c @@ -1,4 +1,4 @@ -/* $OpenBSD: softraid.c,v 1.252 2011/11/08 18:02:37 krw Exp $ */ +/* $OpenBSD: softraid.c,v 1.253 2011/11/11 12:28:37 jsing Exp $ */ /* * Copyright (c) 2007, 2008, 2009 Marco Peereboom <marco@peereboom.us> * Copyright (c) 2008 Chris Kuethe <ckuethe@openbsd.org> @@ -3444,6 +3444,10 @@ sr_ioctl_installboot(struct sr_softc *sc, struct bioc_installboot *bb) for (i = 0; i < sd->sd_meta->ssdi.ssd_chunk_no; i++) { chunk = sd->sd_vol.sv_chunks[i]; + if (chunk->src_meta.scm_status != BIOC_SDONLINE && + chunk->src_meta.scm_status != BIOC_SDREBUILD) + continue; + if (i < SR_MAX_BOOT_DISKS) bcopy(chunk->src_duid, &sbm->sbm_boot_duid[i], sizeof(sbm->sbm_boot_duid[i])); |