Home
last modified time | relevance | path

Searched refs:qiov (Results 1 – 25 of 71) sorted by relevance

123

/qemu/util/
H A Diov.c278 qiov->niov = 0; in qemu_iovec_init()
280 qiov->size = 0; in qemu_iovec_init()
290 qiov->size = 0; in qemu_iovec_init_external()
299 if (qiov->niov == qiov->nalloc) { in qemu_iovec_add()
300 qiov->nalloc = 2 * qiov->nalloc + 1; in qemu_iovec_add()
301 qiov->iov = g_renew(struct iovec, qiov->iov, qiov->nalloc); in qemu_iovec_add()
303 qiov->iov[qiov->niov].iov_base = base; in qemu_iovec_add()
304 qiov->iov[qiov->niov].iov_len = len; in qemu_iovec_add()
306 ++qiov->niov; in qemu_iovec_add()
473 memset(qiov, 0, sizeof(*qiov)); in qemu_iovec_destroy()
[all …]
/qemu/include/qemu/
H A Diov.h209 static inline void qemu_iovec_init_buf(QEMUIOVector *qiov, in qemu_iovec_init_buf() argument
212 *qiov = (QEMUIOVector) QEMU_IOVEC_INIT_BUF(*qiov, buf, len); in qemu_iovec_init_buf()
215 static inline void *qemu_iovec_buf(QEMUIOVector *qiov) in qemu_iovec_buf() argument
218 assert(qiov->nalloc == -1 && qiov->iov == &qiov->local_iov); in qemu_iovec_buf()
220 return qiov->local_iov.iov_base; in qemu_iovec_buf()
223 void qemu_iovec_init(QEMUIOVector *qiov, int alloc_hint);
227 struct iovec *qemu_iovec_slice(QEMUIOVector *qiov,
238 void qemu_iovec_destroy(QEMUIOVector *qiov);
239 void qemu_iovec_reset(QEMUIOVector *qiov);
240 size_t qemu_iovec_to_buf(QEMUIOVector *qiov, size_t offset,
[all …]
/qemu/block/
H A Dwin32-aio.c53 QEMUIOVector *qiov; member
75 qemu_iovec_memset(waiocb->qiov, count, 0, in win32_aio_process_completion()
76 waiocb->qiov->size - count); in win32_aio_process_completion()
85 QEMUIOVector *qiov = waiocb->qiov; in win32_aio_process_completion() local
86 iov_from_buf(qiov->iov, qiov->niov, 0, waiocb->buf, qiov->size); in win32_aio_process_completion()
116 uint64_t offset, uint64_t bytes, QEMUIOVector *qiov, in win32_aio_submit() argument
124 waiocb->qiov = qiov; in win32_aio_submit()
127 if (qiov->niov > 1) { in win32_aio_submit()
128 waiocb->buf = qemu_try_blockalign(bs, qiov->size); in win32_aio_submit()
133 iov_to_buf(qiov->iov, qiov->niov, 0, waiocb->buf, qiov->size); in win32_aio_submit()
[all …]
H A Dio_uring.c33 QEMUIOVector *qiov; member
91 remaining = luringcb->qiov->size - luringcb->total_read; in luring_resubmit_short_read()
96 qemu_iovec_init(resubmit_qiov, luringcb->qiov->niov); in luring_resubmit_short_read()
187 } else if (!luringcb->qiov) { in luring_process_completions()
189 } else if (total_bytes == luringcb->qiov->size) { in luring_process_completions()
345 io_uring_prep_writev(sqes, fd, luringcb->qiov->iov, in luring_do_submit()
346 luringcb->qiov->niov, offset); in luring_do_submit()
353 io_uring_prep_readv(sqes, fd, luringcb->qiov->iov, in luring_do_submit()
354 luringcb->qiov->niov, offset); in luring_do_submit()
391 .qiov = qiov, in luring_co_submit()
[all …]
H A Dblklogwrites.c346 QEMUIOVector *qiov; member
353 QEMUIOVector *qiov; member
392 lr->qiov, 0); in blk_log_writes_co_do_log()
413 QEMUIOVector qiov; in blk_log_writes_co_do_log() local
442 qemu_iovec_init(&qiov, 2); in blk_log_writes_co_do_log()
458 qemu_iovec_destroy(&qiov); in blk_log_writes_co_do_log()
476 size_t niov = qiov ? qiov->niov : 0; in blk_log_writes_co_log()
483 .qiov = qiov, in blk_log_writes_co_log()
488 .qiov = &log_qiov, in blk_log_writes_co_log()
507 if (qiov) { in blk_log_writes_co_log()
[all …]
H A Dblkverify.c44 QEMUIOVector *qiov; /* user I/O vector */ member
174 r->ret = r->request_fn(s->test_file, r->offset, r->bytes, r->qiov, in blkverify_do_test_req()
207 .qiov = qiov, in blkverify_co_prwv()
233 QEMUIOVector *qiov, BdrvRequestFlags flags) in blkverify_co_preadv() argument
241 buf = qemu_blockalign(bs->file->bs, qiov->size); in blkverify_co_preadv()
242 qemu_iovec_init(&raw_qiov, qiov->niov); in blkverify_co_preadv()
243 qemu_iovec_clone(&raw_qiov, qiov, buf); in blkverify_co_preadv()
245 ret = blkverify_co_prwv(bs, &r, offset, bytes, qiov, &raw_qiov, in blkverify_co_preadv()
248 cmp_offset = qemu_iovec_compare(qiov, &raw_qiov); in blkverify_co_preadv()
262 QEMUIOVector *qiov, BdrvRequestFlags flags) in blkverify_co_pwritev() argument
[all …]
H A Dlinux-aio.c45 QEMUIOVector *qiov; member
91 qemu_iovec_memset(laiocb->qiov, ret, 0, in qemu_laio_process_completion()
92 laiocb->qiov->size - ret); in qemu_laio_process_completion()
375 QEMUIOVector *qiov = laiocb->qiov; in laio_do_submit() local
379 io_prep_pwritev(iocbs, fd, qiov->iov, qiov->niov, offset); in laio_do_submit()
382 io_prep_pwritev(iocbs, fd, qiov->iov, qiov->niov, offset); in laio_do_submit()
385 io_prep_preadv(iocbs, fd, qiov->iov, qiov->niov, offset); in laio_do_submit()
408 int coroutine_fn laio_co_submit(int fd, uint64_t offset, QEMUIOVector *qiov, in laio_co_submit() argument
415 .nbytes = qiov->size, in laio_co_submit()
419 .qiov = qiov, in laio_co_submit()
H A Dio.c848 if (!qiov) { in bdrv_check_qiov_request()
998 qiov = &local_qiov; in bdrv_driver_preadv()
1035 if (qiov == &local_qiov) { in bdrv_driver_preadv()
1077 qiov = &local_qiov; in bdrv_driver_pwritev()
1733 if (*qiov) { in bdrv_pad_request()
1836 QEMUIOVector qiov; in bdrv_co_do_pwrite_zeroes() local
2837 ret = bdrv_check_qiov_request(pos, qiov->size, qiov, 0, NULL); in bdrv_co_readv_vmstate()
2870 ret = bdrv_check_qiov_request(pos, qiov->size, qiov, 0, NULL); in bdrv_co_writev_vmstate()
2897 QEMUIOVector qiov = QEMU_IOVEC_INIT_BUF(qiov, buf, size); in bdrv_save_vmstate() local
2907 QEMUIOVector qiov = QEMU_IOVEC_INIT_BUF(qiov, buf, size); in bdrv_load_vmstate() local
[all …]
H A Dquorum.c106 QEMUIOVector qiov; member
126 QEMUIOVector *qiov; /* calling IOV */ member
179 .qiov = qiov, in quorum_aio_get()
389 QEMUIOVector *qiov = &acb->qcrs[i].qiov; in quorum_compute_hash() local
397 qiov->iov, qiov->niov, in quorum_compute_hash()
526 quorum = quorum_compare(acb, &acb->qcrs[i].qiov, &acb->qcrs[j].qiov); in quorum_vote()
534 quorum_copy_qiov(acb->qiov, &acb->qcrs[i].qiov); in quorum_vote()
563 quorum_copy_qiov(acb->qiov, &acb->qcrs[winner->index].qiov); in quorum_vote()
618 qemu_iovec_init(&acb->qcrs[i].qiov, acb->qiov->niov); in read_quorum_children()
619 qemu_iovec_clone(&acb->qcrs[i].qiov, acb->qiov, acb->qcrs[i].buf); in read_quorum_children()
[all …]
H A Dnvme.c1043 s->dma_map_count -= qiov->size; in nvme_cmd_unmap_qiov()
1063 assert(qiov->size); in nvme_cmd_map_qiov()
1066 for (i = 0; i < qiov->niov; ++i) { in nvme_cmd_map_qiov()
1124 s->dma_map_count += qiov->size; in nvme_cmd_map_qiov()
1214 r = nvme_cmd_map_qiov(bs, &cmd, req, qiov); in nvme_co_prw_aligned()
1228 r = nvme_cmd_unmap_qiov(bs, qiov); in nvme_co_prw_aligned()
1244 for (i = 0; i < qiov->niov; ++i) { in nvme_qiov_aligned()
1248 trace_nvme_qiov_unaligned(qiov, i, qiov->iov[i].iov_base, in nvme_qiov_aligned()
1269 if (nvme_qiov_aligned(bs, qiov)) { in nvme_co_prw()
1282 qemu_iovec_to_buf(qiov, 0, buf, bytes); in nvme_co_prw()
[all …]
H A Dcopy-on-read.c136 QEMUIOVector *qiov, size_t qiov_offset, in cor_co_preadv_part() argument
145 return bdrv_co_preadv_part(bs->file, offset, bytes, qiov, qiov_offset, in cor_co_preadv_part()
170 ret = bdrv_co_preadv_part(bs->file, offset, n, qiov, qiov_offset, in cor_co_preadv_part()
188 QEMUIOVector *qiov, size_t qiov_offset, in cor_co_pwritev_part() argument
191 return bdrv_co_pwritev_part(bs->file, offset, bytes, qiov, qiov_offset, in cor_co_pwritev_part()
213 QEMUIOVector *qiov) in cor_co_pwritev_compressed() argument
215 return bdrv_co_pwritev(bs->file, offset, bytes, qiov, in cor_co_pwritev_compressed()
H A Dqed.c895 return bdrv_co_preadv(s->bs->backing, pos, qiov->size, qiov, 0); in qed_read_backing_file()
897 qemu_iovec_memset(qiov, 0, 0, qiov->size); in qed_read_backing_file()
913 QEMUIOVector qiov; in qed_copy_from_backing_file() local
923 ret = qed_read_backing_file(s, pos, &qiov); in qed_copy_from_backing_file()
930 ret = bdrv_co_pwritev(s->bs->file, offset, qiov.size, &qiov, 0); in qed_copy_from_backing_file()
936 qemu_vfree(qemu_iovec_buf(&qiov)); in qed_copy_from_backing_file()
980 acb->qiov->iov[0].iov_base = NULL; in qed_aio_complete()
1243 struct iovec *iov = acb->qiov->iov; in qed_aio_write_inplace()
1400 .qiov = qiov, in qed_co_request()
1413 QEMUIOVector *qiov) in bdrv_qed_co_readv() argument
[all …]
H A Dblock-backend.c1356 QEMUIOVector qiov = QEMU_IOVEC_INIT_BUF(qiov, buf, bytes); in blk_co_pread() local
1449 QEMUIOVector qiov = QEMU_IOVEC_INIT_BUF(qiov, buf, bytes); in blk_co_pwrite() local
1605 QEMUIOVector *qiov = rwco->iobuf; in blk_aio_read_entry() local
1607 assert(qiov->size == acb->bytes); in blk_aio_read_entry()
1617 QEMUIOVector *qiov = rwco->iobuf; in blk_aio_write_entry() local
1619 assert(!qiov || qiov->size == acb->bytes); in blk_aio_write_entry()
1700 assert((uint64_t)qiov->size <= INT64_MAX); in blk_aio_preadv()
1701 return blk_aio_prwv(blk, offset, qiov->size, qiov, in blk_aio_preadv()
1711 return blk_aio_prwv(blk, offset, qiov->size, qiov, in blk_aio_pwritev()
1971 .iobuf = qiov, in blk_aio_zone_append()
[all …]
H A Dnbd.c493 QEMUIOVector *qiov) in nbd_co_send_request() argument
534 if (qiov) { in nbd_co_send_request()
537 if (rc >= 0 && qio_channel_writev_all(s->ioc, qiov->iov, qiov->niov, in nbd_co_send_request()
792 qemu_iovec_init(&sub_qiov, qiov->niov); in nbd_co_receive_offset_data_payload()
883 if (*request_ret < 0 || !qiov) { in nbd_co_do_receive_one_chunk()
887 return qio_channel_readv_all(s->ioc, qiov->iov, qiov->niov, in nbd_co_do_receive_one_chunk()
910 if (!qiov) { in nbd_co_do_receive_one_chunk()
1001 qiov, reply, payload) \ argument
1098 qiov, &reply, &payload) in nbd_co_receive_cmdread_reply()
1270 qemu_iovec_memset(qiov, 0, 0, bytes); in nbd_client_co_preadv()
[all …]
H A Draw-format.c211 QEMUIOVector *qiov, BdrvRequestFlags flags) in raw_co_preadv() argument
221 return bdrv_co_preadv(bs->file, offset, bytes, qiov, flags); in raw_co_preadv()
226 QEMUIOVector *qiov, BdrvRequestFlags flags) in raw_co_pwritev() argument
247 ret = qemu_iovec_to_buf(qiov, 0, buf, 512); in raw_co_pwritev()
261 qemu_iovec_init(&local_qiov, qiov->niov + 1); in raw_co_pwritev()
263 qemu_iovec_concat(&local_qiov, qiov, 512, qiov->size - 512); in raw_co_pwritev()
264 qiov = &local_qiov; in raw_co_pwritev()
275 ret = bdrv_co_pwritev(bs->file, offset, bytes, qiov, flags); in raw_co_pwritev()
278 if (qiov == &local_qiov) { in raw_co_pwritev()
338 raw_co_zone_append(BlockDriverState *bs,int64_t *offset, QEMUIOVector *qiov, in raw_co_zone_append() argument
[all …]
H A Dthrottle.c120 QEMUIOVector *qiov, BdrvRequestFlags flags) in throttle_co_preadv() argument
126 return bdrv_co_preadv(bs->file, offset, bytes, qiov, flags); in throttle_co_preadv()
131 QEMUIOVector *qiov, BdrvRequestFlags flags) in throttle_co_pwritev() argument
136 return bdrv_co_pwritev(bs->file, offset, bytes, qiov, flags); in throttle_co_pwritev()
160 int64_t bytes, QEMUIOVector *qiov) in throttle_co_pwritev_compressed() argument
162 return throttle_co_pwritev(bs, offset, bytes, qiov, in throttle_co_pwritev_compressed()
H A Dfilter-compress.c69 QEMUIOVector *qiov, size_t qiov_offset, in compress_co_preadv_part() argument
72 return bdrv_co_preadv_part(bs->file, offset, bytes, qiov, qiov_offset, in compress_co_preadv_part()
79 QEMUIOVector *qiov, size_t qiov_offset, in compress_co_pwritev_part() argument
82 return bdrv_co_pwritev_part(bs->file, offset, bytes, qiov, qiov_offset, in compress_co_pwritev_part()
/qemu/migration/
H A Dchannel-block.c60 QEMUIOVector qiov; in qio_channel_block_readv() local
63 qemu_iovec_init_external(&qiov, (struct iovec *)iov, niov); in qio_channel_block_readv()
64 ret = bdrv_readv_vmstate(bioc->bs, &qiov, bioc->offset); in qio_channel_block_readv()
70 bioc->offset += qiov.size; in qio_channel_block_readv()
71 return qiov.size; in qio_channel_block_readv()
85 QEMUIOVector qiov; in qio_channel_block_writev() local
88 qemu_iovec_init_external(&qiov, (struct iovec *)iov, niov); in qio_channel_block_writev()
89 ret = bdrv_writev_vmstate(bioc->bs, &qiov, bioc->offset); in qio_channel_block_writev()
95 bioc->offset += qiov.size; in qio_channel_block_writev()
96 return qiov.size; in qio_channel_block_writev()
/qemu/include/block/
H A Dblock_int-io.h39 int64_t offset, int64_t bytes, QEMUIOVector *qiov, size_t qiov_offset);
48 int64_t offset, int64_t bytes, QEMUIOVector *qiov,
52 QEMUIOVector *qiov, size_t qiov_offset, BdrvRequestFlags flags);
54 int64_t offset, int64_t bytes, QEMUIOVector *qiov,
58 QEMUIOVector *qiov, size_t qiov_offset, BdrvRequestFlags flags);
63 QEMUIOVector qiov = QEMU_IOVEC_INIT_BUF(qiov, buf, bytes); in bdrv_co_pread() local
67 return bdrv_co_preadv(child, offset, bytes, &qiov, flags); in bdrv_co_pread()
73 QEMUIOVector qiov = QEMU_IOVEC_INIT_BUF(qiov, buf, bytes); in bdrv_co_pwrite() local
77 return bdrv_co_pwritev(child, offset, bytes, &qiov, flags); in bdrv_co_pwrite()
H A Dblock_int-common.h502 int64_t offset, int64_t bytes, QEMUIOVector *qiov,
506 int64_t offset, int64_t bytes, QEMUIOVector *qiov,
535 int64_t offset, int64_t bytes, QEMUIOVector *qiov,
540 QEMUIOVector *qiov, size_t qiov_offset,
544 int64_t sector_num, int nb_sectors, QEMUIOVector *qiov,
656 QEMUIOVector *qiov, size_t qiov_offset);
725 QEMUIOVector *qiov);
729 QEMUIOVector *qiov, size_t qiov_offset);
739 BlockDriverState *bs, QEMUIOVector *qiov, int64_t pos);
742 BlockDriverState *bs, QEMUIOVector *qiov, int64_t pos);
[all …]
/qemu/include/sysemu/
H A Dblock-backend-io.h42 QEMUIOVector *qiov, BdrvRequestFlags flags,
45 QEMUIOVector *qiov, BdrvRequestFlags flags,
57 QEMUIOVector *qiov, BdrvRequestFlags flags,
145 int64_t bytes, QEMUIOVector *qiov,
148 int64_t bytes, QEMUIOVector *qiov,
152 int64_t bytes, QEMUIOVector *qiov,
156 int64_t bytes, QEMUIOVector *qiov,
166 int64_t bytes, QEMUIOVector *qiov,
169 int64_t bytes, QEMUIOVector *qiov,
204 QEMUIOVector *qiov,
[all …]
/qemu/
H A Dqemu-io-cmds.c654 *total = qiov->size; in do_aio_readv()
668 *total = qiov->size; in do_aio_writev()
915 QEMUIOVector qiov; in readv_f() local
1004 qemu_iovec_destroy(&qiov); in readv_f()
1273 QEMUIOVector qiov; in writev_f() local
1341 qemu_iovec_destroy(&qiov); in writev_f()
1347 QEMUIOVector qiov; member
1682 ctx->qiov.size = count; in aio_write_f()
1887 *total = qiov->size; in do_aio_zone_append()
1901 QEMUIOVector qiov; in zone_append_f() local
[all …]
/qemu/block/export/
H A Dvirtio-blk-handler.c173 QEMUIOVector qiov; in virtio_blk_process_req() local
185 qemu_iovec_init_external(&qiov, out_iov, out_num); in virtio_blk_process_req()
187 qemu_iovec_init_external(&qiov, in_iov, in_num); in virtio_blk_process_req()
192 sector_num, qiov.size))) { in virtio_blk_process_req()
200 ret = blk_co_pwritev(blk, offset, qiov.size, &qiov, 0); in virtio_blk_process_req()
202 ret = blk_co_preadv(blk, offset, qiov.size, &qiov, 0); in virtio_blk_process_req()
/qemu/tests/unit/
H A Dtest-replication.c57 QEMUIOVector qiov; in test_blk_read() local
73 qemu_iovec_init(&qiov, 1); in test_blk_read()
74 qemu_iovec_add(&qiov, pattern_buf, count); in test_blk_read()
76 blk_aio_preadv(blk, offset, &qiov, 0, blk_rw_done, &async_ret); in test_blk_read()
93 qemu_iovec_destroy(&qiov); in test_blk_read()
100 QEMUIOVector qiov; in test_blk_write() local
110 qemu_iovec_init(&qiov, 1); in test_blk_write()
111 qemu_iovec_add(&qiov, pattern_buf, count); in test_blk_write()
113 blk_aio_pwritev(blk, offset, &qiov, 0, blk_rw_done, &async_ret); in test_blk_write()
125 qemu_iovec_destroy(&qiov); in test_blk_write()
H A Dtest-block-iothread.c37 QEMUIOVector *qiov, in bdrv_test_co_preadv() argument
145 QEMUIOVector qiov = QEMU_IOVEC_INIT_BUF(qiov, buf, sizeof(buf)); in test_sync_op_blk_preadv() local
149 ret = blk_preadv(blk, 0, sizeof(buf), &qiov, 0); in test_sync_op_blk_preadv()
153 ret = blk_preadv(blk, -2, sizeof(buf), &qiov, 0); in test_sync_op_blk_preadv()
160 QEMUIOVector qiov = QEMU_IOVEC_INIT_BUF(qiov, buf, sizeof(buf)); in test_sync_op_blk_pwritev() local
164 ret = blk_pwritev(blk, 0, sizeof(buf), &qiov, 0); in test_sync_op_blk_pwritev()
168 ret = blk_pwritev(blk, -2, sizeof(buf), &qiov, 0); in test_sync_op_blk_pwritev()
175 QEMUIOVector qiov = QEMU_IOVEC_INIT_BUF(qiov, buf, sizeof(buf)); in test_sync_op_blk_preadv_part() local
179 ret = blk_preadv_part(blk, 0, sizeof(buf), &qiov, 0, 0); in test_sync_op_blk_preadv_part()
183 ret = blk_preadv_part(blk, -2, sizeof(buf), &qiov, 0, 0); in test_sync_op_blk_preadv_part()
[all …]

123