Home | History | Annotate | Download | only in qemu

Lines Matching defs:mcb

2049 static void multiwrite_user_cb(MultiwriteCB *mcb)
2053 for (i = 0; i < mcb->num_callbacks; i++) {
2054 mcb->callbacks[i].cb(mcb->callbacks[i].opaque, mcb->error);
2055 if (mcb->callbacks[i].free_qiov) {
2056 qemu_iovec_destroy(mcb->callbacks[i].free_qiov);
2058 g_free(mcb->callbacks[i].free_qiov);
2059 qemu_vfree(mcb->callbacks[i].free_buf);
2065 MultiwriteCB *mcb = opaque;
2067 if (ret < 0 && !mcb->error) {
2068 mcb->error = ret;
2071 mcb->num_requests--;
2072 if (mcb->num_requests == 0) {
2073 multiwrite_user_cb(mcb);
2074 g_free(mcb);
2100 int num_reqs, MultiwriteCB *mcb)
2149 mcb->callbacks[i].free_buf = buf;
2158 mcb->callbacks[i].free_qiov = reqs[outidx].qiov;
2187 MultiwriteCB *mcb;
2195 mcb = g_malloc0(sizeof(*mcb) + num_reqs * sizeof(*mcb->callbacks));
2196 mcb->num_requests = 0;
2197 mcb->num_callbacks = num_reqs;
2200 mcb->callbacks[i].cb = reqs[i].cb;
2201 mcb->callbacks[i].opaque = reqs[i].opaque;
2205 num_reqs = multiwrite_merge(bs, reqs, num_reqs, mcb);
2226 mcb->num_requests = 1;
2229 mcb->num_requests++;
2231 reqs[i].nb_sectors, multiwrite_cb, mcb);
2240 multiwrite_cb(mcb, -EIO);
2247 multiwrite_cb(mcb, 0);
2252 for (i = 0; i < mcb->num_callbacks; i++) {
2255 g_free(mcb);