[PULL 00/14] Block layer patches

2023-09-04 Thread Kevin Wolf
The following changes since commit 17780edd81d27fcfdb7a802efc870a99788bd2fc:

  Merge tag 'quick-fix-pull-request' of https://gitlab.com/bsdimp/qemu into 
staging (2023-08-31 10:06:29 -0400)

are available in the Git repository at:

  https://repo.or.cz/qemu/kevin.git tags/for-upstream

for you to fetch changes up to bb86eb45297840c31dbc4df6bac02e50596f2376:

  block: Remove unnecessary variable in bdrv_block_device_info (2023-09-04 
11:03:28 +0200)


Block layer patches

- Process I/O in the current AioContext (instead of the BB AioContext)
- Optimise reqs_lock to make multiqueue actually scale
- iotests: Fix reference output for some tests after recent changes
- vpc: Avoid dynamic stack allocation
- Code cleanup, improved documentation


Dmitry Frolov (1):
  vmdk: Clean up bdrv_open_child() return value check

Fabiano Rosas (2):
  block: Remove bdrv_query_block_node_info
  block: Remove unnecessary variable in bdrv_block_device_info

Fiona Ebner (1):
  iotests: adapt test output for new qemu_cleanup() behavior

Hanna Czenczek (1):
  block: Be more verbose in create fallback

Kevin Wolf (1):
  qemu-img: Update documentation for compressed images

Michael Tokarev (1):
  qemu-img: omit errno value in error message

Peter Maydell (1):
  block/iscsi: Document why we use raw malloc()

Philippe Mathieu-Daudé (1):
  block/vpc: Avoid dynamic stack allocation

Stefan Hajnoczi (5):
  block: minimize bs->reqs_lock section in tracked_request_end()
  block: change reqs_lock to QemuMutex
  block: remove AIOCBInfo->get_aio_context()
  block-backend: process I/O in the current AioContext
  block-backend: process zoned requests in the current AioContext

 docs/tools/qemu-img.rst| 19 --
 include/block/aio.h|  1 -
 include/block/block-global-state.h |  2 ++
 include/block/block-io.h   |  1 -
 include/block/block_int-common.h   |  2 +-
 include/block/qapi.h   |  3 ---
 block.c| 10 ---
 block/block-backend.c  | 35 +++--
 block/io.c | 53 +++---
 block/iscsi.c  |  1 +
 block/qapi.c   | 32 ++-
 block/vmdk.c   |  2 +-
 block/vpc.c|  4 +--
 hw/nvme/ctrl.c |  7 -
 qemu-img.c |  4 +--
 softmmu/dma-helpers.c  |  8 --
 util/thread-pool.c |  8 --
 tests/qemu-iotests/080.out |  6 ++---
 tests/qemu-iotests/109.out | 24 +
 tests/qemu-iotests/112.out |  6 ++---
 tests/qemu-iotests/185 |  2 ++
 tests/qemu-iotests/185.out |  4 +++
 tests/qemu-iotests/244.out |  2 +-
 23 files changed, 107 insertions(+), 129 deletions(-)




[PULL 00/14] Block layer patches

2021-05-14 Thread Kevin Wolf
The following changes since commit 96662996eda78c48aa4e76d8615c7eb72d80:

  Merge remote-tracking branch 'remotes/dgilbert/tags/pull-migration-20210513a' 
into staging (2021-05-14 12:03:47 +0100)

are available in the Git repository at:

  git://repo.or.cz/qemu/kevin.git tags/for-upstream

for you to fetch changes up to b773c9fb68ceff9a9692409d7afbc5d6865983c6:

  vhost-user-blk: Check that num-queues is supported by backend (2021-05-14 
18:04:27 +0200)


Block layer patches

- vhost-user-blk: Fix error handling during initialisation
- Add test cases for the vhost-user-blk export
- Fix leaked Transaction objects
- qcow2: Expose dirty bit in 'qemu-img info'


Coiby Xu (1):
  test: new qTest case to test the vhost-user-blk-server

Kevin Wolf (8):
  block: Fix Transaction leak in bdrv_root_attach_child()
  block: Fix Transaction leak in bdrv_reopen_multiple()
  vhost-user-blk: Make sure to set Error on realize failure
  vhost-user-blk: Don't reconnect during initialisation
  vhost-user-blk: Improve error reporting in realize
  vhost-user-blk: Get more feature flags from vhost device
  virtio: Fail if iommu_platform is requested, but unsupported
  vhost-user-blk: Check that num-queues is supported by backend

Michael Tokarev (1):
  qapi: spelling fix (addtional)

Stefan Hajnoczi (3):
  block/export: improve vu_blk_sect_range_ok()
  tests/qtest: add multi-queue test case to vhost-user-blk-test
  vhost-user-blk-test: test discard/write zeroes invalid inputs

Vladimir Sementsov-Ogievskiy (1):
  qcow2: set bdi->is_dirty

 qapi/qom.json|   4 +-
 include/hw/virtio/vhost.h|   2 +
 tests/qtest/libqos/vhost-user-blk.h  |  48 ++
 block.c  |   9 +-
 block/export/vhost-user-blk-server.c |   9 +-
 block/qcow2.c|   1 +
 hw/block/vhost-user-blk.c|  85 ++-
 hw/virtio/vhost-user.c   |   5 +
 hw/virtio/virtio-bus.c   |   5 +
 tests/qtest/libqos/vhost-user-blk.c  | 130 +
 tests/qtest/vhost-user-blk-test.c| 989 +++
 MAINTAINERS  |   2 +
 tests/qtest/libqos/meson.build   |   1 +
 tests/qtest/meson.build  |   4 +
 14 files changed, 1232 insertions(+), 62 deletions(-)
 create mode 100644 tests/qtest/libqos/vhost-user-blk.h
 create mode 100644 tests/qtest/libqos/vhost-user-blk.c
 create mode 100644 tests/qtest/vhost-user-blk-test.c




