Lines Matching refs:sd

139     struct g_raid_subdisk *sd);
157 struct g_raid_subdisk *sd)
214 g_raid_tr_raid1_maybe_rebuild(vol->v_tr, sd);
228 g_raid_tr_raid1_fail_disk(struct g_raid_softc *sc, struct g_raid_subdisk *sd,
240 if (g_raid_nsubdisks(sd->sd_volume, G_RAID_SUBDISK_S_ACTIVE) == 1 &&
241 g_raid_get_subdisk(sd->sd_volume, G_RAID_SUBDISK_S_ACTIVE) == sd)
243 g_raid_fail_disk(sc, sd, disk);
250 struct g_raid_subdisk *sd, *good_sd;
256 sd = trs->trso_failed_sd;
257 good_sd = g_raid_get_subdisk(sd->sd_volume, G_RAID_SUBDISK_S_ACTIVE);
264 bp->bio_offset = sd->sd_rebuild_pos;
266 sd->sd_size - sd->sd_rebuild_pos);
273 g_raid_lock_range(sd->sd_volume, /* Lock callback starts I/O */
281 struct g_raid_subdisk *sd;
284 sd = trs->trso_failed_sd;
285 g_raid_write_metadata(vol->v_softc, vol, sd, sd->sd_disk);
299 struct g_raid_subdisk *sd;
302 sd = trs->trso_failed_sd;
305 sd->sd_volume->v_name, sd->sd_pos,
306 sd->sd_disk ? g_raid_get_diskname(sd->sd_disk) : "[none]");
307 g_raid_change_subdisk_state(sd, G_RAID_SUBDISK_S_ACTIVE);
308 sd->sd_rebuild_pos = 0;
316 struct g_raid_subdisk *sd;
322 sd = trs->trso_failed_sd;
326 sd->sd_volume->v_name, sd->sd_pos,
327 sd->sd_disk ? g_raid_get_diskname(sd->sd_disk) : "[none]");
332 sd->sd_volume->v_name, sd->sd_pos,
333 sd->sd_disk ? g_raid_get_diskname(sd->sd_disk) : "[none]");
338 sd->sd_size - sd->sd_rebuild_pos);
340 sd->sd_rebuild_pos, len);
351 struct g_raid_subdisk *sd, *fsd;
361 sd = g_raid_get_subdisk(vol, G_RAID_SUBDISK_S_ACTIVE);
362 if (sd == NULL) {
412 struct g_raid_subdisk *sd)
445 if (na == 0 || nr == 0 || trs->trso_failed_sd == sd)
455 struct g_raid_subdisk *sd, u_int event)
458 g_raid_tr_update_state_raid1(tr->tro_volume, sd);
498 struct g_raid_subdisk *sd, *best;
504 sd = &vol->v_subdisks[i];
505 if (sd->sd_state != G_RAID_SUBDISK_S_ACTIVE &&
506 ((sd->sd_state != G_RAID_SUBDISK_S_REBUILD &&
507 sd->sd_state != G_RAID_SUBDISK_S_RESYNC) ||
508 bp->bio_offset + bp->bio_length > sd->sd_rebuild_pos))
512 prio = G_RAID_SUBDISK_LOAD(sd);
513 prio += min(sd->sd_recovery, 255) << 22;
514 prio += (G_RAID_SUBDISK_S_ACTIVE - sd->sd_state) << 16;
516 if (G_RAID_SUBDISK_POS(sd) == bp->bio_offset)
520 if (ABS(G_RAID_SUBDISK_POS(sd) - bp->bio_offset) <
524 best = sd;
534 struct g_raid_subdisk *sd;
537 sd = g_raid_tr_raid1_select_read_disk(tr->tro_volume, bp, 0);
538 KASSERT(sd != NULL, ("No active disks in volume %s.",
547 g_raid_subdisk_iostart(sd, cbp);
554 struct g_raid_subdisk *sd;
567 sd = &vol->v_subdisks[i];
568 switch (sd->sd_state) {
577 if (bp->bio_offset >= sd->sd_rebuild_pos)
595 cbp->bio_caller1 = sd;
599 sd = cbp->bio_caller1;
601 g_raid_subdisk_iostart(sd, cbp);
661 struct g_raid_subdisk *sd, struct bio *bp)
732 g_raid_tr_raid1_fail_disk(sd->sd_softc,
742 g_raid_unlock_range(sd->sd_volume,
770 * read good sd, read bad sd in parallel. when both
786 sd->sd_disk->d_read_errs++;
789 bp->bio_error, sd->sd_disk->d_read_errs);
798 if (sd->sd_disk->d_read_errs > g_raid_read_err_thresh) {
799 g_raid_tr_raid1_fail_disk(sd->sd_softc, sd, sd->sd_disk);
810 pbp->bio_driver1 = do_write ? sd : NULL;
813 *mask |= 1 << sd->sd_pos;
820 sd->sd_recovery++;
824 g_raid_lock_range(sd->sd_volume,
879 g_raid_tr_raid1_fail_disk(sd->sd_softc, sd, sd->sd_disk);
887 g_raid_unlock_range(sd->sd_volume, bp->bio_offset,
895 g_raid_tr_raid1_fail_disk(sd->sd_softc, sd, sd->sd_disk);
912 struct g_raid_subdisk *sd;
919 sd = &vol->v_subdisks[i];
920 switch (sd->sd_state) {
929 if (offset >= sd->sd_rebuild_pos)
944 error = g_raid_subdisk_kerneldump(sd,
956 struct g_raid_subdisk *sd;
959 sd = (struct g_raid_subdisk *)bp->bio_caller1;
960 g_raid_subdisk_iostart(sd, bp);