[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v5 0/6] block/rbd: migrate to coroutines and add write zeroes sup
From: |
Ilya Dryomov |
Subject: |
[PATCH v5 0/6] block/rbd: migrate to coroutines and add write zeroes support |
Date: |
Fri, 2 Jul 2021 19:23:50 +0200 |
This series migrates the qemu rbd driver from the old aio emulation
to native coroutines and adds write zeroes support which is important
for block operations.
To achieve this we first bump the librbd requirement to the already
outdated luminous release of ceph to get rid of some wrappers and
ifdef'ry in the code.
V4->V5:
- rebase on Kevin's block branch (https://repo.or.cz/qemu/kevin.git block)
to resolve conflicts with "block/rbd: Add support for rbd image encryption"
patch
V3->V4:
- this patch is now rebased on top of current master
- Patch 1: just mention librbd, tweak version numbers [Ilya]
- Patch 3: use rbd_get_size instead of rbd_stat [Ilya]
- Patch 4: retain comment about using a BH in the callback [Ilya]
- Patch 5: set BDRV_REQ_NO_FALLBACK and silently ignore BDRV_REQ_MAY_UNMAP
[Ilya]
V2->V3:
- this patch is now rebased on top of current master
- Patch 1: only use cc.links and not cc.run to not break
cross-compiling. [Kevin]
Since Qemu 6.1 its okay to rely on librbd >= 12.x since RHEL-7
support was dropped [Daniel]
- Patch 4: dropped
- Patch 5: store BDS in RBDTask and use bdrv_get_aio_context() [Kevin]
V1->V2:
- this patch is now rebased on top of current master with Paolos
upcoming fixes for the meson.build script included:
- meson: accept either shared or static libraries if --disable-static
- meson: honor --enable-rbd if cc.links test fails
- Patch 1: adjusted to meson.build script
- Patch 2: unchanged
- Patch 3: new patch
- Patch 4: do not implement empty detach_aio_context callback [Jason]
- Patch 5: - fix aio completion cleanup in error case [Jason]
- return error codes from librbd
- Patch 6: - add support for thick provisioning [Jason]
- do not set write zeroes alignment
- Patch 7: new patch
Peter Lieven (6):
block/rbd: bump librbd requirement to luminous release
block/rbd: store object_size in BDRVRBDState
block/rbd: update s->image_size in qemu_rbd_getlength
block/rbd: migrate from aio to coroutines
block/rbd: add write zeroes support
block/rbd: drop qemu_rbd_refresh_limits
block/rbd.c | 406 ++++++++++++++++------------------------------------
meson.build | 7 +-
2 files changed, 128 insertions(+), 285 deletions(-)
--
2.19.2
- [PATCH v5 0/6] block/rbd: migrate to coroutines and add write zeroes support,
Ilya Dryomov <=
- [PATCH v5 2/6] block/rbd: store object_size in BDRVRBDState, Ilya Dryomov, 2021/07/02
- [PATCH v5 3/6] block/rbd: update s->image_size in qemu_rbd_getlength, Ilya Dryomov, 2021/07/02
- [PATCH v5 1/6] block/rbd: bump librbd requirement to luminous release, Ilya Dryomov, 2021/07/02
- [PATCH v5 4/6] block/rbd: migrate from aio to coroutines, Ilya Dryomov, 2021/07/02
- [PATCH v5 6/6] block/rbd: drop qemu_rbd_refresh_limits, Ilya Dryomov, 2021/07/02
- [PATCH v5 5/6] block/rbd: add write zeroes support, Ilya Dryomov, 2021/07/02
- Re: [PATCH v5 0/6] block/rbd: migrate to coroutines and add write zeroes support, Ilya Dryomov, 2021/07/02
- Re: [PATCH v5 0/6] block/rbd: migrate to coroutines and add write zeroes support, Kevin Wolf, 2021/07/06