[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 8/9] block: drop .bdrv_is_allocated() interface
From: |
Stefan Hajnoczi |
Subject: |
[Qemu-devel] [PATCH v2 8/9] block: drop .bdrv_is_allocated() interface |
Date: |
Mon, 14 Nov 2011 12:44:25 +0000 |
Now that all block drivers have been converted to
.bdrv_co_is_allocated() we can drop .bdrv_is_allocated().
Note that the public bdrv_is_allocated() interface is still available
but is in fact a synchronous wrapper around .bdrv_co_is_allocated().
Signed-off-by: Stefan Hajnoczi <address@hidden>
---
block.c | 38 ++++++++++++++++++--------------------
block_int.h | 2 --
2 files changed, 18 insertions(+), 22 deletions(-)
diff --git a/block.c b/block.c
index 69989b0..eda5271 100644
--- a/block.c
+++ b/block.c
@@ -1921,25 +1921,8 @@ static void coroutine_fn bdrv_is_allocated_co_entry(void
*opaque)
int bdrv_is_allocated(BlockDriverState *bs, int64_t sector_num, int nb_sectors,
int *pnum)
{
- int64_t n;
- if (bs->drv->bdrv_co_is_allocated) {
- Coroutine *co;
- BdrvCoIsAllocatedData data = {
- .bs = bs,
- .sector_num = sector_num,
- .nb_sectors = nb_sectors,
- .pnum = pnum,
- .done = false,
- };
-
- co = qemu_coroutine_create(bdrv_is_allocated_co_entry);
- qemu_coroutine_enter(co, &data);
- while (!data.done) {
- qemu_aio_wait();
- }
- return data.ret;
- }
- if (!bs->drv->bdrv_is_allocated) {
+ if (!bs->drv->bdrv_co_is_allocated) {
+ int64_t n;
if (sector_num >= bs->total_sectors) {
*pnum = 0;
return 0;
@@ -1948,7 +1931,22 @@ int bdrv_is_allocated(BlockDriverState *bs, int64_t
sector_num, int nb_sectors,
*pnum = (n < nb_sectors) ? (n) : (nb_sectors);
return 1;
}
- return bs->drv->bdrv_is_allocated(bs, sector_num, nb_sectors, pnum);
+
+ Coroutine *co;
+ BdrvCoIsAllocatedData data = {
+ .bs = bs,
+ .sector_num = sector_num,
+ .nb_sectors = nb_sectors,
+ .pnum = pnum,
+ .done = false,
+ };
+
+ co = qemu_coroutine_create(bdrv_is_allocated_co_entry);
+ qemu_coroutine_enter(co, &data);
+ while (!data.done) {
+ qemu_aio_wait();
+ }
+ return data.ret;
}
void bdrv_mon_event(const BlockDriverState *bdrv,
diff --git a/block_int.h b/block_int.h
index 01f73ba..f9e2c9a 100644
--- a/block_int.h
+++ b/block_int.h
@@ -80,8 +80,6 @@ struct BlockDriver {
const uint8_t *buf, int nb_sectors);
void (*bdrv_close)(BlockDriverState *bs);
int (*bdrv_create)(const char *filename, QEMUOptionParameter *options);
- int (*bdrv_is_allocated)(BlockDriverState *bs, int64_t sector_num,
- int nb_sectors, int *pnum);
int (*bdrv_set_key)(BlockDriverState *bs, const char *key);
int (*bdrv_make_empty)(BlockDriverState *bs);
/* aio */
--
1.7.7.1
- [Qemu-devel] [PATCH v2 0/9] block: replace .bdrv_is_allocated() with .bdrv_co_is_allocated(), Stefan Hajnoczi, 2011/11/14
- [Qemu-devel] [PATCH v2 3/9] qed: convert to .bdrv_co_is_allocated(), Stefan Hajnoczi, 2011/11/14
- [Qemu-devel] [PATCH v2 2/9] block: add .bdrv_co_is_allocated(), Stefan Hajnoczi, 2011/11/14
- [Qemu-devel] [PATCH v2 9/9] block: add bdrv_co_is_allocated() interface, Stefan Hajnoczi, 2011/11/14
- [Qemu-devel] [PATCH v2 5/9] vvfat: convert to .bdrv_co_is_allocated(), Stefan Hajnoczi, 2011/11/14
- [Qemu-devel] [PATCH v2 6/9] vdi: convert to .bdrv_co_is_allocated(), Stefan Hajnoczi, 2011/11/14
- [Qemu-devel] [PATCH v2 4/9] block: convert qcow2, qcow2, and vmdk to .bdrv_co_is_allocated(), Stefan Hajnoczi, 2011/11/14
- [Qemu-devel] [PATCH v2 1/9] block: use public bdrv_is_allocated() interface, Stefan Hajnoczi, 2011/11/14
- [Qemu-devel] [PATCH v2 8/9] block: drop .bdrv_is_allocated() interface,
Stefan Hajnoczi <=
- [Qemu-devel] [PATCH v2 7/9] cow: convert to .bdrv_co_is_allocated(), Stefan Hajnoczi, 2011/11/14
- Re: [Qemu-devel] [PATCH v2 0/9] block: replace .bdrv_is_allocated() with .bdrv_co_is_allocated(), Kevin Wolf, 2011/11/23