[PULL 00/14] Block layer patches

2024-01-19 Thread Kevin Wolf
The following changes since commit 3f2a357b95845ea0bf7463eff6661e43b97d1afc:

  Merge tag 'hw-cpus-20240119' of https://github.com/philmd/qemu into staging 
(2024-01-19 11:39:38 +)

are available in the Git repository at:

  https://repo.or.cz/qemu/kevin.git tags/for-upstream

for you to fetch changes up to ced0d71c5270bed828ed2bd4b116ddfb12862bf9:

  block/blklogwrites: Protect mutable driver state with a mutex. (2024-01-19 
18:45:44 +0100)


Block layer patches

- virtio-blk: Multiqueue fixes and cleanups
- blklogwrites: Fixes for write_zeroes and superblock update races
- commit/stream: Allow users to request only format driver names in
  backing file format
- monitor: only run coroutine commands in qemu_aio_context


Ari Sundholm (2):
  block/blklogwrites: Fix a bug when logging "write zeroes" operations.
  block/blklogwrites: Protect mutable driver state with a mutex.

Kevin Wolf (1):
  string-output-visitor: Fix (pseudo) struct handling

Peter Krempa (2):
  commit: Allow users to request only format driver names in backing file 
format
  stream: Allow users to request only format driver names in backing file 
format

Stefan Hajnoczi (9):
  iotests: add filter_qmp_generated_node_ids()
  iotests: port 141 to Python for reliable QMP testing
  monitor: only run coroutine commands in qemu_aio_context
  virtio-blk: move dataplane code into virtio-blk.c
  virtio-blk: rename dataplane create/destroy functions
  virtio-blk: rename dataplane to ioeventfd
  virtio-blk: restart s->rq reqs in vq AioContexts
  virtio-blk: tolerate failure to set BlockBackend AioContext
  virtio-blk: always set ioeventfd during startup

 qapi/block-core.json  |  17 +-
 hw/block/dataplane/trace.h|   1 -
 hw/block/dataplane/virtio-blk.h   |  34 ---
 include/block/block-global-state.h|   3 +-
 include/block/block_int-common.h  |   4 +-
 include/block/block_int-global-state.h|   6 +
 include/hw/virtio/virtio-blk.h|  16 +-
 block.c   |  37 ++-
 block/blklogwrites.c  | 120 ++--
 block/commit.c|   6 +-
 block/monitor/block-hmp-cmds.c|   2 +-
 block/stream.c|  10 +-
 blockdev.c|  13 +
 hw/block/dataplane/virtio-blk.c   | 404 -
 hw/block/virtio-blk.c | 412 --
 monitor/qmp.c |  17 --
 qapi/qmp-dispatch.c   |  24 +-
 qapi/string-output-visitor.c  |  46 +++
 tests/unit/test-bdrv-drain.c  |   3 +-
 tests/qemu-iotests/iotests.py |   7 +
 hw/block/dataplane/meson.build|   1 -
 hw/block/dataplane/trace-events   |   5 -
 meson.build   |   1 -
 tests/qemu-iotests/060.out|   4 +-
 tests/qemu-iotests/071.out|   4 +-
 tests/qemu-iotests/081.out|  16 +-
 tests/qemu-iotests/087.out|  12 +-
 tests/qemu-iotests/108.out|   2 +-
 tests/qemu-iotests/109|   4 +-
 tests/qemu-iotests/109.out|  78 +++--
 tests/qemu-iotests/117.out|   2 +-
 tests/qemu-iotests/120.out|   2 +-
 tests/qemu-iotests/127.out|   2 +-
 tests/qemu-iotests/140.out|   2 +-
 tests/qemu-iotests/141| 307 ---
 tests/qemu-iotests/141.out| 200 +++--
 tests/qemu-iotests/143.out|   2 +-
 tests/qemu-iotests/156.out|   2 +-
 tests/qemu-iotests/176.out|  16 +-
 tests/qemu-iotests/182.out|   2 +-
 tests/qemu-iotests/183.out|   4 +-
 tests/qemu-iotests/184.out|  32 +-
 tests/qemu-iotests/185|   6 +-
 tests/qemu-iotests/185.out|  45 ++-
 tests/qemu-iotests/191.out|  16 +-
 tests/qemu-iotests/195.out|  16 +-
 tests/qemu-iotests/223.out|  12 +-
 tests/qemu-iotests/227.out|  32 +-
 tests/qemu-iotests/247.out|   2 +-
 tests/qemu-iotests/273.out|   8 +-
 tests/qemu-iotests/308|   4 +-
 tests/qemu-iotests/308.out|   4 +-
 tests/qemu-iotests/tests/file-io-error|   5 +-
 tests/qemu-iotests/tests/iothreads-resize.out |   2 +-
 tests/qemu-iotests/tests/qsd-jobs.out |   4 +-
 55 files c

Re: [PULL 00/14] Block layer patches

2023-09-06 Thread Stefan Hajnoczi
test-bdrv-drain is failing. I think my coroutine wrapper patch might
be necessary:
https://gitlab.com/qemu-project/qemu/-/jobs/5029372308#L4907

