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 <berto@igalia.com>
---
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);
--
2.11.0
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 <berto@igalia.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@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
© 2016 - 2025 Red Hat, Inc.