mbox

[PULL,00/18] Block layer patches

Message ID 20220609172149.293877-1-kwolf@redhat.com
State New
Headers show

Pull-request

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

Message

Kevin Wolf June 9, 2022, 5:21 p.m. UTC
The following changes since commit 028f2361d0c2d28d6f918fe618f389228ac22b60:

  Merge tag 'pull-target-arm-20220609' of https://git.linaro.org/people/pmaydell/qemu-arm into staging (2022-06-09 06:47:03 -0700)

are available in the Git repository at:

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

for you to fetch changes up to 7f9a8b3342ff00d3398fdc08264948762d748edb:

  nbd: Drop dead code spotted by Coverity (2022-06-09 18:07:17 +0200)

----------------------------------------------------------------
Block layer patches

- Add vduse-blk export
- Dirty bitmaps: Fix and improve bitmap merge
- gluster: correctly set max_pdiscard
- rbd: report a better error when namespace does not exist
- aio_wait_kick: add missing memory barrier
- Code cleanups

----------------------------------------------------------------
Emanuele Giuseppe Esposito (1):
      aio_wait_kick: add missing memory barrier

Eric Blake (1):
      nbd: Drop dead code spotted by Coverity

Fabian Ebner (1):
      block/gluster: correctly set max_pdiscard

Stefan Hajnoczi (3):
      block: drop unused bdrv_co_drain() API
      block: get rid of blk->guest_block_size
      qsd: document vduse-blk exports

Stefano Garzarella (1):
      block/rbd: report a better error when namespace does not exist

Vladimir Sementsov-Ogievskiy (3):
      block: block_dirty_bitmap_merge(): fix error path
      block: improve block_dirty_bitmap_merge(): don't allocate extra bitmap
      block: simplify handling of try to merge different sized bitmaps

Xie Yongji (8):
      block: Support passing NULL ops to blk_set_dev_ops()
      block/export: Fix incorrect length passed to vu_queue_push()
      block/export: Abstract out the logic of virtio-blk I/O process
      linux-headers: Add vduse.h
      libvduse: Add VDUSE (vDPA Device in Userspace) library
      vduse-blk: Implement vduse-blk export
      vduse-blk: Add vduse-blk resize support
      libvduse: Add support for reconnecting

 qapi/block-export.json                      |   28 +-
 docs/tools/qemu-storage-daemon.rst          |   21 +
 meson_options.txt                           |    4 +
 block/export/vduse-blk.h                    |   20 +
 block/export/virtio-blk-handler.h           |   37 +
 include/block/aio-wait.h                    |    2 +
 include/block/block-io.h                    |    1 -
 include/block/block_int-io.h                |    2 +-
 include/qemu/hbitmap.h                      |   15 +-
 include/sysemu/block-backend-io.h           |    1 -
 linux-headers/linux/vduse.h                 |  306 ++++++
 subprojects/libvduse/include/atomic.h       |    1 +
 subprojects/libvduse/include/compiler.h     |    1 +
 subprojects/libvduse/libvduse.h             |  247 +++++
 block/backup.c                              |    6 +-
 block/block-backend.c                       |   12 +-
 block/dirty-bitmap.c                        |   26 +-
 block/export/export.c                       |    6 +
 block/export/vduse-blk.c                    |  341 +++++++
 block/export/vhost-user-blk-server.c        |  261 +----
 block/export/virtio-blk-handler.c           |  240 +++++
 block/gluster.c                             |    2 +-
 block/io.c                                  |   15 -
 block/monitor/bitmap-qmp-cmds.c             |   40 +-
 block/nbd.c                                 |    8 +-
 block/rbd.c                                 |   24 +
 hw/block/virtio-blk.c                       |    1 -
 hw/block/xen-block.c                        |    1 -
 hw/ide/core.c                               |    1 -
 hw/scsi/scsi-disk.c                         |    1 -
 hw/scsi/scsi-generic.c                      |    1 -
 storage-daemon/qemu-storage-daemon.c        |    9 +
 subprojects/libvduse/libvduse.c             | 1392 +++++++++++++++++++++++++++
 util/aio-wait.c                             |   16 +-
 util/hbitmap.c                              |   25 +-
 MAINTAINERS                                 |    9 +
 block/export/meson.build                    |    7 +-
 meson.build                                 |   34 +
 scripts/meson-buildoptions.sh               |    7 +
 scripts/update-linux-headers.sh             |    2 +-
 subprojects/libvduse/linux-headers/linux    |    1 +
 subprojects/libvduse/meson.build            |   10 +
 subprojects/libvduse/standard-headers/linux |    1 +
 43 files changed, 2830 insertions(+), 355 deletions(-)
 create mode 100644 block/export/vduse-blk.h
 create mode 100644 block/export/virtio-blk-handler.h
 create mode 100644 linux-headers/linux/vduse.h
 create mode 120000 subprojects/libvduse/include/atomic.h
 create mode 120000 subprojects/libvduse/include/compiler.h
 create mode 100644 subprojects/libvduse/libvduse.h
 create mode 100644 block/export/vduse-blk.c
 create mode 100644 block/export/virtio-blk-handler.c
 create mode 100644 subprojects/libvduse/libvduse.c
 create mode 120000 subprojects/libvduse/linux-headers/linux
 create mode 100644 subprojects/libvduse/meson.build
 create mode 120000 subprojects/libvduse/standard-headers/linux

