mbox

[PULL,0/5] NBD patches for 2017-09-06

Message ID 20170906152111.16958-1-eblake@redhat.com
State New
Headers show

Pull-request

git://repo.or.cz/qemu/ericb.git tags/pull-nbd-2017-09-06

Message

Eric Blake Sept. 6, 2017, 3:21 p.m. UTC
The following changes since commit b07d1c2f5607489d4d4a6a65ce36a3e896ac065e:

  Revert "kvm: use DIV_ROUND_UP" (2017-09-05 18:55:40 +0100)

are available in the git repository at:

  git://repo.or.cz/qemu/ericb.git tags/pull-nbd-2017-09-06

for you to fetch changes up to 030fa7f6f950f5c8963f1dee8e6bb7387ed86a99:

  nbd: Use new qio_channel_*_all() functions (2017-09-06 10:11:54 -0500)

----------------------------------------------------------------
nbd patches for 2017-09-06

- Daniel P. Berrange: [0/2] Fix / skip recent iotests with LUKS driver
- Eric Blake: [0/3] nbd: Use common read/write-all qio functions

----------------------------------------------------------------
Daniel P. Berrange (2):
      iotests: rewrite 192 to use _launch_qemu to fix LUKS support
      iotests: blacklist 194 with the luks driver

Eric Blake (3):
      io: Yield rather than wait when already in coroutine
      io: Add new qio_channel_read{, v}_all_eof functions
      nbd: Use new qio_channel_*_all() functions

 include/block/nbd.h           |  2 --
 include/io/channel.h          | 53 ++++++++++++++++++++++++++++++++++++++
 nbd/nbd-internal.h            | 41 +++++------------------------
 block/nbd-client.c            | 15 +++++------
 io/channel.c                  | 60 +++++++++++++++++++++++++++++++++++--------
 nbd/common.c                  | 45 --------------------------------
 tests/qemu-iotests/083.out    |  8 +++---
 tests/qemu-iotests/192        | 23 ++++++++++++-----
 tests/qemu-iotests/194        |  1 +
 tests/qemu-iotests/iotests.py |  4 ++-
 10 files changed, 141 insertions(+), 111 deletions(-)

Comments

Peter Maydell Sept. 7, 2017, 12:26 p.m. UTC | #1
On 6 September 2017 at 16:21, Eric Blake <eblake@redhat.com> wrote:
> The following changes since commit b07d1c2f5607489d4d4a6a65ce36a3e896ac065e:
>
>   Revert "kvm: use DIV_ROUND_UP" (2017-09-05 18:55:40 +0100)
>
> are available in the git repository at:
>
>   git://repo.or.cz/qemu/ericb.git tags/pull-nbd-2017-09-06
>
> for you to fetch changes up to 030fa7f6f950f5c8963f1dee8e6bb7387ed86a99:
>
>   nbd: Use new qio_channel_*_all() functions (2017-09-06 10:11:54 -0500)
>
> ----------------------------------------------------------------
> nbd patches for 2017-09-06
>
> - Daniel P. Berrange: [0/2] Fix / skip recent iotests with LUKS driver
> - Eric Blake: [0/3] nbd: Use common read/write-all qio functions
>
> ----------------------------------------------------------------
> Daniel P. Berrange (2):
>       iotests: rewrite 192 to use _launch_qemu to fix LUKS support
>       iotests: blacklist 194 with the luks driver
>
> Eric Blake (3):
>       io: Yield rather than wait when already in coroutine
>       io: Add new qio_channel_read{, v}_all_eof functions
>       nbd: Use new qio_channel_*_all() functions

I get an error in test-aio-multithread (clang, linux, x86-64):
  GTESTER tests/test-aio-multithread
**
ERROR:/home/petmay01/linaro/qemu-for-merges/tests/test-aio-multithread.c:368:test_multi_fair_mutex:
assertion failed (counter == atomic_counter): (532693 == 532694)
GTester: last random seed: R02Sa68ef1eb4822359eb869642ff26180df

Seems to be very intermittent, though -- I haven't been able
to reproduce it, even with loading the box up with a
compile job at the same time.

thanks
-- PMM
Eric Blake Sept. 7, 2017, 1:48 p.m. UTC | #2
On 09/07/2017 07:26 AM, Peter Maydell wrote:
> On 6 September 2017 at 16:21, Eric Blake <eblake@redhat.com> wrote:
>> The following changes since commit b07d1c2f5607489d4d4a6a65ce36a3e896ac065e:
>>
>>   Revert "kvm: use DIV_ROUND_UP" (2017-09-05 18:55:40 +0100)
>>
>> are available in the git repository at:
>>
>>   git://repo.or.cz/qemu/ericb.git tags/pull-nbd-2017-09-06
>>
>> for you to fetch changes up to 030fa7f6f950f5c8963f1dee8e6bb7387ed86a99:
>>
>>   nbd: Use new qio_channel_*_all() functions (2017-09-06 10:11:54 -0500)
>>