I have dropped this patch series for the time being. Feel free to
remove my patches and send a new revision.

I will debug the test-bdrv-drain issue.

Stefan

On Mon, 4 Sept 2023 at 10:37, Kevin Wolf  wrote:
>
> The following changes since commit 17780edd81d27fcfdb7a802efc870a99788bd2fc:
>
>   Merge tag 'quick-fix-pull-request' of https://gitlab.com/bsdimp/qemu into 
> staging (2023-08-31 10:06:29 -0400)
>
> are available in the Git repository at:
>
>   https://repo.or.cz/qemu/kevin.git tags/for-upstream
>
> for you to fetch changes up to bb86eb45297840c31dbc4df6bac02e50596f2376:
>
>   block: Remove unnecessary variable in bdrv_block_device_info (2023-09-04 
> 11:03:28 +0200)
>
> 
> Block layer patches
>
> - Process I/O in the current AioContext (instead of the BB AioContext)
> - Optimise reqs_lock to make multiqueue actually scale
> - iotests: Fix reference output for some tests after recent changes
> - vpc: Avoid dynamic stack allocation
> - Code cleanup, improved documentation
>
> 
> Dmitry Frolov (1):
>   vmdk: Clean up bdrv_open_child() return value check
>
> Fabiano Rosas (2):
>   block: Remove bdrv_query_block_node_info
>   block: Remove unnecessary variable in bdrv_block_device_info
>
> Fiona Ebner (1):
>   iotests: adapt test output for new qemu_cleanup() behavior
>
> Hanna Czenczek (1):
>   block: Be more verbose in create fallback
>
> Kevin Wolf (1):
>   qemu-img: Update documentation for compressed images
>
> Michael Tokarev (1):
>   qemu-img: omit errno value in error message
>
> Peter Maydell (1):
>   block/iscsi: Document why we use raw malloc()
>
> Philippe Mathieu-Daudé (1):
>   block/vpc: Avoid dynamic stack allocation
>
> Stefan Hajnoczi (5):
>   block: minimize bs->reqs_lock section in tracked_request_end()
>   block: change reqs_lock to QemuMutex
>   block: remove AIOCBInfo->get_aio_context()
>   block-backend: process I/O in the current AioContext
>   block-backend: process zoned requests in the current AioContext
>
>  docs/tools/qemu-img.rst| 19 --
>  include/block/aio.h|  1 -
>  include/block/block-global-state.h |  2 ++
>  include/block/block-io.h   |  1 -
>  include/block/block_int-common.h   |  2 +-
>  include/block/qapi.h   |  3 ---
>  block.c| 10 ---
>  block/block-backend.c  | 35 +++--
>  block/io.c | 53 
> +++---
>  block/iscsi.c  |  1 +
>  block/qapi.c   | 32 ++-
>  block/vmdk.c   |  2 +-
>  block/vpc.c|  4 +--
>  hw/nvme/ctrl.c |  7 -
>  qemu-img.c |  4 +--
>  softmmu/dma-helpers.c  |  8 --
>  util/thread-pool.c |  8 --
>  tests/qemu-iotests/080.out |  6 ++---
>  tests/qemu-iotests/109.out | 24 +
>  tests/qemu-iotests/112.out |  6 ++---
>  tests/qemu-iotests/185 |  2 ++
>  tests/qemu-iotests/185.out |  4 +++
>  tests/qemu-iotests/244.out |  2 +-
>  23 files changed, 107 insertions(+), 129 deletions(-)
>
>



Re: [PULL 00/14] Block layer patches

2023-09-07 Thread Kevin Wolf
Am 06.09.2023 um 17:13 hat Stefan Hajnoczi geschrieben:
> test-bdrv-drain is failing. I think my coroutine wrapper patch might
> be necessary:
> https://gitlab.com/qemu-project/qemu/-/jobs/5029372308#L4907
> 
> I have dropped this patch series for the time being. Feel free to
> remove my patches and send a new revision.
> 
> I will debug the test-bdrv-drain issue.

Hm, I can't reproduce it. And even in CI only seems to have happened in
this one job (ubuntu-20.04-s390x-all).

If you think that it's caused by your patches, I can drop them for v2.

Kevin




Re: [PULL 00/14] Block layer patches

2021-05-16 Thread Philippe Mathieu-Daudé
On 5/14/21 6:31 PM, Kevin Wolf wrote:
> The following changes since commit 96662996eda78c48aa4e76d8615c7eb72d80:
> 
>   Merge remote-tracking branch 
> 'remotes/dgilbert/tags/pull-migration-20210513a' into staging (2021-05-14 
> 12:03:47 +0100)
> 
> are available in the Git repository at:
> 
>   git://repo.or.cz/qemu/kevin.git tags/for-upstream
> 
> for you to fetch changes up to b773c9fb68ceff9a9692409d7afbc5d6865983c6:
> 
>   vhost-user-blk: Check that num-queues is supported by backend (2021-05-14 
> 18:04:27 +0200)
> 
> 
> Block layer patches
> 
> - vhost-user-blk: Fix error handling during initialisation
> - Add test cases for the vhost-user-blk export
> - Fix leaked Transaction objects
> - qcow2: Expose dirty bit in 'qemu-img info'
> 
> 
> Coiby Xu (1):
>   test: new qTest case to test the vhost-user-blk-server

