On 9/15/20 6:44 PM, Vladimir Sementsov-Ogievskiy wrote: > Now that we are not maintaining boilerplate code for coroutine > wrappers, there is no more sense in keeping the extra indirection layer > of bdrv_prwv(). Let's drop it and instead generate pure bdrv_preadv() > and bdrv_pwritev(). > > Currently, bdrv_pwritev() and bdrv_preadv() are returning bytes on > success, auto generated functions will instead return zero, as their > _co_ prototype. Still, it's simple to make the conversion safe: the > only external user of bdrv_pwritev() is test-bdrv-drain, and it is > comfortable enough with bdrv_co_pwritev() instead. So prototypes are > moved to local block/coroutines.h. Next, the only internal use is > bdrv_pread() and bdrv_pwrite(), which are modified to return bytes on > success. > > Of course, it would be great to convert bdrv_pread() and bdrv_pwrite() > to return 0 on success. But this requires audit (and probably > conversion) of all their users, let's leave it for another day > refactoring. > > Signed-off-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> > Reviewed-by: Eric Blake <ebl...@redhat.com> > --- > block/coroutines.h | 10 ++++----- > include/block/block.h | 2 -- > block/io.c | 49 ++++++++--------------------------------- > tests/test-bdrv-drain.c | 2 +- > 4 files changed, 15 insertions(+), 48 deletions(-)
Reviewed-by: Philippe Mathieu-Daudé <phi...@redhat.com>