Lines Matching +defs:bc +defs:c
1 /* $OpenBSD: softraid.c,v 1.433 2025/01/08 23:40:40 lucas Exp $ */
3 * Copyright (c) 2007, 2008, 2009 Marco Peereboom <marco@peereboom.us>
4 * Copyright (c) 2008 Chris Kuethe <ckuethe@openbsd.org>
5 * Copyright (c) 2009 Joel Sing <jsing@openbsd.org>
396 snprintf(buf, size, "%s%d%c", name, unit, part + 'a');
1019 struct sr_boot_chunk *bc;
1122 bc = malloc(sizeof(struct sr_boot_chunk),
1124 bc->sbc_metadata = malloc(sizeof(struct sr_metadata),
1126 memcpy(bc->sbc_metadata, md, sizeof(struct sr_metadata));
1127 bc->sbc_mm = rawdev;
1128 SLIST_INSERT_HEAD(bch, bc, sbc_link);
1150 struct sr_boot_chunk *bc, *bcnext, *bc1, *bc2;
1214 for (bc = SLIST_FIRST(&bch); bc != NULL; bc = bcnext) {
1216 bcnext = SLIST_NEXT(bc, sbc_link);
1217 SLIST_REMOVE(&bch, bc, sr_boot_chunk, sbc_link);
1218 bc->sbc_chunk_id = bc->sbc_metadata->ssdi.ssd_chunk_id;
1221 if (bc->sbc_metadata->ssdi.ssd_level == SR_KEYDISK_LEVEL) {
1222 SLIST_INSERT_HEAD(&kdh, bc, sbc_link);
1227 if (bcmp(&bc->sbc_metadata->ssdi.ssd_uuid,
1229 sizeof(bc->sbc_metadata->ssdi.ssd_uuid)) == 0)
1242 bv->sbv_level = bc->sbc_metadata->ssdi.ssd_level;
1243 bv->sbv_volid = bc->sbc_metadata->ssdi.ssd_volid;
1244 bv->sbv_chunk_no = bc->sbc_metadata->ssdi.ssd_chunk_no;
1245 bv->sbv_flags = bc->sbc_metadata->ssdi.ssd_vol_flags;
1246 memcpy(&bv->sbv_uuid, &bc->sbc_metadata->ssdi.ssd_uuid,
1247 sizeof(bc->sbc_metadata->ssdi.ssd_uuid));
1272 if (bc1->sbc_chunk_id > bc->sbc_chunk_id)
1279 bc->sbc_chunk_id);
1280 SLIST_INSERT_HEAD(&bv->sbv_chunks, bc, sbc_link);
1284 bc->sbc_chunk_id, bc2->sbc_chunk_id);
1285 SLIST_INSERT_AFTER(bc2, bc, sbc_link);
1333 bc = SLIST_FIRST(&bv->sbv_chunks);
1334 sr_meta_getdevname(sc, bc->sbc_mm, devname, sizeof(devname));
1335 hotspare->src_dev_mm = bc->sbc_mm;
1338 hotspare->src_size = bc->sbc_metadata->ssdi.ssd_size;
1343 hm->scmi.scm_size = bc->sbc_metadata->ssdi.ssd_size;
1344 hm->scmi.scm_coerced_size = bc->sbc_metadata->ssdi.ssd_size;
1347 memcpy(&hm->scmi.scm_uuid, &bc->sbc_metadata->ssdi.ssd_uuid,
1405 SLIST_FOREACH(bc, &kdh, sbc_link) {
1406 if (bcmp(&bc->sbc_metadata->ssdi.ssd_uuid,
1408 sizeof(bc->sbc_metadata->ssdi.ssd_uuid))
1410 bcr.bc_key_disk = bc->sbc_mm;
1419 SLIST_FOREACH(bc, &bv->sbv_chunks, sbc_link) {
1420 if (devs[bc->sbc_chunk_id] != NODEV) {
1422 sr_meta_getdevname(sc, bc->sbc_mm, devname,
1426 bc->sbc_chunk_id, bv->sbv_volid, devname);
1429 if (devs[bc->sbc_chunk_id] == NODEV ||
1430 bc->sbc_metadata->ssd_ondisk >
1431 ondisk[bc->sbc_chunk_id]) {
1432 devs[bc->sbc_chunk_id] = bc->sbc_mm;
1433 ondisk[bc->sbc_chunk_id] =
1434 bc->sbc_metadata->ssd_ondisk;
1437 DEVNAME(sc), ondisk[bc->sbc_chunk_id],
1438 bc->sbc_chunk_id);
2701 int vol = -1, found, c;
2725 found = c = 0;
2732 c++;
2740 sd->sd_set_chunk_state(sd, c, BIOC_SDOFFLINE);
2808 int c, part, open = 0;
2817 c = sr_chunk_in_use(sc, dev);
2818 if (c != BIOC_SDINVALID && c != BIOC_SDOFFLINE) {
2819 if (c == BIOC_SDHOTSPARE)
3293 sr_ioctl_createraid(struct sr_softc *sc, struct bioc_createraid *bc,
3311 if (bc->bc_dev_list_len > BIOC_CRMAXLEN)
3314 dt = malloc(bc->bc_dev_list_len, M_DEVBUF, M_WAITOK | M_ZERO);
3316 if (copyin(bc->bc_dev_list, dt, bc->bc_dev_list_len) != 0)
3319 memcpy(dt, bc->bc_dev_list, bc->bc_dev_list_len);
3330 if (sr_discipline_init(sd, bc->bc_level)) {
3335 no_chunk = bc->bc_dev_list_len / sizeof(dev_t);
3354 if (sr_meta_attach(sd, no_chunk, bc->bc_flags & BIOC_SCFORCE))
3358 if (bc->bc_flags & BIOC_SCFORCE) {
3387 sr_meta_init(sd, bc->bc_level, no_chunk);
3389 sd->sd_meta_flags = bc->bc_flags & BIOC_SCNOAUTOASSEMBLE;
3391 if ((i = sd->sd_create(sd, bc, no_chunk,
3414 if (bc->bc_level == 0x1C &&
3425 if (sd->sd_meta->ssdi.ssd_level != bc->bc_level) {
3458 if ((i = sd->sd_assemble(sd, bc, no_chunk, data))) {
3478 (bc->bc_flags & BIOC_SCNOAUTOASSEMBLE) !=
3482 bc->bc_flags & BIOC_SCNOAUTOASSEMBLE;
3587 free(dt, M_DEVBUF, bc->bc_dev_list_len);
3592 free(dt, M_DEVBUF, bc->bc_dev_list_len);
3988 case 'c':
4312 sr_set_chunk_state(struct sr_discipline *sd, int c, int new_state)
4318 sd->sd_vol.sv_chunks[c]->src_meta.scmi.scm_devname, c, new_state);
4322 old_state = sd->sd_vol.sv_chunks[c]->src_meta.scm_status;
4345 sd->sd_vol.sv_chunks[c]->src_meta.scmi.scm_devname,
4350 sd->sd_vol.sv_chunks[c]->src_meta.scm_status = new_state;
4672 int c, s, slept, percent = 0, old_percent = -1;
4804 for (c = 0; c < sd->sd_meta->ssdi.ssd_chunk_no; c++) {
4805 if (sd->sd_vol.sv_chunks[c]->src_meta.scm_status ==
4807 sd->sd_set_chunk_state(sd, c, BIOC_SDONLINE);
5015 int i, j, c;
5022 c = b[i + j];
5023 if (c < ' ' || c > 'z' || i + j > len)
5024 c = '.';
5025 printf("%c", c);