Esempio n. 1
0
td_vbd_t*
tapdisk_vbd_create(uint16_t uuid)
{
    td_vbd_t *vbd;

    vbd = calloc(1, sizeof(td_vbd_t));
    if (!vbd) {
        EPRINTF("failed to allocate tapdisk state\n");
        return NULL;
    }

    shm_init(&vbd->rrd.shm);

    vbd->uuid        = uuid;
    vbd->req_timeout = TD_VBD_REQUEST_TIMEOUT;

    INIT_LIST_HEAD(&vbd->images);
    INIT_LIST_HEAD(&vbd->new_requests);
    INIT_LIST_HEAD(&vbd->pending_requests);
    INIT_LIST_HEAD(&vbd->failed_requests);
    INIT_LIST_HEAD(&vbd->completed_requests);
    INIT_LIST_HEAD(&vbd->next);
    INIT_LIST_HEAD(&vbd->rings);
    INIT_LIST_HEAD(&vbd->dead_rings);
    tapdisk_vbd_mark_progress(vbd);

    return vbd;
}
Esempio n. 2
0
td_vbd_t*
tapdisk_vbd_create(uint16_t uuid)
{
	td_vbd_t *vbd;

	vbd = calloc(1, sizeof(td_vbd_t));
	if (!vbd) {
		EPRINTF("failed to allocate tapdisk state\n");
		return NULL;
	}

	vbd->uuid     = uuid;

	INIT_LIST_HEAD(&vbd->images);
	INIT_LIST_HEAD(&vbd->new_requests);
	INIT_LIST_HEAD(&vbd->pending_requests);
	INIT_LIST_HEAD(&vbd->failed_requests);
	INIT_LIST_HEAD(&vbd->completed_requests);
	INIT_LIST_HEAD(&vbd->next);
	tapdisk_vbd_mark_progress(vbd);

	return vbd;
}