qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: Michael Tokarev <mjt@tls.msk.ru>
Cc: Kevin Wolf <kwolf@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>,
	qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCHv4 04/11] consolidate qemu_iovec_memset{, _skip}() into single function and use existing iov_memset()
Date: Mon, 19 Mar 2012 15:10:13 -0500	[thread overview]
Message-ID: <4F6792A5.3050409@codemonkey.ws> (raw)
In-Reply-To: <4F679154.9080903@msgid.tls.msk.ru>

On 03/19/2012 03:04 PM, Michael Tokarev wrote:
> On 19.03.2012 18:36, Stefan Hajnoczi wrote:
>> On Fri, Mar 16, 2012 at 11:19:03AM -0500, Anthony Liguori wrote:
>>> On 03/15/2012 04:00 PM, Michael Tokarev wrote:
>>>> This patch combines two functions into one, and replaces
>>>> the implementation with already existing iov_memset() from
>>>> iov.c.
>>>>
>>>> The new prototype of qemu_iovec_memset():
>>>>    size_t qemu_iovec_memset(qiov, size_t offset, int fillc, size_t bytes)
>>>> It is different from former qemu_iovec_memset_skip(), and
>>>> I want to make other functions to be consistent with it
>>>> too: first how much to skip, second what, and 3rd how many
>>>> of it.  It also returns actual number of bytes filled in,
>>>> which may be less than the requested `bytes' if qiov is
>>>> smaller than offset+bytes, in the same way iov_memset()
>>>> does.
>>>>
>>>> While at it, use utility function iov_memset() from
>>>> iov.h in posix-aio-compat.c, where qiov was used.
>>>>
>>>> Signed-off-by: Michael Tokarev<mjt@tls.msk.ru>
>>>
>>> Please CC Kevin at least when making block changes.
>>>
>>> It looks fine to me but would appreciate Kevin/Stefan taking a look too.
>>
>> I am behind and feel that refactorings like this require careful
>> technical review but don't buy us much.
>
> I described what it gives in the cover message.  We've
> several interfaces around the same thing, and even several
> implementations of iov* functions doing the same but with
> different argument order.  When the interface is wrong
> (and in this case it was wrong in argument order), it
> makes new code using it more error-prone.  Note that
> whole thing I'm touching is used in some 10 places only.
>
> Note that I provided a test program for all these functions
> too.

Yeah, and I looked at it, and I believe Paolo gave some feedback which I fully 
agreed with (although I can't find the mail now).

I was expecting you to send another series with the test case included (and 
integrated into make check).

>
> Note also that you were CC'ed only for the patches which
> touches block layer, for a review for the changes in there,
> which is 2 one-liner changes.
>
>>      The best way to get refactoring
>> in is by making it part of a larger series that fixes a bug or adds a
>> feature.
>
> And for these, you'll tell that the changes should be in
> a separate series,
>
>>    I don't have bandwidth for non-trivial cosmetic stuff at the
>> moment, sorry.
>
> What's "bandwidth" in this context?

I think Stefan is just pointing out that given his limited amount of time, he 
doesn't think the change is worth reviewing in detail.

I don't think he means to be offensive, just honest and open which is a good thing.

But since I have a vested interest in getting more test cases written, as I 
mentioned in a previous note, I'll review this series thoroughly and merge it 
when it comes with a test case, so please resubmit.

Regards,

Anthony Liguori

  reply	other threads:[~2012-03-19 20:10 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 [this message]
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
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=4F6792A5.3050409@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=kwolf@redhat.com \
    --cc=mjt@tls.msk.ru \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@linux.vnet.ibm.com \
    /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).