Comments

Richard Henderson June 9, 2022, 8:18 p.m. UTC | #1
On 6/9/22 10:21, Kevin Wolf wrote:
> The following changes since commit 028f2361d0c2d28d6f918fe618f389228ac22b60:
> 
>    Merge tag 'pull-target-arm-20220609' of https://git.linaro.org/people/pmaydell/qemu-arm into staging (2022-06-09 06:47:03 -0700)
> 
> are available in the Git repository at:
> 
>    git://repo.or.cz/qemu/kevin.git tags/for-upstream
> 
> for you to fetch changes up to 7f9a8b3342ff00d3398fdc08264948762d748edb:
> 
>    nbd: Drop dead code spotted by Coverity (2022-06-09 18:07:17 +0200)
> 
> ----------------------------------------------------------------
> Block layer patches
> 
> - Add vduse-blk export
> - Dirty bitmaps: Fix and improve bitmap merge
> - gluster: correctly set max_pdiscard
> - rbd: report a better error when namespace does not exist
> - aio_wait_kick: add missing memory barrier
> - Code cleanups

Several sets of compile failures:

https://gitlab.com/qemu-project/qemu/-/jobs/2571008901

../subprojects/libvduse/libvduse.c:578:20: error: unused function 
'vring_used_flags_set_bit' [-Werror,-Wunused-function]
static inline void vring_used_flags_set_bit(VduseVirtq *vq, int mask)
                    ^
../subprojects/libvduse/libvduse.c:587:20: error: unused function 
'vring_used_flags_unset_bit' [-Werror,-Wunused-function]
static inline void vring_used_flags_unset_bit(VduseVirtq *vq, int mask)
                    ^

https://gitlab.com/qemu-project/qemu/-/jobs/2571008908

../meson.build:1652:2: ERROR: Tried to use 'add_global_arguments' after a build target has 
been declared.

https://gitlab.com/qemu-project/qemu/-/jobs/2571008833