Not sure if worth blocking the pull request, but this new test
breaks builds using --disable-tools (therefore breaks bisection).




Re: [PULL 00/14] Block layer patches

2021-05-17 Thread Peter Maydell
On Sun, 16 May 2021 at 22:09, Philippe Mathieu-Daudé  wrote:
>
> On 5/14/21 6:31 PM, Kevin Wolf wrote:
> > The following changes since commit 96662996eda78c48aa4e76d8615c7eb72d80:
> >
> >   Merge remote-tracking branch 
> > 'remotes/dgilbert/tags/pull-migration-20210513a' into staging (2021-05-14 
> > 12:03:47 +0100)
> >
> > are available in the Git repository at:
> >
> >   git://repo.or.cz/qemu/kevin.git tags/for-upstream
> >
> > for you to fetch changes up to b773c9fb68ceff9a9692409d7afbc5d6865983c6:
> >
> >   vhost-user-blk: Check that num-queues is supported by backend (2021-05-14 
> > 18:04:27 +0200)
> >
> > 
> > Block layer patches
> >
> > - vhost-user-blk: Fix error handling during initialisation
> > - Add test cases for the vhost-user-blk export
> > - Fix leaked Transaction objects
> > - qcow2: Expose dirty bit in 'qemu-img info'
> >
> > 
> > Coiby Xu (1):
> >   test: new qTest case to test the vhost-user-blk-server
>
> Not sure if worth blocking the pull request, but this new test
> breaks builds using --disable-tools (therefore breaks bisection).

Since I hadn't got as far as applying it, I'll drop the pullreq so
that can be fixed.

-- PMM



Re: [PULL 00/14] Block layer patches

2024-01-20 Thread Peter Maydell
On Fri, 19 Jan 2024 at 18:15, Kevin Wolf  wrote:
>
> The following changes since commit 3f2a357b95845ea0bf7463eff6661e43b97d1afc:
>
>   Merge tag 'hw-cpus-20240119' of https://github.com/philmd/qemu into staging 
> (2024-01-19 11:39:38 +)
>
> are available in the Git repository at:
>
>   https://repo.or.cz/qemu/kevin.git tags/for-upstream
>
> for you to fetch changes up to ced0d71c5270bed828ed2bd4b116ddfb12862bf9:
>
>   block/blklogwrites: Protect mutable driver state with a mutex. (2024-01-19 
> 18:45:44 +0100)
>
> 
> Block layer patches
>
> - virtio-blk: Multiqueue fixes and cleanups
> - blklogwrites: Fixes for write_zeroes and superblock update races
> - commit/stream: Allow users to request only format driver names in
>   backing file format
> - monitor: only run coroutine commands in qemu_aio_context
>
> 

Got some compile failures on this one; looks like the compiler
on our s390 box didn't like this:

https://gitlab.com/qemu-project/qemu/-/jobs/5973441293
https://gitlab.com/qemu-project/qemu/-/jobs/5973441291
https://gitlab.com/qemu-project/qemu/-/jobs/5973441330

In file included from ../include/qemu/host-utils.h:33,
from ../include/qemu/bitops.h:16,
from ../include/qemu/timer.h:4,
from ../include/block/aio.h:24,
from ../include/block/aio-wait.h:28,
from ../include/block/block-io.h:27,
from ../block/blklogwrites.c:15:
../block/blklogwrites.c: In function ‘blk_log_writes_co_do_log’:
../include/qemu/bswap.h:148:36: error: left shift count >= width of
type [-Werror=shift-count-overflow]
148 | _x) & 0x00ffU) << 56) | \
| ^~
../block/blklogwrites.c:409:27: note: in expansion of macro ‘const_le64’
409 | .nr_entries = const_le64(0),
| ^~
../include/qemu/bswap.h:149:36: error: left shift count >= width of
type [-Werror=shift-count-overflow]
149 | (((_x) & 0xff00U) << 40) | \
| ^~
../block/blklogwrites.c:409:27: note: in expansion of macro ‘const_le64’
409 | .nr_entries = const_le64(0),
| ^~
cc1: all warnings being treated as errors

thanks
-- PMM



Re: [PULL 00/14] Block layer patches

2024-01-22 Thread Kevin Wolf
Am 20.01.2024 um 18:21 hat Peter Maydell geschrieben:
> On Fri, 19 Jan 2024 at 18:15, Kevin Wolf  wrote:
> >
> > The following changes since commit 3f2a357b95845ea0bf7463eff6661e43b97d1afc:
> >
> >   Merge tag 'hw-cpus-20240119' of https://github.com/philmd/qemu into 
> > staging (2024-01-19 11:39:38 +)
> >
> > are available in the Git repository at:
> >
> >   https://repo.or.cz/qemu/kevin.git tags/for-upstream
> >
> > for you to fetch changes up to ced0d71c5270bed828ed2bd4b116ddfb12862bf9:
> >
> >   block/blklogwrites: Protect mutable driver state with a mutex. 
> > (2024-01-19 18:45:44 +0100)
> >
> > 
> > Block layer patches
> >
> > - virtio-blk: Multiqueue fixes and cleanups
> > - blklogwrites: Fixes for write_zeroes and superblock update races
> > - commit/stream: Allow users to request only format driver names in
> >   backing file format
> > - monitor: only run coroutine commands in qemu_aio_context
> >
> > 
> 
> Got some compile failures on this one; looks like the compiler
> on our s390 box didn't like this:
> 
> https://gitlab.com/qemu-project/qemu/-/jobs/5973441293
> https://gitlab.com/qemu-project/qemu/-/jobs/5973441291
> https://gitlab.com/qemu-project/qemu/-/jobs/5973441330
> 
> In file included from ../include/qemu/host-utils.h:33,
> from ../include/qemu/bitops.h:16,
> from ../include/qemu/timer.h:4,
> from ../include/block/aio.h:24,
> from ../include/block/aio-wait.h:28,
> from ../include/block/block-io.h:27,
> from ../block/blklogwrites.c:15:
> ../block/blklogwrites.c: In function ‘blk_log_writes_co_do_log’:
> ../include/qemu/bswap.h:148:36: error: left shift count >= width of
> type [-Werror=shift-count-overflow]
> 148 | _x) & 0x00ffU) << 56) | \
> | ^~
> ../block/blklogwrites.c:409:27: note: in expansion of macro ‘const_le64’
> 409 | .nr_entries = const_le64(0),
> | ^~
> ../include/qemu/bswap.h:149:36: error: left shift count >= width of
> type [-Werror=shift-count-overflow]
> 149 | (((_x) & 0xff00U) << 40) | \
> | ^~
> ../block/blklogwrites.c:409:27: note: in expansion of macro ‘const_le64’
> 409 | .nr_entries = const_le64(0),
> | ^~
> cc1: all warnings being treated as errors

