diff mbox

[v3,5/6] nbd: Drop unused offset parameter

Message ID 1468607524-19021-6-git-send-email-eblake@redhat.com
State New
Headers show

Commit Message

Eric Blake July 15, 2016, 6:32 p.m. UTC
Now that NBD relies on the block layer to fragment things, we no
longer need to track an offset argument for which fragment of
a request we are actually servicing.

While at it, use true and false instead of 0 and 1 for a bool
parameter.

Signed-off-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Fam Zheng <famz@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>

---
v3: no change
v2: minor formatting tweak [Kevin]
---
 include/block/nbd.h |  1 -
 nbd/nbd-internal.h  |  4 ++--
 block/nbd-client.c  | 31 ++++++++++++++++---------------
 nbd/common.c        |  5 +----
 4 files changed, 19 insertions(+), 22 deletions(-)

Comments

Paolo Bonzini July 18, 2016, 8:16 a.m. UTC | #1
On 15/07/2016 20:32, Eric Blake wrote:
> Now that NBD relies on the block layer to fragment things, we no
> longer need to track an offset argument for which fragment of
> a request we are actually servicing.
> 
> While at it, use true and false instead of 0 and 1 for a bool
> parameter.
> 
> Signed-off-by: Eric Blake <eblake@redhat.com>
> Reviewed-by: Fam Zheng <famz@redhat.com>
> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
> 
> ---
> v3: no change
> v2: minor formatting tweak [Kevin]
> ---
>  include/block/nbd.h |  1 -
>  nbd/nbd-internal.h  |  4 ++--
>  block/nbd-client.c  | 31 ++++++++++++++++---------------
>  nbd/common.c        |  5 +----
>  4 files changed, 19 insertions(+), 22 deletions(-)
> 
> diff --git a/include/block/nbd.h b/include/block/nbd.h
> index eeda3eb..503f514 100644
> --- a/include/block/nbd.h
> +++ b/include/block/nbd.h
> @@ -89,7 +89,6 @@ enum {
>  ssize_t nbd_wr_syncv(QIOChannel *ioc,
>                       struct iovec *iov,
>                       size_t niov,
> -                     size_t offset,
>                       size_t length,
>                       bool do_read);
>  int nbd_receive_negotiate(QIOChannel *ioc, const char *name, uint32_t *flags,
> diff --git a/nbd/nbd-internal.h b/nbd/nbd-internal.h
> index 26a9f4d..93a6ca8 100644
> --- a/nbd/nbd-internal.h
> +++ b/nbd/nbd-internal.h
> @@ -101,14 +101,14 @@ static inline ssize_t read_sync(QIOChannel *ioc, void *buffer, size_t size)
>       * our request/reply.  Synchronization is done with recv_coroutine, so
>       * that this is coroutine-safe.
>       */
> -    return nbd_wr_syncv(ioc, &iov, 1, 0, size, true);
> +    return nbd_wr_syncv(ioc, &iov, 1, size, true);
>  }
> 
>  static inline ssize_t write_sync(QIOChannel *ioc, void *buffer, size_t size)
>  {
>      struct iovec iov = { .iov_base = buffer, .iov_len = size };
> 
> -    return nbd_wr_syncv(ioc, &iov, 1, 0, size, false);
> +    return nbd_wr_syncv(ioc, &iov, 1, size, false);
>  }
> 
>  struct NBDTLSHandshakeData {
> diff --git a/block/nbd-client.c b/block/nbd-client.c
> index f1fb58b..f184844 100644
> --- a/block/nbd-client.c
> +++ b/block/nbd-client.c
> @@ -116,7 +116,7 @@ static void nbd_restart_write(void *opaque)
> 
>  static int nbd_co_send_request(BlockDriverState *bs,
>                                 struct nbd_request *request,
> -                               QEMUIOVector *qiov, int offset)
> +                               QEMUIOVector *qiov)
>  {
>      NbdClientSession *s = nbd_get_client_session(bs);
>      AioContext *aio_context;
> @@ -149,8 +149,8 @@ static int nbd_co_send_request(BlockDriverState *bs,
>          qio_channel_set_cork(s->ioc, true);
>          rc = nbd_send_request(s->ioc, request);
>          if (rc >= 0) {
> -            ret = nbd_wr_syncv(s->ioc, qiov->iov, qiov->niov,
> -                               offset, request->len, 0);
> +            ret = nbd_wr_syncv(s->ioc, qiov->iov, qiov->niov, request->len,
> +                               false);
>              if (ret != request->len) {
>                  rc = -EIO;
>              }
> @@ -167,8 +167,9 @@ static int nbd_co_send_request(BlockDriverState *bs,
>  }
> 
>  static void nbd_co_receive_reply(NbdClientSession *s,
> -    struct nbd_request *request, struct nbd_reply *reply,
> -    QEMUIOVector *qiov, int offset)
> +                                 struct nbd_request *request,
> +                                 struct nbd_reply *reply,
> +                                 QEMUIOVector *qiov)
>  {
>      int ret;
> 
> @@ -181,8 +182,8 @@ static void nbd_co_receive_reply(NbdClientSession *s,
>          reply->error = EIO;
>      } else {
>          if (qiov && reply->error == 0) {
> -            ret = nbd_wr_syncv(s->ioc, qiov->iov, qiov->niov,
> -                               offset, request->len, 1);
> +            ret = nbd_wr_syncv(s->ioc, qiov->iov, qiov->niov, request->len,
> +                               true);
>              if (ret != request->len) {
>                  reply->error = EIO;
>              }
> @@ -230,11 +231,11 @@ int nbd_client_co_readv(BlockDriverState *bs, int64_t sector_num,
>      request.len = nb_sectors * 512;
> 
>      nbd_coroutine_start(client, &request);
> -    ret = nbd_co_send_request(bs, &request, NULL, 0);
> +    ret = nbd_co_send_request(bs, &request, NULL);
>      if (ret < 0) {
>          reply.error = -ret;
>      } else {
> -        nbd_co_receive_reply(client, &request, &reply, qiov, 0);
> +        nbd_co_receive_reply(client, &request, &reply, qiov);
>      }
>      nbd_coroutine_end(client, &request);
>      return -reply.error;
> @@ -259,11 +260,11 @@ int nbd_client_co_writev(BlockDriverState *bs, int64_t sector_num,
>      request.len = nb_sectors * 512;
> 
>      nbd_coroutine_start(client, &request);
> -    ret = nbd_co_send_request(bs, &request, qiov, 0);
> +    ret = nbd_co_send_request(bs, &request, qiov);
>      if (ret < 0) {
>          reply.error = -ret;
>      } else {
> -        nbd_co_receive_reply(client, &request, &reply, NULL, 0);
> +        nbd_co_receive_reply(client, &request, &reply, NULL);
>      }
>      nbd_coroutine_end(client, &request);
>      return -reply.error;
> @@ -284,11 +285,11 @@ int nbd_client_co_flush(BlockDriverState *bs)
>      request.len = 0;
> 
>      nbd_coroutine_start(client, &request);
> -    ret = nbd_co_send_request(bs, &request, NULL, 0);
> +    ret = nbd_co_send_request(bs, &request, NULL);
>      if (ret < 0) {
>          reply.error = -ret;
>      } else {
> -        nbd_co_receive_reply(client, &request, &reply, NULL, 0);
> +        nbd_co_receive_reply(client, &request, &reply, NULL);
>      }
>      nbd_coroutine_end(client, &request);
>      return -reply.error;
> @@ -309,11 +310,11 @@ int nbd_client_co_discard(BlockDriverState *bs, int64_t sector_num,
>      request.len = nb_sectors * 512;
> 
>      nbd_coroutine_start(client, &request);
> -    ret = nbd_co_send_request(bs, &request, NULL, 0);
> +    ret = nbd_co_send_request(bs, &request, NULL);
>      if (ret < 0) {
>          reply.error = -ret;
>      } else {
> -        nbd_co_receive_reply(client, &request, &reply, NULL, 0);
> +        nbd_co_receive_reply(client, &request, &reply, NULL);
>      }
>      nbd_coroutine_end(client, &request);
>      return -reply.error;
> diff --git a/nbd/common.c b/nbd/common.c
> index 8ddb2dd..b583a4f 100644
> --- a/nbd/common.c
> +++ b/nbd/common.c
> @@ -23,7 +23,6 @@
>  ssize_t nbd_wr_syncv(QIOChannel *ioc,
>                       struct iovec *iov,
>                       size_t niov,
> -                     size_t offset,
>                       size_t length,
>                       bool do_read)
>  {
> @@ -33,9 +32,7 @@ ssize_t nbd_wr_syncv(QIOChannel *ioc,
>      struct iovec *local_iov_head = local_iov;
>      unsigned int nlocal_iov = niov;
> 
> -    nlocal_iov = iov_copy(local_iov, nlocal_iov,
> -                          iov, niov,
> -                          offset, length);
> +    nlocal_iov = iov_copy(local_iov, nlocal_iov, iov, niov, 0, length);
> 
>      while (nlocal_iov > 0) {
>          ssize_t len;
> 

Acked-by: Paolo Bonzini <pbonzini@redhat.com>
diff mbox

Patch

diff --git a/include/block/nbd.h b/include/block/nbd.h
index eeda3eb..503f514 100644
--- a/include/block/nbd.h
+++ b/include/block/nbd.h
@@ -89,7 +89,6 @@  enum {
 ssize_t nbd_wr_syncv(QIOChannel *ioc,
                      struct iovec *iov,
                      size_t niov,
-                     size_t offset,
                      size_t length,
                      bool do_read);
 int nbd_receive_negotiate(QIOChannel *ioc, const char *name, uint32_t *flags,
diff --git a/nbd/nbd-internal.h b/nbd/nbd-internal.h
index 26a9f4d..93a6ca8 100644
--- a/nbd/nbd-internal.h
+++ b/nbd/nbd-internal.h
@@ -101,14 +101,14 @@  static inline ssize_t read_sync(QIOChannel *ioc, void *buffer, size_t size)
      * our request/reply.  Synchronization is done with recv_coroutine, so
      * that this is coroutine-safe.
      */
-    return nbd_wr_syncv(ioc, &iov, 1, 0, size, true);
+    return nbd_wr_syncv(ioc, &iov, 1, size, true);
 }

 static inline ssize_t write_sync(QIOChannel *ioc, void *buffer, size_t size)
 {
     struct iovec iov = { .iov_base = buffer, .iov_len = size };

-    return nbd_wr_syncv(ioc, &iov, 1, 0, size, false);
+    return nbd_wr_syncv(ioc, &iov, 1, size, false);
 }

 struct NBDTLSHandshakeData {
diff --git a/block/nbd-client.c b/block/nbd-client.c
index f1fb58b..f184844 100644
--- a/block/nbd-client.c
+++ b/block/nbd-client.c
@@ -116,7 +116,7 @@  static void nbd_restart_write(void *opaque)

 static int nbd_co_send_request(BlockDriverState *bs,
                                struct nbd_request *request,
-                               QEMUIOVector *qiov, int offset)
+                               QEMUIOVector *qiov)
 {
     NbdClientSession *s = nbd_get_client_session(bs);
     AioContext *aio_context;
@@ -149,8 +149,8 @@  static int nbd_co_send_request(BlockDriverState *bs,
         qio_channel_set_cork(s->ioc, true);
         rc = nbd_send_request(s->ioc, request);
         if (rc >= 0) {
-            ret = nbd_wr_syncv(s->ioc, qiov->iov, qiov->niov,
-                               offset, request->len, 0);
+            ret = nbd_wr_syncv(s->ioc, qiov->iov, qiov->niov, request->len,
+                               false);
             if (ret != request->len) {
                 rc = -EIO;
             }
@@ -167,8 +167,9 @@  static int nbd_co_send_request(BlockDriverState *bs,
 }

 static void nbd_co_receive_reply(NbdClientSession *s,
-    struct nbd_request *request, struct nbd_reply *reply,
-    QEMUIOVector *qiov, int offset)
+                                 struct nbd_request *request,
+                                 struct nbd_reply *reply,
+                                 QEMUIOVector *qiov)
 {
     int ret;

@@ -181,8 +182,8 @@  static void nbd_co_receive_reply(NbdClientSession *s,
         reply->error = EIO;
     } else {
         if (qiov && reply->error == 0) {
-            ret = nbd_wr_syncv(s->ioc, qiov->iov, qiov->niov,
-                               offset, request->len, 1);
+            ret = nbd_wr_syncv(s->ioc, qiov->iov, qiov->niov, request->len,
+                               true);
             if (ret != request->len) {
                 reply->error = EIO;
             }
@@ -230,11 +231,11 @@  int nbd_client_co_readv(BlockDriverState *bs, int64_t sector_num,
     request.len = nb_sectors * 512;

     nbd_coroutine_start(client, &request);
-    ret = nbd_co_send_request(bs, &request, NULL, 0);
+    ret = nbd_co_send_request(bs, &request, NULL);
     if (ret < 0) {
         reply.error = -ret;
     } else {
-        nbd_co_receive_reply(client, &request, &reply, qiov, 0);
+        nbd_co_receive_reply(client, &request, &reply, qiov);
     }
     nbd_coroutine_end(client, &request);
     return -reply.error;
@@ -259,11 +260,11 @@  int nbd_client_co_writev(BlockDriverState *bs, int64_t sector_num,
     request.len = nb_sectors * 512;

     nbd_coroutine_start(client, &request);
-    ret = nbd_co_send_request(bs, &request, qiov, 0);
+    ret = nbd_co_send_request(bs, &request, qiov);
     if (ret < 0) {
         reply.error = -ret;
     } else {
-        nbd_co_receive_reply(client, &request, &reply, NULL, 0);
+        nbd_co_receive_reply(client, &request, &reply, NULL);
     }
     nbd_coroutine_end(client, &request);
     return -reply.error;
@@ -284,11 +285,11 @@  int nbd_client_co_flush(BlockDriverState *bs)
     request.len = 0;

     nbd_coroutine_start(client, &request);
-    ret = nbd_co_send_request(bs, &request, NULL, 0);
+    ret = nbd_co_send_request(bs, &request, NULL);
     if (ret < 0) {
         reply.error = -ret;
     } else {
-        nbd_co_receive_reply(client, &request, &reply, NULL, 0);
+        nbd_co_receive_reply(client, &request, &reply, NULL);
     }
     nbd_coroutine_end(client, &request);
     return -reply.error;
@@ -309,11 +310,11 @@  int nbd_client_co_discard(BlockDriverState *bs, int64_t sector_num,
     request.len = nb_sectors * 512;

     nbd_coroutine_start(client, &request);
-    ret = nbd_co_send_request(bs, &request, NULL, 0);
+    ret = nbd_co_send_request(bs, &request, NULL);
     if (ret < 0) {
         reply.error = -ret;
     } else {
-        nbd_co_receive_reply(client, &request, &reply, NULL, 0);
+        nbd_co_receive_reply(client, &request, &reply, NULL);
     }
     nbd_coroutine_end(client, &request);
     return -reply.error;
diff --git a/nbd/common.c b/nbd/common.c
index 8ddb2dd..b583a4f 100644
--- a/nbd/common.c
+++ b/nbd/common.c
@@ -23,7 +23,6 @@ 
 ssize_t nbd_wr_syncv(QIOChannel *ioc,
                      struct iovec *iov,
                      size_t niov,
-                     size_t offset,
                      size_t length,
                      bool do_read)
 {
@@ -33,9 +32,7 @@  ssize_t nbd_wr_syncv(QIOChannel *ioc,
     struct iovec *local_iov_head = local_iov;
     unsigned int nlocal_iov = niov;

-    nlocal_iov = iov_copy(local_iov, nlocal_iov,
-                          iov, niov,
-                          offset, length);
+    nlocal_iov = iov_copy(local_iov, nlocal_iov, iov, niov, 0, length);

     while (nlocal_iov > 0) {
         ssize_t len;