../subprojects/libvduse/libvduse.c:325:20: error: cast to pointer from integer of 
different size [-Werror=int-to-pointer-cast]
   325 |             munmap((void *)dev->regions[i].mmap_addr,
       |                    ^
../subprojects/libvduse/libvduse.c: In function 'vduse_dev_create':
../subprojects/libvduse/libvduse.c:1318:54: error: format '%lu' expects argument of type 
'long unsigned int', but argument 3 has type 'uint64_t' {aka 'long long unsigned int'} 
[-Werror=format=]
  1318 |         fprintf(stderr, "Failed to set api version %lu: %s\n",
       |                                                    ~~^
       |                                                      |
       |                                                      long unsigned int
       |                                                    %llu
  1319 |                 version, strerror(errno));
       |                 ~~~~~~~
       |                 |
       |                 uint64_t {aka long long unsigned int}


r~
Kevin Wolf June 13, 2022, 5:04 p.m. UTC | #2
Am 09.06.2022 um 22:18 hat Richard Henderson geschrieben:
> On 6/9/22 10:21, Kevin Wolf wrote:
> > The following changes since commit 028f2361d0c2d28d6f918fe618f389228ac22b60:
> > 
> >    Merge tag 'pull-target-arm-20220609' of https://git.linaro.org/people/pmaydell/qemu-arm into staging (2022-06-09 06:47:03 -0700)
> > 
> > are available in the Git repository at:
> > 
> >    git://repo.or.cz/qemu/kevin.git tags/for-upstream
> > 
> > for you to fetch changes up to 7f9a8b3342ff00d3398fdc08264948762d748edb:
> > 
> >    nbd: Drop dead code spotted by Coverity (2022-06-09 18:07:17 +0200)
> > 
> > ----------------------------------------------------------------
> > Block layer patches
> > 
> > - Add vduse-blk export
> > - Dirty bitmaps: Fix and improve bitmap merge
> > - gluster: correctly set max_pdiscard
> > - rbd: report a better error when namespace does not exist
> > - aio_wait_kick: add missing memory barrier
> > - Code cleanups
> 
> Several sets of compile failures:

Hi Yongji,

the vduse-blk code fails to compile with clang as shown below. As you
already sent another series to fix up other bugs introduced in the
series, maybe it would be better if you can send a new version with all
of the necessary fixes squashed in instead of me trying to make minimal
fixes to get it to compile with clang.

Kevin

> https://gitlab.com/qemu-project/qemu/-/jobs/2571008901
> 
> ../subprojects/libvduse/libvduse.c:578:20: error: unused function
> 'vring_used_flags_set_bit' [-Werror,-Wunused-function]
> static inline void vring_used_flags_set_bit(VduseVirtq *vq, int mask)
>                    ^
> ../subprojects/libvduse/libvduse.c:587:20: error: unused function
> 'vring_used_flags_unset_bit' [-Werror,-Wunused-function]
> static inline void vring_used_flags_unset_bit(VduseVirtq *vq, int mask)
>                    ^
> 
> https://gitlab.com/qemu-project/qemu/-/jobs/2571008908
> 
> ../meson.build:1652:2: ERROR: Tried to use 'add_global_arguments' after a
> build target has been declared.
> 
> https://gitlab.com/qemu-project/qemu/-/jobs/2571008833
> 
> ../subprojects/libvduse/libvduse.c:325:20: error: cast to pointer from
> integer of different size [-Werror=int-to-pointer-cast]
>   325 |             munmap((void *)dev->regions[i].mmap_addr,
>       |                    ^
> ../subprojects/libvduse/libvduse.c: In function 'vduse_dev_create':
> ../subprojects/libvduse/libvduse.c:1318:54: error: format '%lu' expects
> argument of type 'long unsigned int', but argument 3 has type 'uint64_t'
> {aka 'long long unsigned int'} [-Werror=format=]
>  1318 |         fprintf(stderr, "Failed to set api version %lu: %s\n",
>       |                                                    ~~^
>       |                                                      |
>       |                                                      long unsigned int
>       |                                                    %llu
>  1319 |                 version, strerror(errno));
>       |                 ~~~~~~~
>       |                 |
>       |                 uint64_t {aka long long unsigned int}
> 
> 
> r~
>
Yongji Xie June 14, 2022, 5:19 a.m. UTC | #3
On Tue, Jun 14, 2022 at 1:04 AM Kevin Wolf <kwolf@redhat.com> wrote:
>
> Am 09.06.2022 um 22:18 hat Richard Henderson geschrieben:
> > On 6/9/22 10:21, Kevin Wolf wrote:
> > > The following changes since commit 028f2361d0c2d28d6f918fe618f389228ac22b60:
> > >
> > >    Merge tag 'pull-target-arm-20220609' of https://git.linaro.org/people/pmaydell/qemu-arm into staging (2022-06-09 06:47:03 -0700)
> > >
> > > are available in the Git repository at:
> > >
> > >    git://repo.or.cz/qemu/kevin.git tags/for-upstream
> > >
> > > for you to fetch changes up to 7f9a8b3342ff00d3398fdc08264948762d748edb:
> > >
> > >    nbd: Drop dead code spotted by Coverity (2022-06-09 18:07:17 +0200)
> > >
> > > ----------------------------------------------------------------
> > > Block layer patches
> > >
> > > - Add vduse-blk export
> > > - Dirty bitmaps: Fix and improve bitmap merge
> > > - gluster: correctly set max_pdiscard
> > > - rbd: report a better error when namespace does not exist
> > > - aio_wait_kick: add missing memory barrier
> > > - Code cleanups
> >
> > Several sets of compile failures:
>
> Hi Yongji,
>
> the vduse-blk code fails to compile with clang as shown below. As you
> already sent another series to fix up other bugs introduced in the
> series, maybe it would be better if you can send a new version with all
> of the necessary fixes squashed in instead of me trying to make minimal
> fixes to get it to compile with clang.
>

OK, I have sent a new version including the fix.

Thanks.
Yongji