> I get an error in test-aio-multithread (clang, linux, x86-64):
>   GTESTER tests/test-aio-multithread
> **
> ERROR:/home/petmay01/linaro/qemu-for-merges/tests/test-aio-multithread.c:368:test_multi_fair_mutex:
> assertion failed (counter == atomic_counter): (532693 == 532694)
> GTester: last random seed: R02Sa68ef1eb4822359eb869642ff26180df

I wonder if that is a rare but pre-existing bug, as I don't see any use
of qio_channel in test-aio-multithread, and therefore no obvious way
that this series would be the cause of the intermittent failure.

> 
> Seems to be very intermittent, though -- I haven't been able
> to reproduce it, even with loading the box up with a
> compile job at the same time.

Paolo, this appears to be your area of expertise.
Daniel P. Berrangé Sept. 7, 2017, 1:53 p.m. UTC | #3
On Thu, Sep 07, 2017 at 08:48:15AM -0500, Eric Blake wrote:
> On 09/07/2017 07:26 AM, Peter Maydell wrote:
> > On 6 September 2017 at 16:21, Eric Blake <eblake@redhat.com> wrote:
> >> The following changes since commit b07d1c2f5607489d4d4a6a65ce36a3e896ac065e:
> >>
> >>   Revert "kvm: use DIV_ROUND_UP" (2017-09-05 18:55:40 +0100)
> >>
> >> are available in the git repository at:
> >>
> >>   git://repo.or.cz/qemu/ericb.git tags/pull-nbd-2017-09-06
> >>
> >> for you to fetch changes up to 030fa7f6f950f5c8963f1dee8e6bb7387ed86a99:
> >>
> >>   nbd: Use new qio_channel_*_all() functions (2017-09-06 10:11:54 -0500)
> >>
> 
> > I get an error in test-aio-multithread (clang, linux, x86-64):
> >   GTESTER tests/test-aio-multithread
> > **
> > ERROR:/home/petmay01/linaro/qemu-for-merges/tests/test-aio-multithread.c:368:test_multi_fair_mutex:
> > assertion failed (counter == atomic_counter): (532693 == 532694)
> > GTester: last random seed: R02Sa68ef1eb4822359eb869642ff26180df
> 
> I wonder if that is a rare but pre-existing bug, as I don't see any use
> of qio_channel in test-aio-multithread, and therefore no obvious way
> that this series would be the cause of the intermittent failure.

Agreed. Even if there was use of QIOChannel, there is certainly no use
of the qio_channel_read|write_all functions that are being changed
in this series, since they've only just been added to QEMU and are only
used in the test suite and your final NBD patch here. So I think this
must be a pre-existing race condition.

Regards,
Daniel
Peter Maydell Sept. 7, 2017, 5:56 p.m. UTC | #4
On 7 September 2017 at 14:53, Daniel P. Berrange <berrange@redhat.com> wrote:
> On Thu, Sep 07, 2017 at 08:48:15AM -0500, Eric Blake wrote:
>> On 09/07/2017 07:26 AM, Peter Maydell wrote:
>> > On 6 September 2017 at 16:21, Eric Blake <eblake@redhat.com> wrote:
>> >> The following changes since commit b07d1c2f5607489d4d4a6a65ce36a3e896ac065e:
>> >>
>> >>   Revert "kvm: use DIV_ROUND_UP" (2017-09-05 18:55:40 +0100)
>> >>
>> >> are available in the git repository at:
>> >>
>> >>   git://repo.or.cz/qemu/ericb.git tags/pull-nbd-2017-09-06
>> >>
>> >> for you to fetch changes up to 030fa7f6f950f5c8963f1dee8e6bb7387ed86a99:
>> >>
>> >>   nbd: Use new qio_channel_*_all() functions (2017-09-06 10:11:54 -0500)
>> >>
>>
>> > I get an error in test-aio-multithread (clang, linux, x86-64):
>> >   GTESTER tests/test-aio-multithread
>> > **
>> > ERROR:/home/petmay01/linaro/qemu-for-merges/tests/test-aio-multithread.c:368:test_multi_fair_mutex:
>> > assertion failed (counter == atomic_counter): (532693 == 532694)
>> > GTester: last random seed: R02Sa68ef1eb4822359eb869642ff26180df
>>
>> I wonder if that is a rare but pre-existing bug, as I don't see any use
>> of qio_channel in test-aio-multithread, and therefore no obvious way
>> that this series would be the cause of the intermittent failure.
>
> Agreed. Even if there was use of QIOChannel, there is certainly no use
> of the qio_channel_read|write_all functions that are being changed
> in this series, since they've only just been added to QEMU and are only
> used in the test suite and your final NBD patch here. So I think this
> must be a pre-existing race condition.

OK. I've applied the pullreq.

thanks
-- PMM