Message ID | 20210519142359.23083-7-pl@kamp.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | block/rbd: migrate to coroutines and add write zeroes support | expand |
On Wed, May 19, 2021 at 4:26 PM Peter Lieven <pl@kamp.de> wrote: > > librbd supports 1 byte alignment for all aio operations. > > Currently, there is no API call to query limits from the ceph backend. > So drop the bdrv_refresh_limits completely until there is such an API call. > > Signed-off-by: Peter Lieven <pl@kamp.de> > --- > block/rbd.c | 9 --------- > 1 file changed, 9 deletions(-) > > diff --git a/block/rbd.c b/block/rbd.c > index ee13f08a74..368a674aa0 100644 > --- a/block/rbd.c > +++ b/block/rbd.c > @@ -228,14 +228,6 @@ done: > return; > } > > - > -static void qemu_rbd_refresh_limits(BlockDriverState *bs, Error **errp) > -{ > - /* XXX Does RBD support AIO on less than 512-byte alignment? */ > - bs->bl.request_alignment = 512; > -} > - > - > static int qemu_rbd_set_auth(rados_t cluster, BlockdevOptionsRbd *opts, > Error **errp) > { > @@ -1128,7 +1120,6 @@ static BlockDriver bdrv_rbd = { > .format_name = "rbd", > .instance_size = sizeof(BDRVRBDState), > .bdrv_parse_filename = qemu_rbd_parse_filename, > - .bdrv_refresh_limits = qemu_rbd_refresh_limits, > .bdrv_file_open = qemu_rbd_open, > .bdrv_close = qemu_rbd_close, > .bdrv_reopen_prepare = qemu_rbd_reopen_prepare, > -- > 2.17.1 > > > librbd does support 1-byte-aligned I/O (with the caveat that those code paths are probably not very well tested). Regardless, I think it is better to do read-modify-write and similar handling in librbd than in QEMU. Reviewed-by: Ilya Dryomov <idryomov@gmail.com> Thanks, Ilya
diff --git a/block/rbd.c b/block/rbd.c index ee13f08a74..368a674aa0 100644 --- a/block/rbd.c +++ b/block/rbd.c @@ -228,14 +228,6 @@ done: return; } - -static void qemu_rbd_refresh_limits(BlockDriverState *bs, Error **errp) -{ - /* XXX Does RBD support AIO on less than 512-byte alignment? */ - bs->bl.request_alignment = 512; -} - - static int qemu_rbd_set_auth(rados_t cluster, BlockdevOptionsRbd *opts, Error **errp) { @@ -1128,7 +1120,6 @@ static BlockDriver bdrv_rbd = { .format_name = "rbd", .instance_size = sizeof(BDRVRBDState), .bdrv_parse_filename = qemu_rbd_parse_filename, - .bdrv_refresh_limits = qemu_rbd_refresh_limits, .bdrv_file_open = qemu_rbd_open, .bdrv_close = qemu_rbd_close, .bdrv_reopen_prepare = qemu_rbd_reopen_prepare,
librbd supports 1 byte alignment for all aio operations. Currently, there is no API call to query limits from the ceph backend. So drop the bdrv_refresh_limits completely until there is such an API call. Signed-off-by: Peter Lieven <pl@kamp.de> --- block/rbd.c | 9 --------- 1 file changed, 9 deletions(-)