Lines Matching refs:vol
100 g_raid_tr_update_state_concat(struct g_raid_volume *vol)
108 sc = vol->v_softc;
109 trs = (struct g_raid_tr_concat_object *)vol->v_tr;
115 n = g_raid_nsubdisks(vol, G_RAID_SUBDISK_S_ACTIVE);
116 f = g_raid_nsubdisks(vol, G_RAID_SUBDISK_S_FAILED);
117 if (n + f == vol->v_disks_count) {
125 if (s != vol->v_state) {
130 if (vol->v_raid_level == G_RAID_VOLUME_RL_CONCAT &&
132 !G_RAID_VOLUME_S_ALIVE(vol->v_state)) {
134 for (i = 0; i < vol->v_disks_count; i++) {
135 if (vol->v_subdisks[i].sd_state !=
137 size += vol->v_subdisks[i].sd_size;
139 vol->v_mediasize = size;
142 g_raid_event_send(vol, G_RAID_VOLUME_S_ALIVE(s) ?
145 g_raid_change_volume_state(vol, s);
147 g_raid_write_metadata(sc, vol, NULL, NULL);
158 struct g_raid_volume *vol;
162 vol = tr->tro_volume;
163 sc = vol->v_softc;
171 vol->v_name, sd->sd_pos,
177 g_raid_write_metadata(sc, vol, sd, NULL);
178 g_raid_tr_update_state_concat(vol);
186 struct g_raid_volume *vol;
189 vol = tr->tro_volume;
191 g_raid_tr_update_state_concat(vol);
199 struct g_raid_volume *vol;
202 vol = tr->tro_volume;
205 g_raid_tr_update_state_concat(vol);
212 struct g_raid_volume *vol;
220 vol = tr->tro_volume;
221 if (vol->v_state != G_RAID_VOLUME_S_OPTIMAL &&
222 vol->v_state != G_RAID_VOLUME_S_SUBOPTIMAL) {
238 while (no < vol->v_disks_count &&
239 offset >= vol->v_subdisks[no].sd_size) {
240 offset -= vol->v_subdisks[no].sd_size;
243 KASSERT(no < vol->v_disks_count,
247 sd = &vol->v_subdisks[no];
270 KASSERT(no < vol->v_disks_count || remain == 0,
292 struct g_raid_volume *vol;
298 vol = tr->tro_volume;
299 if (vol->v_state != G_RAID_VOLUME_S_OPTIMAL)
306 while (no < vol->v_disks_count &&
307 offset >= vol->v_subdisks[no].sd_size) {
308 offset -= vol->v_subdisks[no].sd_size;
311 KASSERT(no < vol->v_disks_count,
314 sd = &vol->v_subdisks[no];
316 error = g_raid_subdisk_kerneldump(&vol->v_subdisks[no],
324 KASSERT(no < vol->v_disks_count || remain == 0,