Lines Matching refs:pv

540 	struct g_raid_md_promise_pervolume *pv;  in g_raid_md_promise_get_volume()  local
543 pv = vol->v_md_data; in g_raid_md_promise_get_volume()
544 if (pv->pv_id == id) in g_raid_md_promise_get_volume()
554 struct g_raid_md_promise_pervolume *pv; in g_raid_md_promise_purge_volumes() local
559 pv = vol->v_md_data; in g_raid_md_promise_purge_volumes()
560 if (!pv->pv_started || vol->v_stopping) in g_raid_md_promise_purge_volumes()
670 struct g_raid_md_promise_pervolume *pv; in g_raid_md_promise_start_disk() local
678 pv = vol->v_md_data; in g_raid_md_promise_start_disk()
679 meta = pv->pv_meta; in g_raid_md_promise_start_disk()
708 if (!pv->pv_started) in g_raid_md_promise_start_disk()
836 struct g_raid_md_promise_pervolume *pv; in g_raid_md_promise_refill() local
843 pv = vol->v_md_data; in g_raid_md_promise_refill()
844 if (!pv->pv_started || vol->v_stopping) in g_raid_md_promise_refill()
900 struct g_raid_md_promise_pervolume *pv; in g_raid_md_promise_start() local
906 pv = vol->v_md_data; in g_raid_md_promise_start()
907 meta = pv->pv_meta; in g_raid_md_promise_start()
953 pv->pv_started = 1; in g_raid_md_promise_start()
954 callout_stop(&pv->pv_start_co); in g_raid_md_promise_start()
969 struct g_raid_md_promise_pervolume *pv; in g_raid_promise_go() local
972 pv = vol->v_md_data; in g_raid_promise_go()
974 if (!pv->pv_started) { in g_raid_promise_go()
988 struct g_raid_md_promise_pervolume *pv; in g_raid_md_promise_new_disk() local
1011 pv = malloc(sizeof(*pv), M_MD_PROMISE, M_WAITOK | M_ZERO); in g_raid_md_promise_new_disk()
1012 pv->pv_id = pdmeta->volume_id; in g_raid_md_promise_new_disk()
1013 vol->v_md_data = pv; in g_raid_md_promise_new_disk()
1014 callout_init(&pv->pv_start_co, 1); in g_raid_md_promise_new_disk()
1015 callout_reset(&pv->pv_start_co, in g_raid_md_promise_new_disk()
1019 pv = vol->v_md_data; in g_raid_md_promise_new_disk()
1022 if (pv->pv_meta == NULL || !pv->pv_started) { in g_raid_md_promise_new_disk()
1023 if (pv->pv_meta == NULL || in g_raid_md_promise_new_disk()
1024 ((int16_t)(pdmeta->generation - pv->pv_generation)) > 0) { in g_raid_md_promise_new_disk()
1026 if (pv->pv_meta != NULL) in g_raid_md_promise_new_disk()
1027 free(pv->pv_meta, M_MD_PROMISE); in g_raid_md_promise_new_disk()
1028 pv->pv_meta = promise_meta_copy(pdmeta); in g_raid_md_promise_new_disk()
1029 pv->pv_generation = pv->pv_meta->generation; in g_raid_md_promise_new_disk()
1030 pv->pv_disks_present = 1; in g_raid_md_promise_new_disk()
1031 } else if (pdmeta->generation == pv->pv_generation) { in g_raid_md_promise_new_disk()
1032 pv->pv_disks_present++; in g_raid_md_promise_new_disk()
1034 pv->pv_disks_present, in g_raid_md_promise_new_disk()
1035 pv->pv_meta->total_disks); in g_raid_md_promise_new_disk()
1049 pv = vol->v_md_data; in g_raid_md_promise_new_disk()
1051 if (pv->pv_started) { in g_raid_md_promise_new_disk()
1056 if (pv->pv_disks_present == pv->pv_meta->total_disks) in g_raid_md_promise_new_disk()
1244 struct g_raid_md_promise_pervolume *pv; in g_raid_md_volume_event_promise() local
1246 pv = (struct g_raid_md_promise_pervolume *)vol->v_md_data; in g_raid_md_volume_event_promise()
1249 if (!pv->pv_started) in g_raid_md_volume_event_promise()
1265 struct g_raid_md_promise_pervolume *pv; in g_raid_md_ctl_promise() local
1446 pv = malloc(sizeof(*pv), M_MD_PROMISE, M_WAITOK | M_ZERO); in g_raid_md_ctl_promise()
1447 arc4rand(&pv->pv_id, sizeof(pv->pv_id), 0); in g_raid_md_ctl_promise()
1448 pv->pv_generation = 0; in g_raid_md_ctl_promise()
1449 pv->pv_started = 1; in g_raid_md_ctl_promise()
1451 vol->v_md_data = pv; in g_raid_md_ctl_promise()
1701 struct g_raid_md_promise_pervolume *pv; in g_raid_md_write_promise() local
1730 pv = (struct g_raid_md_promise_pervolume *)vol->v_md_data; in g_raid_md_write_promise()
1731 pv->pv_generation++; in g_raid_md_write_promise()
1734 if (pv->pv_meta != NULL) in g_raid_md_write_promise()
1735 memcpy(meta, pv->pv_meta, sizeof(*meta)); in g_raid_md_write_promise()
1741 meta->generation = pv->pv_generation; in g_raid_md_write_promise()
1776 meta->volume_id = pv->pv_id; in g_raid_md_write_promise()
1810 if (pv->pv_meta != NULL) { in g_raid_md_write_promise()
1811 meta->disks[pos].id = pv->pv_meta->disks[pos].id; in g_raid_md_write_promise()
1841 if (pv->pv_meta != NULL) in g_raid_md_write_promise()
1842 free(pv->pv_meta, M_MD_PROMISE); in g_raid_md_write_promise()
1843 pv->pv_meta = meta; in g_raid_md_write_promise()
1981 struct g_raid_md_promise_pervolume *pv; in g_raid_md_free_volume_promise() local
1983 pv = (struct g_raid_md_promise_pervolume *)vol->v_md_data; in g_raid_md_free_volume_promise()
1984 if (pv && pv->pv_meta != NULL) { in g_raid_md_free_volume_promise()
1985 free(pv->pv_meta, M_MD_PROMISE); in g_raid_md_free_volume_promise()
1986 pv->pv_meta = NULL; in g_raid_md_free_volume_promise()
1988 if (pv && !pv->pv_started) { in g_raid_md_free_volume_promise()
1989 pv->pv_started = 1; in g_raid_md_free_volume_promise()
1990 callout_stop(&pv->pv_start_co); in g_raid_md_free_volume_promise()
1992 free(pv, M_MD_PROMISE); in g_raid_md_free_volume_promise()