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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).