mbox

[PULL] iov* function rework (one more time)

Message ID 4FD644B8.1030106@msgid.tls.msk.ru
State New
Headers show

Pull-request

git://git.corpit.ru/qemu.git mjt-iov2

Message

Michael Tokarev June 11, 2012, 7:19 p.m. UTC
On 11.06.2012 22:31, Anthony Liguori wrote:
[]
> Doesn't build:
> 
>   LINK  qemu-ga
> cutils.o: In function `qemu_iovec_to_buf':
> /home/anthony/git/qemu/cutils.c:226: undefined reference to `iov_to_buf'

Indeed.  I'm sorry for this.  Just a makefile issue, I'm not really
sure which of the various *-objs to put this stuff at.  I guess it
should be placed into every place where cutils.o is referenced,
since functions from cutils are now just calling functions from
iov.

> Not sure why you didn't see this.  Are you not testing with a full build?

I tested every commit back and forth in turn, but only for
the main qemu binary build, not for any of the tools builds.
Even the user target does not build, due to the same issue.

I just tested complete builds and separate tools builds,
and verified the resulting qemu-nbd a bit too, it appears
to work fine.

This is commit bb09bc0a5e6eb36d67d8e5f1bddb52fa9c80d463,
"consolidate qemu_iovec_memset{,_skip}() into single function..."
which needs to be redone to include some more stuff in there.
It was due to me improperly rebasing changes to 1.1 -- I
used much more care when forward-ported the C changed, but
missed trivial Makefile changes.

I updated this commit, and pushed new branch mjt-iov2 to the
same location, git://git.corpit.ru/qemu.git .  The new pull
request is below.

Besides, with a few Reviewed-By and Signed-off-by, should
I add the corresponding coments to the commit messages as
well, when doing the rebase?  And should I also rebase to
the current qemu/master?

Please excuse me for for yet another wrong attempt.

Thanks,

/mjt

-----
The following changes since commit 45270ad8a86a80cca4c59dfa73d9a9ee0688d781:

  virtio-serial-bus: use correct lengths in control_out() message (2012-06-07 20:43:26 +0400)

are available in the git repository at:

  git://git.corpit.ru/qemu.git mjt-iov2

for you to fetch changes up to 25e5e4c7e9d5ec3e95c9526d1abaca40ada50ab0:

  rewrite iov_send_recv() and move it to iov.c (2012-06-11 23:12:11 +0400)

----------------------------------------------------------------
Michael Tokarev (10):
      change iov_* function prototypes to be more appropriate
      rewrite iov_* functions
      consolidate qemu_iovec_memset{,_skip}() into single function and use existing iov_memset()
      allow qemu_iovec_from_buffer() to specify offset from which to start copying
      consolidate qemu_iovec_copy() and qemu_iovec_concat() and make them consistent
      change qemu_iovec_to_buf() to match other to,from_buf functions
      rename qemu_sendv to iov_send, change proto and move declarations to iov.h
      export iov_send_recv() and use it in iov_send() and iov_recv()
      cleanup qemu_co_sendv(), qemu_co_recvv() and friends
      rewrite iov_send_recv() and move it to iov.c

 Makefile               |    3 +-
 Makefile.objs          |    4 +-
 block.c                |   12 ++--
 block/curl.c           |    6 +-
 block/iscsi.c          |    3 +-
 block/nbd.c            |   18 ++---
 block/qcow.c           |    4 +-
 block/qcow2.c          |   21 +++---
 block/qed.c            |   10 +--
 block/rbd.c            |    4 +-
 block/sheepdog.c       |    6 +-
 cutils.c               |  234 ++++++++-------------------------------------------------------
 hw/9pfs/virtio-9p.c    |    8 +--
 hw/rtl8139.c           |    2 +-
 hw/usb/core.c          |    6 +-
 hw/virtio-balloon.c    |    4 +-
 hw/virtio-net.c        |    4 +-
 hw/virtio-serial-bus.c |    6 +-
 iov.c                  |  192 +++++++++++++++++++++++++++++++++++++--------------
 iov.h                  |   77 +++++++++++++++++++--
 linux-aio.c            |    4 +-
 net.c                  |    2 +-
 posix-aio-compat.c     |    8 +--
 qemu-common.h          |   56 +++++++--------
 qemu-coroutine-io.c    |   83 +++++++----------------
 tests/Makefile         |    2 +
 tests/test-iov.c       |  260 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 27 files changed, 621 insertions(+), 418 deletions(-)
 create mode 100644 tests/test-iov.c

Comments

Michael Tokarev July 9, 2012, 5:14 p.m. UTC | #1
Ping?  Another month has passed without any reply...

Thanks,

/mjt

