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; }
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; }