[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v4 20/20] block: Drop unused .bdrv_co_get_block_stat
From: |
Eric Blake |
Subject: |
[Qemu-devel] [PATCH v4 20/20] block: Drop unused .bdrv_co_get_block_status() |
Date: |
Thu, 12 Oct 2017 13:59:16 -0500 |
We are gradually moving away from sector-based interfaces, towards
byte-based. Now that all drivers have been updated to provide the
byte-based .bdrv_co_block_status(), we can delete the sector-based
interface.
Signed-off-by: Eric Blake <address@hidden>
---
v4: rebase to interface tweak
v3: no change
v2: rebase to earlier changes
---
include/block/block_int.h | 3 ---
block/io.c | 34 +---------------------------------
2 files changed, 1 insertion(+), 36 deletions(-)
diff --git a/include/block/block_int.h b/include/block/block_int.h
index 7c8503f693..6e7ae5fc8d 100644
--- a/include/block/block_int.h
+++ b/include/block/block_int.h
@@ -213,9 +213,6 @@ struct BlockDriver {
* guarantees input aligned to request_alignment, as well as
* non-NULL pnum, map, and file.
*/
- int64_t coroutine_fn (*bdrv_co_get_block_status)(BlockDriverState *bs,
- int64_t sector_num, int nb_sectors, int *pnum,
- BlockDriverState **file);
int coroutine_fn (*bdrv_co_block_status)(BlockDriverState *bd,
bool want_zero, int64_t offset, int64_t bytes, int64_t *pnum,
int64_t *map, BlockDriverState **file);
diff --git a/block/io.c b/block/io.c
index 6a2a2e1484..7ae4cdadf5 100644
--- a/block/io.c
+++ b/block/io.c
@@ -1847,7 +1847,7 @@ static int coroutine_fn
bdrv_co_block_status(BlockDriverState *bs,
bytes = n;
}
- if (!bs->drv->bdrv_co_get_block_status && !bs->drv->bdrv_co_block_status) {
+ if (!bs->drv->bdrv_co_block_status) {
*pnum = bytes;
ret = BDRV_BLOCK_DATA | BDRV_BLOCK_ALLOCATED;
if (offset + bytes == total_size) {
@@ -1865,40 +1865,9 @@ static int coroutine_fn
bdrv_co_block_status(BlockDriverState *bs,
/* Round out to request_alignment boundaries */
align = bs->bl.request_alignment;
- if (bs->drv->bdrv_co_get_block_status && align < BDRV_SECTOR_SIZE) {
- align = BDRV_SECTOR_SIZE;
- }
aligned_offset = QEMU_ALIGN_DOWN(offset, align);
aligned_bytes = ROUND_UP(offset + bytes, align) - aligned_offset;
- if (bs->drv->bdrv_co_get_block_status) {
- int count; /* sectors */
- int64_t longret;
-
- assert(QEMU_IS_ALIGNED(aligned_offset | aligned_bytes,
- BDRV_SECTOR_SIZE));
- /*
- * The contract allows us to return pnum smaller than bytes, even
- * if the next query would see the same status; we truncate the
- * request to avoid overflowing the driver's 32-bit interface.
- */
- longret = bs->drv->bdrv_co_get_block_status(
- bs, aligned_offset >> BDRV_SECTOR_BITS,
- MIN(INT_MAX, aligned_bytes) >> BDRV_SECTOR_BITS, &count,
- &local_file);
- if (longret < 0) {
- assert(INT_MIN <= longret);
- ret = longret;
- goto out;
- }
- if (longret & BDRV_BLOCK_OFFSET_VALID) {
- local_map = longret & BDRV_BLOCK_OFFSET_MASK;
- }
- ret = longret & ~BDRV_BLOCK_OFFSET_MASK;
- *pnum = count * BDRV_SECTOR_SIZE;
- goto refine;
- }
-
ret = bs->drv->bdrv_co_block_status(bs, want_zero, aligned_offset,
aligned_bytes, pnum, &local_map,
&local_file);
@@ -1916,7 +1885,6 @@ static int coroutine_fn
bdrv_co_block_status(BlockDriverState *bs,
*pnum = total_size - aligned_offset;
}
-refine:
/*
* The driver's result must be a multiple of request_alignment.
* Clamp pnum and adjust map to original request.
--
2.13.6
- [Qemu-devel] [PATCH v4 10/20] qcow: Switch to .bdrv_co_block_status(), (continued)
- [Qemu-devel] [PATCH v4 10/20] qcow: Switch to .bdrv_co_block_status(), Eric Blake, 2017/10/12
- [Qemu-devel] [PATCH v4 11/20] qcow2: Switch to .bdrv_co_block_status(), Eric Blake, 2017/10/12
- [Qemu-devel] [PATCH v4 12/20] qed: Switch to .bdrv_co_block_status(), Eric Blake, 2017/10/12
- [Qemu-devel] [PATCH v4 13/20] raw: Switch to .bdrv_co_block_status(), Eric Blake, 2017/10/12
- [Qemu-devel] [PATCH v4 14/20] sheepdog: Switch to .bdrv_co_block_status(), Eric Blake, 2017/10/12
- [Qemu-devel] [PATCH v4 15/20] vdi: Avoid bitrot of debugging code, Eric Blake, 2017/10/12
- [Qemu-devel] [PATCH v4 16/20] vdi: Switch to .bdrv_co_block_status(), Eric Blake, 2017/10/12
- [Qemu-devel] [PATCH v4 17/20] vmdk: Switch to .bdrv_co_block_status(), Eric Blake, 2017/10/12
- [Qemu-devel] [PATCH v4 18/20] vpc: Switch to .bdrv_co_block_status(), Eric Blake, 2017/10/12
- [Qemu-devel] [PATCH v4 19/20] vvfat: Switch to .bdrv_co_block_status(), Eric Blake, 2017/10/12
- [Qemu-devel] [PATCH v4 20/20] block: Drop unused .bdrv_co_get_block_status(),
Eric Blake <=