Looks like const_le64() introduced in commit 845d80a8 is buggy. I wonder
why we even added it when there is no user of it (this blklogwrites one
is the first one, so it exposes the error).

Of course, 0 is just as good as const_le64(0), so I'll just change it to
that for now. But I suppose const_le64() should either be fixed (and
used by something) or removed.

Kevin




Re: [PULL 00/14] Block layer patches

2024-01-22 Thread Peter Maydell
On Mon, 22 Jan 2024 at 11:15, Kevin Wolf  wrote:
>
> Am 20.01.2024 um 18:21 hat Peter Maydell geschrieben:
> > Got some compile failures on this one; looks like the compiler
> > on our s390 box didn't like this:
> >
> > https://gitlab.com/qemu-project/qemu/-/jobs/5973441293
> > https://gitlab.com/qemu-project/qemu/-/jobs/5973441291
> > https://gitlab.com/qemu-project/qemu/-/jobs/5973441330
> >
> > In file included from ../include/qemu/host-utils.h:33,
> > from ../include/qemu/bitops.h:16,
> > from ../include/qemu/timer.h:4,
> > from ../include/block/aio.h:24,
> > from ../include/block/aio-wait.h:28,
> > from ../include/block/block-io.h:27,
> > from ../block/blklogwrites.c:15:
> > ../block/blklogwrites.c: In function ‘blk_log_writes_co_do_log’:
> > ../include/qemu/bswap.h:148:36: error: left shift count >= width of
> > type [-Werror=shift-count-overflow]
> > 148 | _x) & 0x00ffU) << 56) | \
> > | ^~
> > ../block/blklogwrites.c:409:27: note: in expansion of macro ‘const_le64’
> > 409 | .nr_entries = const_le64(0),
> > | ^~
> > ../include/qemu/bswap.h:149:36: error: left shift count >= width of
> > type [-Werror=shift-count-overflow]
> > 149 | (((_x) & 0xff00U) << 40) | \
> > | ^~
> > ../block/blklogwrites.c:409:27: note: in expansion of macro ‘const_le64’
> > 409 | .nr_entries = const_le64(0),
> > | ^~
> > cc1: all warnings being treated as errors
>
> Looks like const_le64() introduced in commit 845d80a8 is buggy. I wonder
> why we even added it when there is no user of it (this blklogwrites one
> is the first one, so it exposes the error).
>
> Of course, 0 is just as good as const_le64(0), so I'll just change it to
> that for now. But I suppose const_le64() should either be fixed (and
> used by something) or removed.

Using ULL as the suffix on the constants in the macro should
be sufficient to fix the problem, I suspect.

-- PMM



[Qemu-devel] [PULL 00/14] Block layer patches

2018-11-12 Thread Kevin Wolf
The following changes since commit 5704c36d25ee84e7129722cb0db53df9faefe943:

  Merge remote-tracking branch 
'remotes/kraxel/tags/fixes-31-20181112-pull-request' into staging (2018-11-12 
15:55:40 +)

are available in the Git repository at:

  git://repo.or.cz/qemu/kevin.git tags/for-upstream

for you to fetch changes up to 1a42e5d8298d1b0f90d2254e7d559391dd3a45ca:

  Merge remote-tracking branch 'mreitz/tags/pull-block-2018-11-12' into 
queue-block (2018-11-12 17:57:32 +0100)


Block layer patches:

- file-posix: Don't waste a file descriptor for locking, don't lock the
  same bit multiple times
- nvme: Fix double free and memory leak
- Misc error handling fixes
- Added NULL checks found by static analysis
- Allow more block drivers to not be included in the qemu build


Fam Zheng (4):
  file-posix: Use error API properly
  file-posix: Skip effectiveless OFD lock operations
  file-posix: Drop s->lock_fd
  tests: Add unit tests for image locking

Jeff Cody (1):
  block: Make more block drivers compile-time configurable

Kevin Wolf (1):
  Merge remote-tracking branch 'mreitz/tags/pull-block-2018-11-12' into 
queue-block

Li Qiang (2):
  nvme: don't unref ctrl_mem when device unrealized
  nvme: free cmbuf in nvme_exit