On 11.06.2012 23:19, Michael Tokarev wrote:
> On 11.06.2012 22:31, Anthony Liguori wrote:
> []
>> Doesn't build:
>>
>>   LINK  qemu-ga
>> cutils.o: In function `qemu_iovec_to_buf':
>> /home/anthony/git/qemu/cutils.c:226: undefined reference to `iov_to_buf'
> 
> Indeed.  I'm sorry for this.  Just a makefile issue, I'm not really
> sure which of the various *-objs to put this stuff at.  I guess it
> should be placed into every place where cutils.o is referenced,
> since functions from cutils are now just calling functions from
> iov.
> 
>> Not sure why you didn't see this.  Are you not testing with a full build?
> 
> I tested every commit back and forth in turn, but only for
> the main qemu binary build, not for any of the tools builds.
> Even the user target does not build, due to the same issue.
> 
> I just tested complete builds and separate tools builds,
> and verified the resulting qemu-nbd a bit too, it appears
> to work fine.
> 
> This is commit bb09bc0a5e6eb36d67d8e5f1bddb52fa9c80d463,
> "consolidate qemu_iovec_memset{,_skip}() into single function..."
> which needs to be redone to include some more stuff in there.
> It was due to me improperly rebasing changes to 1.1 -- I
> used much more care when forward-ported the C changed, but
> missed trivial Makefile changes.
> 
> I updated this commit, and pushed new branch mjt-iov2 to the
> same location, git://git.corpit.ru/qemu.git .  The new pull
> request is below.
> 
> Besides, with a few Reviewed-By and Signed-off-by, should
> I add the corresponding coments to the commit messages as
> well, when doing the rebase?  And should I also rebase to
> the current qemu/master?
> 
> Please excuse me for for yet another wrong attempt.
> 
> Thanks,
> 
> /mjt
> 
> -----
> The following changes since commit 45270ad8a86a80cca4c59dfa73d9a9ee0688d781:
> 
>   virtio-serial-bus: use correct lengths in control_out() message (2012-06-07 20:43:26 +0400)
> 
> are available in the git repository at:
> 
>   git://git.corpit.ru/qemu.git mjt-iov2
> 
> for you to fetch changes up to 25e5e4c7e9d5ec3e95c9526d1abaca40ada50ab0:
> 
>   rewrite iov_send_recv() and move it to iov.c (2012-06-11 23:12:11 +0400)
> 
> ----------------------------------------------------------------
> Michael Tokarev (10):
>       change iov_* function prototypes to be more appropriate
>       rewrite iov_* functions
>       consolidate qemu_iovec_memset{,_skip}() into single function and use existing iov_memset()
>       allow qemu_iovec_from_buffer() to specify offset from which to start copying
>       consolidate qemu_iovec_copy() and qemu_iovec_concat() and make them consistent
>       change qemu_iovec_to_buf() to match other to,from_buf functions
>       rename qemu_sendv to iov_send, change proto and move declarations to iov.h
>       export iov_send_recv() and use it in iov_send() and iov_recv()
>       cleanup qemu_co_sendv(), qemu_co_recvv() and friends
>       rewrite iov_send_recv() and move it to iov.c
> 
>  Makefile               |    3 +-
>  Makefile.objs          |    4 +-
>  block.c                |   12 ++--
>  block/curl.c           |    6 +-
>  block/iscsi.c          |    3 +-
>  block/nbd.c            |   18 ++---
>  block/qcow.c           |    4 +-
>  block/qcow2.c          |   21 +++---
>  block/qed.c            |   10 +--
>  block/rbd.c            |    4 +-
>  block/sheepdog.c       |    6 +-
>  cutils.c               |  234 ++++++++-------------------------------------------------------
>  hw/9pfs/virtio-9p.c    |    8 +--
>  hw/rtl8139.c           |    2 +-
>  hw/usb/core.c          |    6 +-
>  hw/virtio-balloon.c    |    4 +-
>  hw/virtio-net.c        |    4 +-
>  hw/virtio-serial-bus.c |    6 +-
>  iov.c                  |  192 +++++++++++++++++++++++++++++++++++++--------------
>  iov.h                  |   77 +++++++++++++++++++--
>  linux-aio.c            |    4 +-
>  net.c                  |    2 +-
>  posix-aio-compat.c     |    8 +--
>  qemu-common.h          |   56 +++++++--------
>  qemu-coroutine-io.c    |   83 +++++++----------------
>  tests/Makefile         |    2 +
>  tests/test-iov.c       |  260 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>  27 files changed, 621 insertions(+), 418 deletions(-)
>  create mode 100644 tests/test-iov.c
>
Anthony Liguori July 10, 2012, 1:37 p.m. UTC | #2
On 06/11/2012 02:19 PM, Michael Tokarev wrote:
> On 11.06.2012 22:31, Anthony Liguori wrote:
> []
>> Doesn't build:
>>
>>    LINK  qemu-ga
>> cutils.o: In function `qemu_iovec_to_buf':
>> /home/anthony/git/qemu/cutils.c:226: undefined reference to `iov_to_buf'
>
> Indeed.  I'm sorry for this.  Just a makefile issue, I'm not really
> sure which of the various *-objs to put this stuff at.  I guess it
> should be placed into every place where cutils.o is referenced,
> since functions from cutils are now just calling functions from
> iov.
>
>> Not sure why you didn't see this.  Are you not testing with a full build?
>
> I tested every commit back and forth in turn, but only for
> the main qemu binary build, not for any of the tools builds.
> Even the user target does not build, due to the same issue.
>
> I just tested complete builds and separate tools builds,
> and verified the resulting qemu-nbd a bit too, it appears
> to work fine.
>
> This is commit bb09bc0a5e6eb36d67d8e5f1bddb52fa9c80d463,
> "consolidate qemu_iovec_memset{,_skip}() into single function..."
> which needs to be redone to include some more stuff in there.
> It was due to me improperly rebasing changes to 1.1 -- I
> used much more care when forward-ported the C changed, but
> missed trivial Makefile changes.
>
> I updated this commit, and pushed new branch mjt-iov2 to the
> same location, git://git.corpit.ru/qemu.git .  The new pull
> request is below.
>
> Besides, with a few Reviewed-By and Signed-off-by, should
> I add the corresponding coments to the commit messages as
> well, when doing the rebase?  And should I also rebase to
> the current qemu/master?
>
> Please excuse me for for yet another wrong attempt.
>
> Thanks,
>
> /mjt
>
> -----
> The following changes since commit 45270ad8a86a80cca4c59dfa73d9a9ee0688d781:
>
>    virtio-serial-bus: use correct lengths in control_out() message (2012-06-07 20:43:26 +0400)
>
> are available in the git repository at:
>
>    git://git.corpit.ru/qemu.git mjt-iov2
>
> for you to fetch changes up to 25e5e4c7e9d5ec3e95c9526d1abaca40ada50ab0:
>
>    rewrite iov_send_recv() and move it to iov.c (2012-06-11 23:12:11 +0400)

