From: Anthony Liguori <anthony@codemonkey.ws>
To: Michael Tokarev <mjt@tls.msk.ru>
Cc: Paolo Bonzini <pbonzini@redhat.com>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCHv4 09/11] export iov_send_recv() and use it in iov_send() and iov_recv()
Date: Fri, 16 Mar 2012 11:21:55 -0500 [thread overview]
Message-ID: <4F6368A3.5060304@codemonkey.ws> (raw)
In-Reply-To: <1331845217-21705-10-git-send-email-mjt@msgid.tls.msk.ru>
On 03/15/2012 04:00 PM, Michael Tokarev wrote:
> Rename do_sendv_recvv() to iov_send_recv(), change its last arg
> (do_send) from int to bool, export it in iov.h, and made the two
> callers of it (iov_send() and iov_recv()) to be trivial #defines
> just adding 5th arg.
>
> iov_send_recv() will be used later.
>
> Signed-off-by: Michael Tokarev<mjt@tls.msk.ru>
> ---
> cutils.c | 17 +++--------------
> iov.h | 10 +++++++---
> 2 files changed, 10 insertions(+), 17 deletions(-)
>
> diff --git a/cutils.c b/cutils.c
> index 2ad5fa3..cb6f638 100644
> --- a/cutils.c
> +++ b/cutils.c
> @@ -376,9 +376,9 @@ int qemu_parse_fd(const char *param)
> return fd;
> }
>
> -static ssize_t do_sendv_recvv(int sockfd, struct iovec *iov,
> - size_t offset, size_t bytes,
> - int do_sendv)
> +ssize_t iov_send_recv(int sockfd, struct iovec *iov,
> + size_t offset, size_t bytes,
> + bool do_sendv)
> {
> int iovlen;
> ssize_t ret;
> @@ -458,14 +458,3 @@ static ssize_t do_sendv_recvv(int sockfd, struct iovec *iov,
> last_iov->iov_len += diff;
> return ret;
> }
> -
> -ssize_t iov_recv(int sockfd, struct iovec *iov, size_t offset, size_t bytes)
> -{
> - return do_sendv_recvv(sockfd, iov, offset, bytes, 0);
> -}
> -
> -ssize_t iov_send(int sockfd, struct iovec *iov, size_t offset, size_t bytes)
> -{
> - return do_sendv_recvv(sockfd, iov, offset, bytes, 1);
> -}
> -
> diff --git a/iov.h b/iov.h
> index 5aa2f45..9b6a883 100644
> --- a/iov.h
> +++ b/iov.h
> @@ -60,7 +60,7 @@ size_t iov_memset(const struct iovec *iov, const unsigned int iov_cnt,
> * `offset' bytes in the beginning of iovec buffer are skipped and
> * next `bytes' bytes are used, which must be within data of iovec.
> *
> - * r = iov_send(sockfd, iov, offset, bytes);
> + * r = iov_send_recv(sockfd, iov, offset, bytes, true);
> *
> * is logically equivalent to
> *
> @@ -69,8 +69,12 @@ size_t iov_memset(const struct iovec *iov, const unsigned int iov_cnt,
> * r = send(sockfd, buf, bytes, 0);
> * free(buf);
> */
> -ssize_t iov_recv(int sockfd, struct iovec *iov, size_t offset, size_t bytes);
> -ssize_t iov_send(int sockfd, struct iovec *iov, size_t offset, size_t bytes);
> +ssize_t iov_send_recv(int sockfd, struct iovec *iov,
> + size_t offset, size_t bytes, bool do_send);
> +#define iov_recv(sockfd, iov, offset, bytes) \
> + iov_send_recv(sockfd, iov, offset, bytes, false)
> +#define iov_send(sockfd, iov, offset, bytes) \
> + iov_send_recv(sockfd, iov, offset, bytes, true)
Please use a static inline instead of a macro. Macros make compiler
errors/warnings confusing.
Regards,
Anthony Liguori
>
> /**
> * Produce a text hexdump of iovec `iov' with `iov_cnt' number of elements
next prev parent reply other threads:[~2012-03-16 16:22 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-15 21:00 [Qemu-devel] [PATCHv4 00/11] cleanup/consolidate iovec functions Michael Tokarev
2012-03-15 21:00 ` [Qemu-devel] [PATCHv4 01/11] virtio-serial-bus: use correct lengths in control_out() message Michael Tokarev
2012-03-16 16:12 ` Anthony Liguori
2012-03-16 16:34 ` Michael Tokarev
2012-03-15 21:00 ` [Qemu-devel] [PATCHv4 02/11] change iov_* function prototypes to be more appropriate Michael Tokarev
2012-03-16 16:14 ` Anthony Liguori
2012-03-16 16:28 ` Michael Tokarev
2012-03-15 21:00 ` [Qemu-devel] [PATCHv4 03/11] rewrite iov_* functions Michael Tokarev
2012-03-16 16:17 ` Anthony Liguori
2012-03-16 19:30 ` Michael Tokarev
2012-03-16 16:17 ` Anthony Liguori
2012-03-15 21:00 ` [Qemu-devel] [PATCHv4 04/11] consolidate qemu_iovec_memset{, _skip}() into single function and use existing iov_memset() Michael Tokarev
2012-03-16 16:19 ` Anthony Liguori
2012-03-19 14:36 ` Stefan Hajnoczi
2012-03-19 20:04 ` Michael Tokarev
2012-03-19 20:10 ` Anthony Liguori
2012-03-20 9:30 ` Stefan Hajnoczi
2012-03-15 21:00 ` [Qemu-devel] [PATCHv4 05/11] allow qemu_iovec_from_buffer() to specify offset from which to start copying Michael Tokarev
2012-03-16 16:19 ` Anthony Liguori
2012-03-16 19:35 ` Michael Tokarev
2012-03-15 21:00 ` [Qemu-devel] [PATCHv4 06/11] consolidate qemu_iovec_copy() and qemu_iovec_concat() and make them consistent Michael Tokarev
2012-03-15 21:00 ` [Qemu-devel] [PATCHv4 07/11] change qemu_iovec_to_buf() to match other to, from_buf functions Michael Tokarev
2012-03-15 21:00 ` [Qemu-devel] [PATCHv4 08/11] rename qemu_sendv to iov_send, change proto and move declarations to iov.h Michael Tokarev
2012-03-15 21:00 ` [Qemu-devel] [PATCHv4 09/11] export iov_send_recv() and use it in iov_send() and iov_recv() Michael Tokarev
2012-03-16 16:21 ` Anthony Liguori [this message]
2012-03-16 16:43 ` Michael Tokarev
2012-03-15 21:00 ` [Qemu-devel] [PATCHv4 10/11] cleanup qemu_co_sendv(), qemu_co_recvv() and friends Michael Tokarev
2012-03-16 16:22 ` Anthony Liguori
2012-03-16 19:37 ` Michael Tokarev
2012-03-15 21:00 ` [Qemu-devel] [PATCHv4 11/11] rewrite iov_send_recv() and move it to iov.c Michael Tokarev
2012-03-16 16:23 ` Anthony Liguori
2012-03-16 11:36 ` [Qemu-devel] [PATCHv4 00/11] cleanup/consolidate iovec functions Paolo Bonzini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4F6368A3.5060304@codemonkey.ws \
--to=anthony@codemonkey.ws \
--cc=mjt@tls.msk.ru \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.