Liam Merwick (5):
  job: Fix off-by-one assert checks for JobSTT and JobVerbTable
  block: Null pointer dereference in blk_root_get_parent_desc()
  qemu-img: assert block_job_get() does not return NULL in img_commit()
  block: Fix potential Null pointer dereferences in vvfat.c
  qcow2: Read outside array bounds in qcow2_pre_write_overlap_check()

Peter Maydell (1):
  blockdev: Consistently use snapshot_node_name in 
external_snapshot_prepare()

zhenwei pi (1):
  blockdev: handle error on block latency histogram set error

 configure  |  91 ++
 block/block-backend.c  |   3 +-
 block/file-posix.c | 122 ---
 block/qcow2-refcount.c |  18 +++---
 block/vvfat.c  |  46 -
 blockdev.c |  21 --
 hw/block/nvme.c|   6 +-
 job.c  |   4 +-
 qemu-img.c |   1 +
 tests/test-image-locking.c | 157 +
 block/Makefile.objs|  22 +--
 tests/Makefile.include |   2 +
 12 files changed, 400 insertions(+), 93 deletions(-)
 create mode 100644 tests/test-image-locking.c



[Qemu-devel] [PULL 00/14] Block layer patches

2017-09-06 Thread Kevin Wolf
The following changes since commit 98bfaac788be0ca63d7d010c8d4ba100ff1d8278:

  Merge remote-tracking branch 'remotes/armbru/tags/pull-qapi-2017-09-01-v3' 
into staging (2017-09-04 13:28:09 +0100)

are available in the git repository at:

  git://repo.or.cz/qemu/kevin.git tags/for-upstream

for you to fetch changes up to 83a8c775a8bf134eb18a719322939b74a818d750:

  qcow2: move qcow2_store_persistent_dirty_bitmaps() before cache flushing 
(2017-09-06 14:40:18 +0200)


Block layer patches


Daniel P. Berrange (1):
  block: document semantics of bdrv_co_preadv|pwritev

Eric Blake (2):
  qcow: Change signature of get_cluster_offset()
  qcow: Check failure of bdrv_getlength() and bdrv_truncate()

Manos Pitsidianakis (10):
  block: pass bdrv_* methods to bs->file by default in block filters
  block: remove unused bdrv_media_changed
  block: remove bdrv_truncate callback in blkdebug
  block: add default implementations for bdrv_co_get_block_status()
  block: move ThrottleGroup membership to ThrottleGroupMember
  block: add aio_context field in ThrottleGroupMember
  block: tidy ThrottleGroupMember initializations
  block: convert ThrottleGroup to object with QOM
  block: add throttle block filter driver
  qemu-iotests: add 184 for throttle filter driver

Pavel Butsykin (1):
  qcow2: move qcow2_store_persistent_dirty_bitmaps() before cache flushing

 qapi/block-core.json|  66 +++-
 include/block/block.h   |   1 -
 include/block/block_int.h   |  56 ++-
 include/block/throttle-groups.h |  52 ++-
 include/qemu/throttle-options.h |  60 +++-
 include/qemu/throttle.h |   3 +
 include/sysemu/block-backend.h  |  20 +-
 block.c |  35 +-
 block/blkdebug.c|  20 +-
 block/block-backend.c   |  62 ++--
 block/commit.c  |  12 +-
 block/io.c  |  26 ++
 block/mirror.c  |  12 +-
 block/qapi.c|   8 +-
 block/qcow.c| 153 
 block/qcow2.c   |  16 +-
 block/raw-format.c  |   6 -
 block/throttle-groups.c | 750 ++--
 block/throttle.c| 237 +
 blockdev.c  |   4 +-
 tests/test-throttle.c   | 111 +++---
 util/throttle.c | 151 
 block/Makefile.objs |   1 +
 tests/qemu-iotests/184  | 205 +++
 tests/qemu-iotests/184.out  | 302 
 tests/qemu-iotests/group|   1 +
 26 files changed, 1917 insertions(+), 453 deletions(-)
 create mode 100644 block/throttle.c
 create mode 100755 tests/qemu-iotests/184
 create mode 100644 tests/qemu-iotests/184.out



[Qemu-devel] [PULL 00/14] Block layer patches

2019-06-18 Thread Kevin Wolf
The following changes since commit cdfaa2720f4a09e5254868bd1f6e33f3e9eae76f:

  Merge remote-tracking branch 'remotes/armbru/tags/pull-monitor-2019-06-17-v2' 
into staging (2019-06-18 10:47:00 +0100)

are available in the Git repository at:

  git://repo.or.cz/qemu/kevin.git tags/for-upstream

for you to fetch changes up to 128b05f7e00765d883164631b974a27af5b4b613:

  block/null: Expose read-zeroes option in QAPI schema (2019-06-18 16:41:10 
+0200)


Block layer patches:

- block: Remove bs->job
- block: Ignore loosening perm restrictions failures
- block/null: Expose read-zeroes option in QAPI schema
- iotests: Hide timestamps for skipped tests


Kevin Wolf (1):
  block/null: Expose read-zeroes option in QAPI schema

Max Reitz (9):
  iotests: Hide timestamps for skipped tests
  file-posix: Update open_flags in raw_set_perm()
  block: Add bdrv_child_refresh_perms()
  block/mirror: Fix child permissions
  block/commit: Drop bdrv_child_try_set_perm()
  block: Fix order in bdrv_replace_child()
  block: Add *tighten_restrictions to *check*_perm()
  block: Ignore loosening perm restrictions failures
  iotests: Test failure to loosen restrictions

