[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 02/12] nbd: make nbd_drop public
From: |
Vladimir Sementsov-Ogievskiy |
Subject: |
[Qemu-devel] [PATCH 02/12] nbd: make nbd_drop public |
Date: |
Wed, 31 May 2017 19:55:31 +0300 |
Following commit will reuse it for nbd server too.
Signed-off-by: Vladimir Sementsov-Ogievskiy <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 08050c39b3..215857f65d 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 d6b719ddaa..6b5c1b7b02 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 630f553134..d1c2bed471 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
--
2.11.1
- [Qemu-devel] [PATCH 00/12] nbd refactoring part 1, Vladimir Sementsov-Ogievskiy, 2017/05/31
- [Qemu-devel] [PATCH 07/12] nbd/server: refactor nbd_co_receive_request, Vladimir Sementsov-Ogievskiy, 2017/05/31
- [Qemu-devel] [PATCH 06/12] nbd/server: get rid of EAGAIN dead code, Vladimir Sementsov-Ogievskiy, 2017/05/31
- [Qemu-devel] [PATCH 05/12] nbd/server: refactor nbd_co_send_reply, Vladimir Sementsov-Ogievskiy, 2017/05/31
- [Qemu-devel] [PATCH 09/12] nbd/server: nbd_negotiate: fix error path, Vladimir Sementsov-Ogievskiy, 2017/05/31
- [Qemu-devel] [PATCH 04/12] nbd/server: get rid of ssize_t, Vladimir Sementsov-Ogievskiy, 2017/05/31
- [Qemu-devel] [PATCH 02/12] nbd: make nbd_drop public,
Vladimir Sementsov-Ogievskiy <=
- [Qemu-devel] [PATCH 11/12] nbd/server: rename rc to ret, Vladimir Sementsov-Ogievskiy, 2017/05/31
- [Qemu-devel] [PATCH 12/12] nbd/server: refactor nbd_trip, Vladimir Sementsov-Ogievskiy, 2017/05/31
- [Qemu-devel] [PATCH 03/12] nbd/server: get rid of nbd_negotiate_read and friends, Vladimir Sementsov-Ogievskiy, 2017/05/31
- [Qemu-devel] [PATCH 10/12] nbd/server: get rid of fail: return rc, Vladimir Sementsov-Ogievskiy, 2017/05/31
- [Qemu-devel] [PATCH 08/12] nbd/server: remove NBDClientNewData, Vladimir Sementsov-Ogievskiy, 2017/05/31
- [Qemu-devel] [PATCH 01/12] nbd: rename read_sync and friends, Vladimir Sementsov-Ogievskiy, 2017/05/31