[PATCH 6/7] block/rbd: add write zeroes support

2020-12-27 Thread Peter Lieven
Signed-off-by: Peter Lieven --- block/rbd.c | 31 ++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/block/rbd.c b/block/rbd.c index 2d77d0007f..27b4404adf 100644 --- a/block/rbd.c +++ b/block/rbd.c @@ -63,7 +63,8 @@ typedef enum { RBD_AIO_READ,

[PATCH 4/7] block/rbd: add bdrv_{attach,detach}_aio_context

2020-12-27 Thread Peter Lieven
Signed-off-by: Peter Lieven --- block/rbd.c | 21 +++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/block/rbd.c b/block/rbd.c index a2da70e37f..27b232f4d8 100644 --- a/block/rbd.c +++ b/block/rbd.c @@ -91,6 +91,7 @@ typedef struct BDRVRBDState { char

[PATCH 7/7] block/rbd: change request alignment to 1 byte

2020-12-27 Thread Peter Lieven
since we implement byte interfaces and librbd supports aio on byte granularity we can lift the 512 byte alignment. Signed-off-by: Peter Lieven --- block/rbd.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/block/rbd.c b/block/rbd.c index 27b4404adf..8673e8f553 100644 --- a/block/rbd.c

[PATCH 3/7] block/rbd: use stored image_size in qemu_rbd_getlength

2020-12-27 Thread Peter Lieven
Signed-off-by: Peter Lieven --- block/rbd.c | 10 +- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/block/rbd.c b/block/rbd.c index bc8cf8af9b..a2da70e37f 100644 --- a/block/rbd.c +++ b/block/rbd.c @@ -956,15 +956,7 @@ static int qemu_rbd_getinfo(BlockDriverState *bs,

[PATCH 2/7] block/rbd: store object_size in BDRVRBDState

2020-12-27 Thread Peter Lieven
Signed-off-by: Peter Lieven --- block/rbd.c | 18 +++--- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/block/rbd.c b/block/rbd.c index 650e27c351..bc8cf8af9b 100644 --- a/block/rbd.c +++ b/block/rbd.c @@ -90,6 +90,7 @@ typedef struct BDRVRBDState { char *snap;

[PATCH 1/7] block/rbd: bump librbd requirement to luminous release

2020-12-27 Thread Peter Lieven
even luminous (version 12.2) is unmaintained for over 3 years now. Bump the requirement to get rid of the ifdef'ry in the code. Signed-off-by: Peter Lieven --- block/rbd.c | 120 configure | 7 +-- 2 files changed, 12 insertions(+), 115

[PATCH 5/7] block/rbd: migrate from aio to coroutines

2020-12-27 Thread Peter Lieven
Signed-off-by: Peter Lieven --- block/rbd.c | 247 ++-- 1 file changed, 84 insertions(+), 163 deletions(-) diff --git a/block/rbd.c b/block/rbd.c index 27b232f4d8..2d77d0007f 100644 --- a/block/rbd.c +++ b/block/rbd.c @@ -66,22 +66,6 @@ typedef

[PATCH 0/7] block/rbd: migrate to coroutines and add write zeroes support

2020-12-27 Thread Peter Lieven
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 archive this we first bump the librbd requirement to the already outdated luminous release of ceph to get rid of some wrappers and