Vladimir Sementsov-Ogievskiy (4):
  block/replication: drop usage of bs->job
  block/block-backend: blk_iostatus_reset: drop usage of bs->job
  blockdev: blockdev_mark_auto_del: drop usage of bs->job
  block: drop bs->job

 qapi/block-core.json   |   4 +-
 include/block/block_int.h  |  30 ++---
 include/block/blockjob.h   |   9 +++
 block.c| 155 +
 block/block-backend.c  |   4 --
 block/commit.c |   2 -
 block/file-posix.c |   4 ++
 block/mirror.c |  70 
 block/replication.c|  21 +++---
 blockdev.c |  19 +++---
 blockjob.c |  22 ---
 monitor/qmp-cmds.c |   5 ++
 tests/test-blockjob.c  |   5 +-
 block/trace-events |   2 +-
 tests/qemu-iotests/182 |  21 ++
 tests/qemu-iotests/182.out |   6 ++
 tests/qemu-iotests/check   |   1 +
 17 files changed, 283 insertions(+), 97 deletions(-)



[Qemu-devel] [PULL 00/14] Block layer patches

2017-01-09 Thread Kevin Wolf
The following changes since commit ffe22bf51065dd33022cf91f77a821d1f11c250d:

  Merge remote-tracking branch 'remotes/gonglei/tags/cryptodev-next-20161224' 
into staging (2017-01-06 15:18:09 +)

are available in the git repository at:


  git://repo.or.cz/qemu/kevin.git tags/for-upstream

for you to fetch changes up to c1bb86cd8ae67c14f79422b6e544d1e2bf40eeb2:

  block: Rename raw-{posix,win32} to file-*.c (2017-01-09 13:30:53 +0100)


Block layer patches


Eric Blake (2):
  block: Rename raw_bsd to raw-format.c
  block: Rename raw-{posix,win32} to file-*.c

Kevin Wolf (11):
  coroutine: Introduce qemu_coroutine_enter_if_inactive()
  quorum: Remove s from quorum_aio_get() arguments
  quorum: Implement .bdrv_co_readv/writev
  quorum: Do cleanup in caller coroutine
  quorum: Inline quorum_aio_cb()
  quorum: Avoid bdrv_aio_writev() for rewrites
  quorum: Implement .bdrv_co_preadv/pwritev()
  quorum: Inline quorum_fifo_aio_cb()
  quorum: Clean up quorum_aio_get()
  blkdebug: Implement bdrv_co_preadv/pwritev/flush
  blkverify: Implement bdrv_co_preadv/pwritev/flush

Paolo Bonzini (1):
  qemu-img: fix in-flight count for qemu-img bench

 MAINTAINERS |   6 +-
 block/Makefile.objs |   6 +-
 block/blkdebug.c|  86 
 block/blkverify.c   | 201 +-
 block/{raw-posix.c => file-posix.c} |   0
 block/{raw-win32.c => file-win32.c} |   0
 block/gluster.c |   4 +-
 block/quorum.c  | 410 +++-
 block/{raw_bsd.c => raw-format.c}   |   2 +-
 block/trace-events  |   4 +-
 configure   |   2 +-
 include/block/block_int.h   |   2 +-
 include/qemu/coroutine.h|   6 +
 qemu-img.c  |  17 +-
 tests/qemu-iotests/071.out  |   8 +-
 util/qemu-coroutine.c   |   7 +
 16 files changed, 392 insertions(+), 369 deletions(-)
 rename block/{raw-posix.c => file-posix.c} (100%)
 rename block/{raw-win32.c => file-win32.c} (100%)
 rename block/{raw_bsd.c => raw-format.c} (99%)



[Qemu-devel] [PULL 00/14] Block layer patches

2017-12-20 Thread Kevin Wolf
The following changes since commit af352675efb7e92a1f5f6461a042a12015ab3d12:

  Merge remote-tracking branch 'remotes/aurel/tags/pull-target-sh4-20171218' 
into staging (2017-12-19 19:11:11 +)

are available in the git repository at:

  git://repo.or.cz/qemu/kevin.git tags/for-upstream

for you to fetch changes up to b4d526c87b26aff6d8b353951aa175a1236ad887:

  nvme: Add tracing (2017-12-20 11:05:49 +0100)


Block layer patches


Doug Gale (1):
  nvme: Add tracing

Edgar Kaziakhmedov (1):
  qcow2: get rid of qcow2_backing_read1 routine

Fam Zheng (1):
  qemu-img: Document --force-share / -U

John Snow (1):
  iotests: fix 197 for vpc

Kevin Wolf (9):
  block: Formats don't need CONSISTENT_READ with NO_IO
  block: Make bdrv_drain_invoke() recursive
  block: Call .drain_begin only once in bdrv_drain_all_begin()
  test-bdrv-drain: Test BlockDriver callbacks for drain
  block: bdrv_drain_recurse(): Remove unused begin parameter
  block: Don't wait for requests in bdrv_drain*_end()
  block: Unify order in drain functions
  block: Don't acquire AioContext in hmp_qemu_io()
  block: Document that x-blockdev-change breaks quorum children list

