01.05.2019 21:13, Alberto Garcia wrote: > No one is using these functions anymore, all callers have switched to > the byte-based bdrv_pread() and bdrv_pwrite() > > Signed-off-by: Alberto Garcia <be...@igalia.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> However, I doubt that we want to save error codes descriptions. On the other hand, "Return no. of bytes on success or < 0 on error." is good addition, but it becomes unrelated to this patch if drop error codes description. > --- > block/io.c | 43 +++++++------------------------------------ > include/block/block.h | 4 ---- > 2 files changed, 7 insertions(+), 40 deletions(-) > > diff --git a/block/io.c b/block/io.c > index dfc153b8d8..396d5364ba 100644 > --- a/block/io.c > +++ b/block/io.c > @@ -837,42 +837,6 @@ static int bdrv_prwv_co(BdrvChild *child, int64_t offset, > return rwco.ret; > } > > -/* > - * Process a synchronous request using coroutines > - */ > -static int bdrv_rw_co(BdrvChild *child, int64_t sector_num, uint8_t *buf, > - int nb_sectors, bool is_write, BdrvRequestFlags flags) > -{ > - QEMUIOVector qiov = QEMU_IOVEC_INIT_BUF(qiov, buf, > - nb_sectors * BDRV_SECTOR_SIZE); > - > - if (nb_sectors < 0 || nb_sectors > BDRV_REQUEST_MAX_SECTORS) { > - return -EINVAL; > - } > - > - return bdrv_prwv_co(child, sector_num << BDRV_SECTOR_BITS, > - &qiov, is_write, flags); > -} > - > -/* return < 0 if error. See bdrv_write() for the return codes */ > -int bdrv_read(BdrvChild *child, int64_t sector_num, > - uint8_t *buf, int nb_sectors) > -{ > - return bdrv_rw_co(child, sector_num, buf, nb_sectors, false, 0); > -} > - > -/* Return < 0 if error. Important errors are: > - -EIO generic I/O error (may happen for all errors) > - -ENOMEDIUM No media inserted. > - -EINVAL Invalid sector number or nb_sectors > - -EACCES Trying to write a read-only device > -*/ > -int bdrv_write(BdrvChild *child, int64_t sector_num, > - const uint8_t *buf, int nb_sectors) > -{ > - return bdrv_rw_co(child, sector_num, (uint8_t *)buf, nb_sectors, true, > 0); > -} > - > int bdrv_pwrite_zeroes(BdrvChild *child, int64_t offset, > int bytes, BdrvRequestFlags flags) > { > @@ -935,6 +899,7 @@ int bdrv_preadv(BdrvChild *child, int64_t offset, > QEMUIOVector *qiov) > return qiov->size; > } > > +/* See bdrv_pwrite() for the return codes */ > int bdrv_pread(BdrvChild *child, int64_t offset, void *buf, int bytes) > { > QEMUIOVector qiov = QEMU_IOVEC_INIT_BUF(qiov, buf, bytes); > @@ -958,6 +923,12 @@ int bdrv_pwritev(BdrvChild *child, int64_t offset, > QEMUIOVector *qiov) > return qiov->size; > } > > +/* Return no. of bytes on success or < 0 on error. Important errors are: > + -EIO generic I/O error (may happen for all errors) > + -ENOMEDIUM No media inserted. > + -EINVAL Invalid offset or number of bytes > + -EACCES Trying to write a read-only device > +*/ > int bdrv_pwrite(BdrvChild *child, int64_t offset, const void *buf, int > bytes) > { > QEMUIOVector qiov = QEMU_IOVEC_INIT_BUF(qiov, buf, bytes); > diff --git a/include/block/block.h b/include/block/block.h > index c7a26199aa..5e2b98b0ee 100644 > --- a/include/block/block.h > +++ b/include/block/block.h > @@ -316,10 +316,6 @@ int bdrv_reopen_prepare(BDRVReopenState *reopen_state, > BlockReopenQueue *queue, Error **errp); > void bdrv_reopen_commit(BDRVReopenState *reopen_state); > void bdrv_reopen_abort(BDRVReopenState *reopen_state); > -int bdrv_read(BdrvChild *child, int64_t sector_num, > - uint8_t *buf, int nb_sectors); > -int bdrv_write(BdrvChild *child, int64_t sector_num, > - const uint8_t *buf, int nb_sectors); > int bdrv_pwrite_zeroes(BdrvChild *child, int64_t offset, > int bytes, BdrvRequestFlags flags); > int bdrv_make_zero(BdrvChild *child, BdrvRequestFlags flags); > -- Best regards, Vladimir