Pulled.  Thanks.

Regards,

Anthony Liguori

>
> ----------------------------------------------------------------
> Michael Tokarev (10):
>        change iov_* function prototypes to be more appropriate
>        rewrite iov_* functions
>        consolidate qemu_iovec_memset{,_skip}() into single function and use existing iov_memset()
>        allow qemu_iovec_from_buffer() to specify offset from which to start copying
>        consolidate qemu_iovec_copy() and qemu_iovec_concat() and make them consistent
>        change qemu_iovec_to_buf() to match other to,from_buf functions
>        rename qemu_sendv to iov_send, change proto and move declarations to iov.h
>        export iov_send_recv() and use it in iov_send() and iov_recv()
>        cleanup qemu_co_sendv(), qemu_co_recvv() and friends
>        rewrite iov_send_recv() and move it to iov.c
>
>   Makefile               |    3 +-
>   Makefile.objs          |    4 +-
>   block.c                |   12 ++--
>   block/curl.c           |    6 +-
>   block/iscsi.c          |    3 +-
>   block/nbd.c            |   18 ++---
>   block/qcow.c           |    4 +-
>   block/qcow2.c          |   21 +++---
>   block/qed.c            |   10 +--
>   block/rbd.c            |    4 +-
>   block/sheepdog.c       |    6 +-
>   cutils.c               |  234 ++++++++-------------------------------------------------------
>   hw/9pfs/virtio-9p.c    |    8 +--
>   hw/rtl8139.c           |    2 +-
>   hw/usb/core.c          |    6 +-
>   hw/virtio-balloon.c    |    4 +-
>   hw/virtio-net.c        |    4 +-
>   hw/virtio-serial-bus.c |    6 +-
>   iov.c                  |  192 +++++++++++++++++++++++++++++++++++++--------------
>   iov.h                  |   77 +++++++++++++++++++--
>   linux-aio.c            |    4 +-
>   net.c                  |    2 +-
>   posix-aio-compat.c     |    8 +--
>   qemu-common.h          |   56 +++++++--------
>   qemu-coroutine-io.c    |   83 +++++++----------------
>   tests/Makefile         |    2 +
>   tests/test-iov.c       |  260 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>   27 files changed, 621 insertions(+), 418 deletions(-)
>   create mode 100644 tests/test-iov.c
>
>