Mao Zhongyi (1):
  hw/block/nvme: Convert to realize

 qapi/block-core.json |   4 +
 block/qcow2.h|   3 -
 block.c  |   6 +-
 block/io.c   |  31 ++--
 block/qcow2.c|  51 +-
 hmp.c|   6 -
 hw/block/nvme.c  | 367 ---
 tests/test-bdrv-drain.c  | 137 +++
 hw/block/trace-events|  93 ++
 qemu-img.texi|   9 +
 tests/Makefile.include   |   2 +
 tests/qemu-iotests/197   |   4 +
 tests/qemu-iotests/common.filter |   3 +-
 13 files changed, 591 insertions(+), 125 deletions(-)
 create mode 100644 tests/test-bdrv-drain.c



Re: [Qemu-devel] [PULL 00/14] Block layer patches

2018-11-13 Thread Peter Maydell
On 12 November 2018 at 17:05, Kevin Wolf  wrote:
> The following changes since commit 5704c36d25ee84e7129722cb0db53df9faefe943:
>
>   Merge remote-tracking branch 
> 'remotes/kraxel/tags/fixes-31-20181112-pull-request' into staging (2018-11-12 
> 15:55:40 +)
>
> are available in the Git repository at:
>
>   git://repo.or.cz/qemu/kevin.git tags/for-upstream
>
> for you to fetch changes up to 1a42e5d8298d1b0f90d2254e7d559391dd3a45ca:
>
>   Merge remote-tracking branch 'mreitz/tags/pull-block-2018-11-12' into 
> queue-block (2018-11-12 17:57:32 +0100)
>
> 
> Block layer patches:
>
> - file-posix: Don't waste a file descriptor for locking, don't lock the
>   same bit multiple times
> - nvme: Fix double free and memory leak
> - Misc error handling fixes
> - Added NULL checks found by static analysis
> - Allow more block drivers to not be included in the qemu build
>

Applied, thanks.

-- PMM



Re: [Qemu-devel] [PULL 00/14] Block layer patches

2017-09-07 Thread Peter Maydell
On 6 September 2017 at 15:02, Kevin Wolf  wrote:
> The following changes since commit 98bfaac788be0ca63d7d010c8d4ba100ff1d8278:
>
>   Merge remote-tracking branch 'remotes/armbru/tags/pull-qapi-2017-09-01-v3' 
> into staging (2017-09-04 13:28:09 +0100)
>
> are available in the git repository at:
>
>   git://repo.or.cz/qemu/kevin.git tags/for-upstream
>
> for you to fetch changes up to 83a8c775a8bf134eb18a719322939b74a818d750:
>
>   qcow2: move qcow2_store_persistent_dirty_bitmaps() before cache flushing 
> (2017-09-06 14:40:18 +0200)
>
> 
> Block layer patches
>

Applied, thanks.

-- PMM



Re: [Qemu-devel] [PULL 00/14] Block layer patches

2019-06-18 Thread Peter Maydell
On Tue, 18 Jun 2019 at 16:59, Kevin Wolf  wrote:
>
> The following changes since commit cdfaa2720f4a09e5254868bd1f6e33f3e9eae76f:
>
>   Merge remote-tracking branch 
> 'remotes/armbru/tags/pull-monitor-2019-06-17-v2' into staging (2019-06-18 
> 10:47:00 +0100)
>
> are available in the Git repository at:
>
>   git://repo.or.cz/qemu/kevin.git tags/for-upstream
>
> for you to fetch changes up to 128b05f7e00765d883164631b974a27af5b4b613:
>
>   block/null: Expose read-zeroes option in QAPI schema (2019-06-18 16:41:10 
> +0200)
>
> 
> Block layer patches:
>
> - block: Remove bs->job
> - block: Ignore loosening perm restrictions failures
> - block/null: Expose read-zeroes option in QAPI schema
> - iotests: Hide timestamps for skipped tests
>


Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/4.1
for any user-visible changes.

-- PMM



Re: [Qemu-devel] [PULL 00/14] Block layer patches

2017-01-09 Thread Peter Maydell
On 9 January 2017 at 13:44, Kevin Wolf  wrote:
> The following changes since commit ffe22bf51065dd33022cf91f77a821d1f11c250d:
>
>   Merge remote-tracking branch 'remotes/gonglei/tags/cryptodev-next-20161224' 
> into staging (2017-01-06 15:18:09 +)
>
> are available in the git repository at:
>
>
>   git://repo.or.cz/qemu/kevin.git tags/for-upstream
>
> for you to fetch changes up to c1bb86cd8ae67c14f79422b6e544d1e2bf40eeb2:
>
>   block: Rename raw-{posix,win32} to file-*.c (2017-01-09 13:30:53 +0100)
>
> 
> Block layer patches
>
> 

Applied, thanks.

-- PMM



Re: [Qemu-devel] [PULL 00/14] Block layer patches

2017-12-20 Thread Peter Maydell
On 20 December 2017 at 13:19, Kevin Wolf  wrote:
> The following changes since commit af352675efb7e92a1f5f6461a042a12015ab3d12:
>
>   Merge remote-tracking branch 'remotes/aurel/tags/pull-target-sh4-20171218' 
> into staging (2017-12-19 19:11:11 +)
>
> are available in the git repository at:
>
>   git://repo.or.cz/qemu/kevin.git tags/for-upstream
>
> for you to fetch changes up to b4d526c87b26aff6d8b353951aa175a1236ad887:
>
>   nvme: Add tracing (2017-12-20 11:05:49 +0100)
>
> 
> Block layer patches

Hi; this has a merge conflict in hw/block/nvme.c where both
sets of changes are changing the way that the function
handles errors, and I'm not sure which is correct. Can you
resolve and resend, please?

thanks
-- PMM