[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 25/41] nbd: make nbd_drop public
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PULL 25/41] nbd: make nbd_drop public |
Date: |
Thu, 15 Jun 2017 12:52:45 +0200 |
From: Vladimir Sementsov-Ogievskiy <address@hidden>
Following commit will reuse it for nbd server too.
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
---
nbd/client.c | 26 --------------------------
nbd/common.c | 26 ++++++++++++++++++++++++++
nbd/nbd-internal.h | 2 ++
3 files changed, 28 insertions(+), 26 deletions(-)
diff --git a/nbd/client.c b/nbd/client.c
index 17ac85f..b97143f 100644
--- a/nbd/client.c
+++ b/nbd/client.c
@@ -86,32 +86,6 @@ static QTAILQ_HEAD(, NBDExport) exports =
QTAILQ_HEAD_INITIALIZER(exports);
*/
-/* Discard length bytes from channel. Return -errno on failure and 0 on
- * success*/
-static int nbd_drop(QIOChannel *ioc, size_t size, Error **errp)
-{
- ssize_t ret = 0;
- char small[1024];
- char *buffer;
-
- buffer = sizeof(small) >= size ? small : g_malloc(MIN(65536, size));
- while (size > 0) {
- ssize_t count = MIN(65536, size);
- ret = nbd_read(ioc, buffer, MIN(65536, size), errp);
-
- if (ret < 0) {
- goto cleanup;
- }
- size -= count;
- }
-
- cleanup:
- if (buffer != small) {
- g_free(buffer);
- }
- return ret;
-}
-
/* Send an option request.
*
* The request is for option @opt, with @data containing @len bytes of
diff --git a/nbd/common.c b/nbd/common.c
index d6b719d..6b5c1b7 100644
--- a/nbd/common.c
+++ b/nbd/common.c
@@ -65,6 +65,32 @@ ssize_t nbd_rwv(QIOChannel *ioc, struct iovec *iov, size_t
niov, size_t length,
return done;
}
+/* Discard length bytes from channel. Return -errno on failure and 0 on
+ * success */
+int nbd_drop(QIOChannel *ioc, size_t size, Error **errp)
+{
+ ssize_t ret = 0;
+ char small[1024];
+ char *buffer;
+
+ buffer = sizeof(small) >= size ? small : g_malloc(MIN(65536, size));
+ while (size > 0) {
+ ssize_t count = MIN(65536, size);
+ ret = nbd_read(ioc, buffer, MIN(65536, size), errp);
+
+ if (ret < 0) {
+ goto cleanup;
+ }
+ size -= count;
+ }
+
+ cleanup:
+ if (buffer != small) {
+ g_free(buffer);
+ }
+ return ret;
+}
+
void nbd_tls_handshake(QIOTask *task,
void *opaque)
diff --git a/nbd/nbd-internal.h b/nbd/nbd-internal.h
index 753cb9d..39bfed1 100644
--- a/nbd/nbd-internal.h
+++ b/nbd/nbd-internal.h
@@ -153,4 +153,6 @@ struct NBDTLSHandshakeData {
void nbd_tls_handshake(QIOTask *task,
void *opaque);
+int nbd_drop(QIOChannel *ioc, size_t size, Error **errp);
+
#endif
--
1.8.3.1
- [Qemu-devel] [PULL 12/41] megasas: do not read SCSI req parameters more than once from frame, (continued)
- [Qemu-devel] [PULL 12/41] megasas: do not read SCSI req parameters more than once from frame, Paolo Bonzini, 2017/06/15
- [Qemu-devel] [PULL 16/41] kvm-all: make async_safe_run_on_cpu safe on kvm too, Paolo Bonzini, 2017/06/15
- [Qemu-devel] [PULL 09/41] megasas: do not read iovec count more than once from frame, Paolo Bonzini, 2017/06/15
- [Qemu-devel] [PULL 14/41] Makefile: Do not generate files if "configure" has not been run yet, Paolo Bonzini, 2017/06/15
- [Qemu-devel] [PULL 21/41] tcg: move tcg related files into accel/tcg/ subdirectory, Paolo Bonzini, 2017/06/15
- [Qemu-devel] [PULL 20/41] accel: split the tcg accelerator from accel.c file, Paolo Bonzini, 2017/06/15
- [Qemu-devel] [PULL 22/41] tcg: move tcg backend files into accel/tcg/, Paolo Bonzini, 2017/06/15
- [Qemu-devel] [PULL 17/41] hax-all: make async_safe_run_on_cpu safe on HAX too, Paolo Bonzini, 2017/06/15
- [Qemu-devel] [PULL 13/41] megasas: always store SCSIRequest* into MegasasCmd, Paolo Bonzini, 2017/06/15
- [Qemu-devel] [PULL 15/41] vl: Fix broken thread=xxx option of the --accel parameter, Paolo Bonzini, 2017/06/15
- [Qemu-devel] [PULL 25/41] nbd: make nbd_drop public,
Paolo Bonzini <=
- [Qemu-devel] [PULL 23/41] accel: move kvm related accelerator files into accel/, Paolo Bonzini, 2017/06/15
- [Qemu-devel] [PULL 26/41] nbd/server: get rid of nbd_negotiate_read and friends, Paolo Bonzini, 2017/06/15
- [Qemu-devel] [PULL 28/41] nbd/server: refactor nbd_co_send_reply, Paolo Bonzini, 2017/06/15
- [Qemu-devel] [PULL 27/41] nbd/server: get rid of ssize_t, Paolo Bonzini, 2017/06/15
- [Qemu-devel] [PULL 19/41] qemu-nbd: Ignore SIGPIPE, Paolo Bonzini, 2017/06/15
- [Qemu-devel] [PULL 29/41] nbd/server: get rid of EAGAIN dead code, Paolo Bonzini, 2017/06/15
- [Qemu-devel] [PULL 35/41] nbd/server: refactor nbd_trip, Paolo Bonzini, 2017/06/15
- [Qemu-devel] [PULL 10/41] megasas: do not read DCMD opcode more than once from frame, Paolo Bonzini, 2017/06/15
- [Qemu-devel] [PULL 11/41] megasas: do not read command more than once from frame, Paolo Bonzini, 2017/06/15
- [Qemu-devel] [PULL 05/41] ivshmem: use ram_from_fd(), Paolo Bonzini, 2017/06/15