Changeset View
Changeset View
Standalone View
Standalone View
sys/geom/raid/tr_raid1.c
Show First 20 Lines • Show All 255 Lines • ▼ Show 20 Lines | g_raid_tr_raid1_rebuild_some(struct g_raid_tr_object *tr) | ||||
} | } | ||||
bp = &trs->trso_bio; | bp = &trs->trso_bio; | ||||
memset(bp, 0, sizeof(*bp)); | memset(bp, 0, sizeof(*bp)); | ||||
bp->bio_offset = sd->sd_rebuild_pos; | bp->bio_offset = sd->sd_rebuild_pos; | ||||
bp->bio_length = MIN(g_raid1_rebuild_slab, | bp->bio_length = MIN(g_raid1_rebuild_slab, | ||||
sd->sd_size - sd->sd_rebuild_pos); | sd->sd_size - sd->sd_rebuild_pos); | ||||
bp->bio_data = trs->trso_buffer; | bp->bio_data = trs->trso_buffer; | ||||
bp->bio_cmd = BIO_READ; | bp->bio_cmd = BIO_READ; | ||||
bp->bio_flags = BIO_LOWPRIO; | |||||
bp->bio_cflags = G_RAID_BIO_FLAG_SYNC; | bp->bio_cflags = G_RAID_BIO_FLAG_SYNC; | ||||
bp->bio_caller1 = good_sd; | bp->bio_caller1 = good_sd; | ||||
trs->trso_flags |= TR_RAID1_F_DOING_SOME; | trs->trso_flags |= TR_RAID1_F_DOING_SOME; | ||||
trs->trso_flags |= TR_RAID1_F_LOCKED; | trs->trso_flags |= TR_RAID1_F_LOCKED; | ||||
g_raid_lock_range(sd->sd_volume, /* Lock callback starts I/O */ | g_raid_lock_range(sd->sd_volume, /* Lock callback starts I/O */ | ||||
bp->bio_offset, bp->bio_length, NULL, bp); | bp->bio_offset, bp->bio_length, NULL, bp); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 715 Lines • Show Last 20 Lines |