mbox

[PULL,00/10] Block jobs & NBD patches

Message ID 20220614102910.1431380-1-vsementsov@yandex-team.ru (mailing list archive)
State New, archived
Headers show

Pull-request

https://gitlab.com/vsementsov/qemu.git tags/pull-block-2022-06-14

Message

Vladimir Sementsov-Ogievskiy June 14, 2022, 10:29 a.m. UTC
The following changes since commit debd0753663bc89c86f5462a53268f2e3f680f60:

  Merge tag 'pull-testing-next-140622-1' of https://github.com/stsquad/qemu into staging (2022-06-13 21:10:57 -0700)

are available in the Git repository at:

  https://gitlab.com/vsementsov/qemu.git tags/pull-block-2022-06-14

for you to fetch changes up to 5aef6747a250f545ff53ba7e1a3ed7a3d166011a:

  MAINTAINERS: update Vladimir's address and repositories (2022-06-14 12:51:48 +0300)

----------------------------------------------------------------
Block jobs & NBD patches

- add new options for copy-before-write filter
- new trace points for NBD
- prefer unsigned type for some 'in_flight' fields
- update my addresses in MAINTAINERS (already in Stefan's tree, but
  I think it's OK to send it with this PULL)


Note also, that I've recently updated my pgp key with new address and
new expire time.
Updated key is here: https://keys.openpgp.org/search?q=vsementsov%40yandex-team.ru

----------------------------------------------------------------

Denis V. Lunev (2):
  nbd: trace long NBD operations
  block: use 'unsigned' for in_flight field on driver state

Vladimir Sementsov-Ogievskiy (8):
  block/copy-before-write: refactor option parsing
  block/copy-before-write: add on-cbw-error open parameter
  iotests: add copy-before-write: on-cbw-error tests
  util: add qemu-co-timeout
  block/block-copy: block_copy(): add timeout_ns parameter
  block/copy-before-write: implement cbw-timeout option
  iotests: copy-before-write: add cases for cbw-timeout option
  MAINTAINERS: update Vladimir's address and repositories

 MAINTAINERS                                   |  22 +-
 block/block-copy.c                            |  33 ++-
 block/copy-before-write.c                     | 111 ++++++---
 block/mirror.c                                |   2 +-
 block/nbd.c                                   |   8 +-
 block/trace-events                            |   2 +
 include/block/block-copy.h                    |   4 +-
 include/qemu/coroutine.h                      |  13 ++
 nbd/client-connection.c                       |   2 +
 nbd/trace-events                              |   3 +
 qapi/block-core.json                          |  31 ++-
 tests/qemu-iotests/pylintrc                   |   5 +
 tests/qemu-iotests/tests/copy-before-write    | 213 ++++++++++++++++++
 .../qemu-iotests/tests/copy-before-write.out  |   5 +
 util/meson.build                              |   1 +
 util/qemu-co-timeout.c                        |  89 ++++++++
 16 files changed, 492 insertions(+), 52 deletions(-)
 create mode 100755 tests/qemu-iotests/tests/copy-before-write
 create mode 100644 tests/qemu-iotests/tests/copy-before-write.out
 create mode 100644 util/qemu-co-timeout.c

Comments

Richard Henderson June 14, 2022, 6:05 p.m. UTC | #1
On 6/14/22 03:29, Vladimir Sementsov-Ogievskiy wrote:
> The following changes since commit debd0753663bc89c86f5462a53268f2e3f680f60:
> 
>    Merge tag 'pull-testing-next-140622-1' of https://github.com/stsquad/qemu into staging (2022-06-13 21:10:57 -0700)
> 
> are available in the Git repository at:
> 
>    https://gitlab.com/vsementsov/qemu.git tags/pull-block-2022-06-14
> 
> for you to fetch changes up to 5aef6747a250f545ff53ba7e1a3ed7a3d166011a:
> 
>    MAINTAINERS: update Vladimir's address and repositories (2022-06-14 12:51:48 +0300)
> 
> ----------------------------------------------------------------
> Block jobs & NBD patches
> 
> - add new options for copy-before-write filter
> - new trace points for NBD
> - prefer unsigned type for some 'in_flight' fields
> - update my addresses in MAINTAINERS (already in Stefan's tree, but
>    I think it's OK to send it with this PULL)
> 
> 
> Note also, that I've recently updated my pgp key with new address and
> new expire time.
> Updated key is here: https://keys.openpgp.org/search?q=vsementsov%40yandex-team.ru

This introduces or exposes new timeouts:

https://gitlab.com/qemu-project/qemu/-/pipelines/563590515/failures


r~
Vladimir Sementsov-Ogievskiy June 15, 2022, 9:47 a.m. UTC | #2
On 6/14/22 21:05, Richard Henderson wrote:
> On 6/14/22 03:29, Vladimir Sementsov-Ogievskiy wrote:
>> The following changes since commit debd0753663bc89c86f5462a53268f2e3f680f60:
>>
>>    Merge tag 'pull-testing-next-140622-1' of https://github.com/stsquad/qemu into staging (2022-06-13 21:10:57 -0700)
>>
>> are available in the Git repository at:
>>
>>    https://gitlab.com/vsementsov/qemu.git tags/pull-block-2022-06-14
>>
>> for you to fetch changes up to 5aef6747a250f545ff53ba7e1a3ed7a3d166011a:
>>
>>    MAINTAINERS: update Vladimir's address and repositories (2022-06-14 12:51:48 +0300)
>>
>> ----------------------------------------------------------------
>> Block jobs & NBD patches
>>
>> - add new options for copy-before-write filter
>> - new trace points for NBD
>> - prefer unsigned type for some 'in_flight' fields
>> - update my addresses in MAINTAINERS (already in Stefan's tree, but
>>    I think it's OK to send it with this PULL)
>>
>>
>> Note also, that I've recently updated my pgp key with new address and
>> new expire time.
>> Updated key is here: https://keys.openpgp.org/search?q=vsementsov%40yandex-team.ru
> 
> This introduces or exposes new timeouts:
> 
> https://gitlab.com/qemu-project/qemu/-/pipelines/563590515/failures
> 

Not obvious from logs, which iotest hangs. But excluding iotests that passed, it becomes obvious that problem is in copy-before-write iotest, which is added and then updated in the series..

And most probably, that's a new timeout feature, that doesn't work (patches 04-07).. It works for me locally still. I'd be glad if someone could look it through.

I think, for now, I'll just resend a pull request without these 4 patches.

Also, could/should I run all these test pipelines on gitlab by hand before sending a PULL request? Or can I rerun them on my qemu fork for debugging?
Richard Henderson June 15, 2022, 2:39 p.m. UTC | #3
On 6/15/22 02:47, Vladimir Sementsov-Ogievskiy wrote:
> Also, could/should I run all these test pipelines on gitlab by hand before sending a PULL 
> request? Or can I rerun them on my qemu fork for debugging?

The first thing I'd try is make vm-build-<image> and make docker-test-full@<image>.

Either or both will reproduce the docker environment being used on gitlab.
If that fails to reproduce, it could be a difference in kernels, at which point I don't 
know how to advise.

It would be a good idea to run those test pipelines manually before the next PULL.


r~