• Home
  • Raw
  • Download

Lines Matching refs:mcb

2047 static void multiwrite_user_cb(MultiwriteCB *mcb)  in multiwrite_user_cb()  argument
2051 for (i = 0; i < mcb->num_callbacks; i++) { in multiwrite_user_cb()
2052 mcb->callbacks[i].cb(mcb->callbacks[i].opaque, mcb->error); in multiwrite_user_cb()
2053 if (mcb->callbacks[i].free_qiov) { in multiwrite_user_cb()
2054 qemu_iovec_destroy(mcb->callbacks[i].free_qiov); in multiwrite_user_cb()
2056 qemu_free(mcb->callbacks[i].free_qiov); in multiwrite_user_cb()
2057 qemu_vfree(mcb->callbacks[i].free_buf); in multiwrite_user_cb()
2063 MultiwriteCB *mcb = opaque; in multiwrite_cb() local
2065 if (ret < 0 && !mcb->error) { in multiwrite_cb()
2066 mcb->error = ret; in multiwrite_cb()
2069 mcb->num_requests--; in multiwrite_cb()
2070 if (mcb->num_requests == 0) { in multiwrite_cb()
2071 multiwrite_user_cb(mcb); in multiwrite_cb()
2072 qemu_free(mcb); in multiwrite_cb()
2098 int num_reqs, MultiwriteCB *mcb) in multiwrite_merge() argument
2147 mcb->callbacks[i].free_buf = buf; in multiwrite_merge()
2156 mcb->callbacks[i].free_qiov = reqs[outidx].qiov; in multiwrite_merge()
2185 MultiwriteCB *mcb; in bdrv_aio_multiwrite() local
2193 mcb = qemu_mallocz(sizeof(*mcb) + num_reqs * sizeof(*mcb->callbacks)); in bdrv_aio_multiwrite()
2194 mcb->num_requests = 0; in bdrv_aio_multiwrite()
2195 mcb->num_callbacks = num_reqs; in bdrv_aio_multiwrite()
2198 mcb->callbacks[i].cb = reqs[i].cb; in bdrv_aio_multiwrite()
2199 mcb->callbacks[i].opaque = reqs[i].opaque; in bdrv_aio_multiwrite()
2203 num_reqs = multiwrite_merge(bs, reqs, num_reqs, mcb); in bdrv_aio_multiwrite()
2224 mcb->num_requests = 1; in bdrv_aio_multiwrite()
2227 mcb->num_requests++; in bdrv_aio_multiwrite()
2229 reqs[i].nb_sectors, multiwrite_cb, mcb); in bdrv_aio_multiwrite()
2238 multiwrite_cb(mcb, -EIO); in bdrv_aio_multiwrite()
2245 multiwrite_cb(mcb, 0); in bdrv_aio_multiwrite()
2250 for (i = 0; i < mcb->num_callbacks; i++) { in bdrv_aio_multiwrite()
2253 qemu_free(mcb); in bdrv_aio_multiwrite()