Lines Matching refs:sd

138     struct g_raid_subdisk *sd);
195 struct g_raid_subdisk *sd, *bestsd, *worstsd; in g_raid_tr_update_state_raid1e_even() local
203 sd = &vol->v_subdisks[i * N + j]; in g_raid_tr_update_state_raid1e_even()
204 if (sd->sd_state > bestsd->sd_state) in g_raid_tr_update_state_raid1e_even()
205 bestsd = sd; in g_raid_tr_update_state_raid1e_even()
206 else if (sd->sd_state == bestsd->sd_state && in g_raid_tr_update_state_raid1e_even()
207 (sd->sd_state == G_RAID_SUBDISK_S_REBUILD || in g_raid_tr_update_state_raid1e_even()
208 sd->sd_state == G_RAID_SUBDISK_S_RESYNC) && in g_raid_tr_update_state_raid1e_even()
209 sd->sd_rebuild_pos > bestsd->sd_rebuild_pos) in g_raid_tr_update_state_raid1e_even()
210 bestsd = sd; in g_raid_tr_update_state_raid1e_even()
226 sd = &vol->v_subdisks[i * N + j]; in g_raid_tr_update_state_raid1e_even()
227 if (sd->sd_state < worstsd->sd_state) in g_raid_tr_update_state_raid1e_even()
228 worstsd = sd; in g_raid_tr_update_state_raid1e_even()
248 struct g_raid_subdisk *sd, *bestsd, *worstsd; in g_raid_tr_update_state_raid1e_odd() local
256 sd = &vol->v_subdisks[i]; in g_raid_tr_update_state_raid1e_odd()
257 if (sd->sd_state == G_RAID_SUBDISK_S_UNINITIALIZED) { in g_raid_tr_update_state_raid1e_odd()
261 vol->v_name, sd->sd_pos, in g_raid_tr_update_state_raid1e_odd()
262 g_raid_subdisk_state2str(sd->sd_state)); in g_raid_tr_update_state_raid1e_odd()
263 g_raid_change_subdisk_state(sd, in g_raid_tr_update_state_raid1e_odd()
265 g_raid_write_metadata(sc, vol, sd, sd->sd_disk); in g_raid_tr_update_state_raid1e_odd()
273 sd = &vol->v_subdisks[(i + j) % vol->v_disks_count]; in g_raid_tr_update_state_raid1e_odd()
274 if (sd->sd_state > bestsd->sd_state) in g_raid_tr_update_state_raid1e_odd()
275 bestsd = sd; in g_raid_tr_update_state_raid1e_odd()
276 else if (sd->sd_state == bestsd->sd_state && in g_raid_tr_update_state_raid1e_odd()
277 (sd->sd_state == G_RAID_SUBDISK_S_REBUILD || in g_raid_tr_update_state_raid1e_odd()
278 sd->sd_state == G_RAID_SUBDISK_S_RESYNC) && in g_raid_tr_update_state_raid1e_odd()
279 sd->sd_rebuild_pos > bestsd->sd_rebuild_pos) in g_raid_tr_update_state_raid1e_odd()
280 bestsd = sd; in g_raid_tr_update_state_raid1e_odd()
281 if (sd->sd_state < worstsd->sd_state) in g_raid_tr_update_state_raid1e_odd()
282 worstsd = sd; in g_raid_tr_update_state_raid1e_odd()
300 struct g_raid_subdisk *sd) in g_raid_tr_update_state_raid1e() argument
328 g_raid_tr_raid1e_maybe_rebuild(vol->v_tr, sd); in g_raid_tr_update_state_raid1e()
333 g_raid_tr_raid1e_fail_disk(struct g_raid_softc *sc, struct g_raid_subdisk *sd, in g_raid_tr_raid1e_fail_disk() argument
338 vol = sd->sd_volume; in g_raid_tr_raid1e_fail_disk()
353 (sd->sd_state >= G_RAID_SUBDISK_S_UNINITIALIZED)) in g_raid_tr_raid1e_fail_disk()
355 g_raid_fail_disk(sc, sd, disk); in g_raid_tr_raid1e_fail_disk()
362 struct g_raid_subdisk *sd; in g_raid_tr_raid1e_rebuild_done() local
365 sd = trs->trso_failed_sd; in g_raid_tr_raid1e_rebuild_done()
366 g_raid_write_metadata(vol->v_softc, vol, sd, sd->sd_disk); in g_raid_tr_raid1e_rebuild_done()
380 struct g_raid_subdisk *sd; in g_raid_tr_raid1e_rebuild_finish() local
383 sd = trs->trso_failed_sd; in g_raid_tr_raid1e_rebuild_finish()
386 sd->sd_volume->v_name, sd->sd_pos, in g_raid_tr_raid1e_rebuild_finish()
387 sd->sd_disk ? g_raid_get_diskname(sd->sd_disk) : "[none]"); in g_raid_tr_raid1e_rebuild_finish()
388 g_raid_change_subdisk_state(sd, G_RAID_SUBDISK_S_ACTIVE); in g_raid_tr_raid1e_rebuild_finish()
389 sd->sd_rebuild_pos = 0; in g_raid_tr_raid1e_rebuild_finish()
397 struct g_raid_subdisk *sd; in g_raid_tr_raid1e_rebuild_abort() local
402 sd = trs->trso_failed_sd; in g_raid_tr_raid1e_rebuild_abort()
406 sd->sd_volume->v_name, sd->sd_pos, in g_raid_tr_raid1e_rebuild_abort()
407 sd->sd_disk ? g_raid_get_diskname(sd->sd_disk) : "[none]"); in g_raid_tr_raid1e_rebuild_abort()
412 sd->sd_volume->v_name, sd->sd_pos, in g_raid_tr_raid1e_rebuild_abort()
413 sd->sd_disk ? g_raid_get_diskname(sd->sd_disk) : "[none]"); in g_raid_tr_raid1e_rebuild_abort()
430 struct g_raid_subdisk *sd; in g_raid_tr_raid1e_rebuild_some() local
440 sd = trs->trso_failed_sd; in g_raid_tr_raid1e_rebuild_some()
443 if (sd->sd_rebuild_pos >= sd->sd_size) { in g_raid_tr_raid1e_rebuild_some()
448 P2V(vol, sd->sd_pos, sd->sd_rebuild_pos, &virtual, &copy); in g_raid_tr_raid1e_rebuild_some()
453 sd->sd_size - sd->sd_rebuild_pos); in g_raid_tr_raid1e_rebuild_some()
469 sd->sd_rebuild_pos, sd->sd_rebuild_pos + len); in g_raid_tr_raid1e_rebuild_some()
470 sd->sd_rebuild_pos += len; in g_raid_tr_raid1e_rebuild_some()
488 P2V(vol, sd->sd_pos, sd->sd_rebuild_pos + len, &vend, &copy); in g_raid_tr_raid1e_rebuild_some()
496 g_raid_lock_range(sd->sd_volume, virtual, len, NULL, bp); in g_raid_tr_raid1e_rebuild_some()
504 struct g_raid_subdisk *sd; in g_raid_tr_raid1e_rebuild_start() local
514 sd = g_raid_get_subdisk(vol, G_RAID_SUBDISK_S_RESYNC); in g_raid_tr_raid1e_rebuild_start()
515 if (sd == NULL) in g_raid_tr_raid1e_rebuild_start()
516 sd = g_raid_get_subdisk(vol, G_RAID_SUBDISK_S_REBUILD); in g_raid_tr_raid1e_rebuild_start()
517 if (sd == NULL) { in g_raid_tr_raid1e_rebuild_start()
518 sd = g_raid_get_subdisk(vol, G_RAID_SUBDISK_S_STALE); in g_raid_tr_raid1e_rebuild_start()
519 if (sd != NULL) { in g_raid_tr_raid1e_rebuild_start()
520 sd->sd_rebuild_pos = 0; in g_raid_tr_raid1e_rebuild_start()
521 g_raid_change_subdisk_state(sd, in g_raid_tr_raid1e_rebuild_start()
523 g_raid_write_metadata(vol->v_softc, vol, sd, NULL); in g_raid_tr_raid1e_rebuild_start()
525 sd = g_raid_get_subdisk(vol, in g_raid_tr_raid1e_rebuild_start()
527 if (sd == NULL) in g_raid_tr_raid1e_rebuild_start()
528 sd = g_raid_get_subdisk(vol, in g_raid_tr_raid1e_rebuild_start()
530 if (sd != NULL) { in g_raid_tr_raid1e_rebuild_start()
531 sd->sd_rebuild_pos = 0; in g_raid_tr_raid1e_rebuild_start()
532 g_raid_change_subdisk_state(sd, in g_raid_tr_raid1e_rebuild_start()
535 vol, sd, NULL); in g_raid_tr_raid1e_rebuild_start()
539 if (sd == NULL) { in g_raid_tr_raid1e_rebuild_start()
544 trs->trso_failed_sd = sd; in g_raid_tr_raid1e_rebuild_start()
547 sd->sd_volume->v_name, sd->sd_pos, in g_raid_tr_raid1e_rebuild_start()
548 sd->sd_disk ? g_raid_get_diskname(sd->sd_disk) : "[none]", in g_raid_tr_raid1e_rebuild_start()
558 struct g_raid_subdisk *sd) in g_raid_tr_raid1e_maybe_rebuild() argument
585 trs->trso_failed_sd == sd) in g_raid_tr_raid1e_maybe_rebuild()
595 struct g_raid_subdisk *sd, u_int event) in g_raid_tr_event_raid1e() argument
598 g_raid_tr_update_state_raid1e(tr->tro_volume, sd); in g_raid_tr_event_raid1e()
638 struct g_raid_subdisk *sd; in g_raid_tr_raid1e_select_read_disk() local
645 sd = &vol->v_subdisks[(no + i) % vol->v_disks_count]; in g_raid_tr_raid1e_select_read_disk()
650 prio = G_RAID_SUBDISK_LOAD(sd); in g_raid_tr_raid1e_select_read_disk()
651 if ((mask & (1 << sd->sd_pos)) != 0) in g_raid_tr_raid1e_select_read_disk()
653 switch (sd->sd_state) { in g_raid_tr_raid1e_select_read_disk()
657 if (offset + off < sd->sd_rebuild_pos) in g_raid_tr_raid1e_select_read_disk()
664 if (offset + off < sd->sd_rebuild_pos) in g_raid_tr_raid1e_select_read_disk()
670 prio += min(sd->sd_recovery, 255) << 16; in g_raid_tr_raid1e_select_read_disk()
672 if (G_RAID_SUBDISK_POS(sd) == offset) in g_raid_tr_raid1e_select_read_disk()
676 if (ABS(G_RAID_SUBDISK_POS(sd) - offset) < in g_raid_tr_raid1e_select_read_disk()
691 struct g_raid_subdisk *sd; in g_raid_tr_iostart_raid1e_read() local
744 sd = cbp->bio_caller1; in g_raid_tr_iostart_raid1e_read()
746 g_raid_subdisk_iostart(sd, cbp); in g_raid_tr_iostart_raid1e_read()
761 struct g_raid_subdisk *sd; in g_raid_tr_iostart_raid1e_write() local
781 sd = &vol->v_subdisks[no]; in g_raid_tr_iostart_raid1e_write()
782 switch (sd->sd_state) { in g_raid_tr_iostart_raid1e_write()
788 if (offset + start >= sd->sd_rebuild_pos) in g_raid_tr_iostart_raid1e_write()
808 cbp->bio_caller1 = sd; in g_raid_tr_iostart_raid1e_write()
822 sd = cbp->bio_caller1; in g_raid_tr_iostart_raid1e_write()
824 g_raid_subdisk_iostart(sd, cbp); in g_raid_tr_iostart_raid1e_write()
885 struct g_raid_subdisk *sd, struct bio *bp) in g_raid_tr_iodone_raid1e() argument
942 g_raid_tr_raid1e_fail_disk(sd->sd_softc, in g_raid_tr_iodone_raid1e()
1006 sd->sd_disk->d_read_errs++; in g_raid_tr_iodone_raid1e()
1009 bp->bio_error, sd->sd_disk->d_read_errs); in g_raid_tr_iodone_raid1e()
1018 if (sd->sd_disk->d_read_errs > g_raid_read_err_thresh) in g_raid_tr_iodone_raid1e()
1019 g_raid_tr_raid1e_fail_disk(sd->sd_softc, sd, sd->sd_disk); in g_raid_tr_iodone_raid1e()
1024 P2V(vol, sd->sd_pos, bp->bio_offset, &virtual, &copy); in g_raid_tr_iodone_raid1e()
1050 sd->sd_recovery++; in g_raid_tr_iodone_raid1e()
1055 g_raid_lock_range(sd->sd_volume, in g_raid_tr_iodone_raid1e()
1076 P2V(vol, sd->sd_pos, bp->bio_offset, &virtual, &copy); in g_raid_tr_iodone_raid1e()
1111 P2V(vol, sd->sd_pos, bp->bio_offset, &virtual, &copy); in g_raid_tr_iodone_raid1e()
1123 g_raid_tr_raid1e_fail_disk(sd->sd_softc, sd, sd->sd_disk); in g_raid_tr_iodone_raid1e()
1127 g_raid_unlock_range(sd->sd_volume, virtual, bp->bio_length); in g_raid_tr_iodone_raid1e()
1134 g_raid_tr_raid1e_fail_disk(sd->sd_softc, sd, sd->sd_disk); in g_raid_tr_iodone_raid1e()
1151 struct g_raid_subdisk *sd; in g_raid_tr_kerneldump_raid1e() local
1167 sd = &vol->v_subdisks[no]; in g_raid_tr_kerneldump_raid1e()
1168 switch (sd->sd_state) { in g_raid_tr_kerneldump_raid1e()
1174 if (offset + start >= sd->sd_rebuild_pos) in g_raid_tr_kerneldump_raid1e()
1180 error = g_raid_subdisk_kerneldump(sd, in g_raid_tr_kerneldump_raid1e()
1201 struct g_raid_subdisk *sd; in g_raid_tr_locked_raid1e() local
1204 sd = (struct g_raid_subdisk *)bp->bio_caller1; in g_raid_tr_locked_raid1e()
1205 g_raid_subdisk_iostart(sd, bp); in g_raid_tr_locked_raid1e()