diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2013-09-04 19:00:22 +0200 |
---|---|---|
committer | Stefan Hajnoczi <stefanha@redhat.com> | 2013-09-06 15:25:08 +0200 |
commit | bdad13b9deec47d5d9eaf7f43867d19a79471244 (patch) | |
tree | 2a785eee2dd21b55f0a784971f0f6d62a1956b46 /block | |
parent | df2a6f29a5019707d69f6eeb30cf792841cae5aa (diff) |
block: make bdrv_co_is_allocated static
bdrv_is_allocated can detect coroutine context and go through a fast
path, similar to other block layer functions.
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'block')
-rw-r--r-- | block/backup.c | 4 | ||||
-rw-r--r-- | block/raw_bsd.c | 2 | ||||
-rw-r--r-- | block/stream.c | 4 |
3 files changed, 5 insertions, 5 deletions
diff --git a/block/backup.c b/block/backup.c index 47fb23fb61..04c4b5c263 100644 --- a/block/backup.c +++ b/block/backup.c @@ -289,14 +289,14 @@ static void coroutine_fn backup_run(void *opaque) * backing file. */ for (i = 0; i < BACKUP_SECTORS_PER_CLUSTER;) { - /* bdrv_co_is_allocated() only returns true/false based + /* bdrv_is_allocated() only returns true/false based * on the first set of sectors it comes across that * are are all in the same state. * For that reason we must verify each sector in the * backup cluster length. We end up copying more than * needed but at some point that is always the case. */ alloced = - bdrv_co_is_allocated(bs, + bdrv_is_allocated(bs, start * BACKUP_SECTORS_PER_CLUSTER + i, BACKUP_SECTORS_PER_CLUSTER - i, &n); i += n; diff --git a/block/raw_bsd.c b/block/raw_bsd.c index ab2b0fd7d2..926712ed27 100644 --- a/block/raw_bsd.c +++ b/block/raw_bsd.c @@ -62,7 +62,7 @@ static int coroutine_fn raw_co_is_allocated(BlockDriverState *bs, int64_t sector_num, int nb_sectors, int *pnum) { - return bdrv_co_is_allocated(bs->file, sector_num, nb_sectors, pnum); + return bdrv_is_allocated(bs->file, sector_num, nb_sectors, pnum); } static int coroutine_fn raw_co_write_zeroes(BlockDriverState *bs, diff --git a/block/stream.c b/block/stream.c index 7aa250061c..fe242baae0 100644 --- a/block/stream.c +++ b/block/stream.c @@ -119,8 +119,8 @@ wait: break; } - ret = bdrv_co_is_allocated(bs, sector_num, - STREAM_BUFFER_SIZE / BDRV_SECTOR_SIZE, &n); + ret = bdrv_is_allocated(bs, sector_num, + STREAM_BUFFER_SIZE / BDRV_SECTOR_SIZE, &n); if (ret == 1) { /* Allocated in the top, no need to copy. */ copy = false; |