[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 4/5] block: Remove bdrv_read() and bdrv_write
From: |
Vladimir Sementsov-Ogievskiy |
Subject: |
Re: [Qemu-devel] [PATCH v2 4/5] block: Remove bdrv_read() and bdrv_write() |
Date: |
Mon, 6 May 2019 16:52:34 +0000 |
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 <address@hidden>
Reviewed-by: Vladimir Sementsov-Ogievskiy <address@hidden>
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
- [Qemu-devel] [PATCH v2 0/5] Remove bdrv_read() and bdrv_write(), Alberto Garcia, 2019/05/01
- [Qemu-devel] [PATCH v2 4/5] block: Remove bdrv_read() and bdrv_write(), Alberto Garcia, 2019/05/01
- Re: [Qemu-devel] [PATCH v2 4/5] block: Remove bdrv_read() and bdrv_write(),
Vladimir Sementsov-Ogievskiy <=
- [Qemu-devel] [PATCH v2 1/5] qcow2: Replace bdrv_write() with bdrv_pwrite(), Alberto Garcia, 2019/05/01
- [Qemu-devel] [PATCH v2 2/5] vdi: Replace bdrv_{read, write}() with bdrv_{pread, pwrite}(), Alberto Garcia, 2019/05/01
- [Qemu-devel] [PATCH v2 5/5] qcow2: Remove BDRVQcow2State.cluster_sectors, Alberto Garcia, 2019/05/01
- [Qemu-devel] [PATCH v2 3/5] vvfat: Replace bdrv_{read, write}() with bdrv_{pread, pwrite}(), Alberto Garcia, 2019/05/01