Skip to content

Commit

Permalink
block: Pull up blk_read_unthrottled() implementation
Browse files Browse the repository at this point in the history
Use blk_read(), so that it goes through blk_co_preadv() like all read
requests from the BB to the BDS.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
  • Loading branch information
kevmw committed Mar 17, 2016
1 parent a8823a3 commit 5bd5119
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 18 deletions.
12 changes: 10 additions & 2 deletions block/block-backend.c
Original file line number Diff line number Diff line change
Expand Up @@ -789,12 +789,20 @@ int blk_read(BlockBackend *blk, int64_t sector_num, uint8_t *buf,
int blk_read_unthrottled(BlockBackend *blk, int64_t sector_num, uint8_t *buf,
int nb_sectors)
{
int ret = blk_check_request(blk, sector_num, nb_sectors);
BlockDriverState *bs = blk_bs(blk);
bool enabled;
int ret;

ret = blk_check_request(blk, sector_num, nb_sectors);
if (ret < 0) {
return ret;
}

return bdrv_read_unthrottled(blk_bs(blk), sector_num, buf, nb_sectors);
enabled = bs->io_limits_enabled;
bs->io_limits_enabled = false;
ret = blk_read(blk, sector_num, buf, nb_sectors);
bs->io_limits_enabled = enabled;
return ret;
}

int blk_write(BlockBackend *blk, int64_t sector_num, const uint8_t *buf,
Expand Down
14 changes: 0 additions & 14 deletions block/io.c
Original file line number Diff line number Diff line change
Expand Up @@ -615,20 +615,6 @@ int bdrv_read(BlockDriverState *bs, int64_t sector_num,
return bdrv_rw_co(bs, sector_num, buf, nb_sectors, false, 0);
}

/* Just like bdrv_read(), but with I/O throttling temporarily disabled */
int bdrv_read_unthrottled(BlockDriverState *bs, int64_t sector_num,
uint8_t *buf, int nb_sectors)
{
bool enabled;
int ret;

enabled = bs->io_limits_enabled;
bs->io_limits_enabled = false;
ret = bdrv_read(bs, sector_num, buf, nb_sectors);
bs->io_limits_enabled = enabled;
return ret;
}

/* Return < 0 if error. Important errors are:
-EIO generic I/O error (may happen for all errors)
-ENOMEDIUM No media inserted.
Expand Down
2 changes: 0 additions & 2 deletions include/block/block.h
Original file line number Diff line number Diff line change
Expand Up @@ -229,8 +229,6 @@ void bdrv_reopen_commit(BDRVReopenState *reopen_state);
void bdrv_reopen_abort(BDRVReopenState *reopen_state);
int bdrv_read(BlockDriverState *bs, int64_t sector_num,
uint8_t *buf, int nb_sectors);
int bdrv_read_unthrottled(BlockDriverState *bs, int64_t sector_num,
uint8_t *buf, int nb_sectors);
int bdrv_write(BlockDriverState *bs, int64_t sector_num,
const uint8_t *buf, int nb_sectors);
int bdrv_write_zeroes(BlockDriverState *bs, int64_t sector_num,
Expand Down

0 comments on commit 5bd5119

Please sign in to comment.