[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 08/14] util: add return value to qemu_iovec_concat_io
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PULL 08/14] util: add return value to qemu_iovec_concat_iov |
Date: |
Wed, 18 Jun 2014 15:26:48 +0200 |
This will be necessary later to recognize the case where a
request has both dataout and datain.
Signed-off-by: Paolo Bonzini <address@hidden>
---
include/qemu-common.h | 6 +++---
util/iov.c | 10 ++++++----
2 files changed, 9 insertions(+), 7 deletions(-)
diff --git a/include/qemu-common.h b/include/qemu-common.h
index 66ceceb..ae76197 100644
--- a/include/qemu-common.h
+++ b/include/qemu-common.h
@@ -315,9 +315,9 @@ void qemu_iovec_init_external(QEMUIOVector *qiov, struct
iovec *iov, int niov);
void qemu_iovec_add(QEMUIOVector *qiov, void *base, size_t len);
void qemu_iovec_concat(QEMUIOVector *dst,
QEMUIOVector *src, size_t soffset, size_t sbytes);
-void qemu_iovec_concat_iov(QEMUIOVector *dst,
- struct iovec *src_iov, unsigned int src_cnt,
- size_t soffset, size_t sbytes);
+size_t qemu_iovec_concat_iov(QEMUIOVector *dst,
+ struct iovec *src_iov, unsigned int src_cnt,
+ size_t soffset, size_t sbytes);
bool qemu_iovec_is_zero(QEMUIOVector *qiov);
void qemu_iovec_destroy(QEMUIOVector *qiov);
void qemu_iovec_reset(QEMUIOVector *qiov);
diff --git a/util/iov.c b/util/iov.c
index 49f8838..2b4f46d 100644
--- a/util/iov.c
+++ b/util/iov.c
@@ -295,15 +295,15 @@ void qemu_iovec_add(QEMUIOVector *qiov, void *base,
size_t len)
* of src".
* Only vector pointers are processed, not the actual data buffers.
*/
-void qemu_iovec_concat_iov(QEMUIOVector *dst,
- struct iovec *src_iov, unsigned int src_cnt,
- size_t soffset, size_t sbytes)
+size_t qemu_iovec_concat_iov(QEMUIOVector *dst,
+ struct iovec *src_iov, unsigned int src_cnt,
+ size_t soffset, size_t sbytes)
{
int i;
size_t done;
if (!sbytes) {
- return;
+ return 0;
}
assert(dst->nalloc != -1);
for (i = 0, done = 0; done < sbytes && i < src_cnt; i++) {
@@ -317,6 +317,8 @@ void qemu_iovec_concat_iov(QEMUIOVector *dst,
}
}
assert(soffset == 0); /* offset beyond end of src */
+
+ return done;
}
/*
--
1.8.3.1
- [Qemu-devel] [PULL 00/14] SCSI changes for 2014-06-18, Paolo Bonzini, 2014/06/18
- [Qemu-devel] [PULL 01/14] block/iscsi: handle BUSY condition, Paolo Bonzini, 2014/06/18
- [Qemu-devel] [PULL 02/14] block/iscsi: fix potential segfault on early callback, Paolo Bonzini, 2014/06/18
- [Qemu-devel] [PULL 03/14] block/iscsi: use 16 byte CDBs only when necessary, Paolo Bonzini, 2014/06/18
- [Qemu-devel] [PULL 04/14] scsi-disk.c: Fix compilation with -DDEBUG_SCSI, Paolo Bonzini, 2014/06/18
- [Qemu-devel] [PULL 05/14] scsi-disk: fix bug in scsi_block_new_request() introduced by commit 137745c, Paolo Bonzini, 2014/06/18
- [Qemu-devel] [PULL 06/14] scsi: Print command name in debug, Paolo Bonzini, 2014/06/18
- [Qemu-devel] [PULL 07/14] megasas: use PCI DMA API, Paolo Bonzini, 2014/06/18
- [Qemu-devel] [PULL 08/14] util: add return value to qemu_iovec_concat_iov,
Paolo Bonzini <=
- [Qemu-devel] [PULL 09/14] virtio-scsi: start preparing for any_layout, Paolo Bonzini, 2014/06/18
- [Qemu-devel] [PULL 10/14] virtio-scsi: add target swap for VirtIOSCSICtrlTMFReq fields, Paolo Bonzini, 2014/06/18
- [Qemu-devel] [PULL 12/14] virtio-scsi: prepare sense data handling for any_layout, Paolo Bonzini, 2014/06/18
- [Qemu-devel] [PULL 11/14] virtio-scsi: add extra argument and return type to qemu_sgl_concat, Paolo Bonzini, 2014/06/18
- [Qemu-devel] [PULL 13/14] virtio-scsi: introduce virtio_scsi_complete_cmd_req, Paolo Bonzini, 2014/06/18
- [Qemu-devel] [PULL 14/14] virtio-scsi: add support for the any_layout feature, Paolo Bonzini, 2014/06/18
- Re: [Qemu-devel] [PULL 00/14] SCSI changes for 2014-06-18, Peter Maydell, 2014/06/18