[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 29/47] mirror: support querying target file
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PATCH 29/47] mirror: support querying target file |
Date: |
Tue, 24 Jul 2012 13:04:07 +0200 |
This lets query-block-jobs retrieve information and statistics on the
mirroring target.
Signed-off-by: Paolo Bonzini <address@hidden>
---
block/mirror.c | 11 +++++++++++
blockjob.c | 2 +-
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/block/mirror.c b/block/mirror.c
index f7d36f9..9c8ebd4 100644
--- a/block/mirror.c
+++ b/block/mirror.c
@@ -205,10 +205,21 @@ static void mirror_set_speed(BlockJob *job, int64_t
speed, Error **errp)
ratelimit_set_speed(&s->limit, speed / BDRV_SECTOR_SIZE, SLICE_TIME);
}
+static void mirror_query(BlockJob *job, BlockJobInfo *info)
+{
+ MirrorBlockJob *s = container_of(job, MirrorBlockJob, common);
+
+ info->has_target = true;
+ info->target = g_new0(BlockJobTargetInfo, 1);
+ info->target->info = bdrv_query_info(s->target);
+ info->target->stats = bdrv_query_stats(s->target);
+}
+
static BlockJobType mirror_job_type = {
.instance_size = sizeof(MirrorBlockJob),
.job_type = "mirror",
.set_speed = mirror_set_speed,
+ .query = mirror_query,
};
void mirror_start(BlockDriverState *bs, BlockDriverState *target,
diff --git a/blockjob.c b/blockjob.c
index b5a4033..42485bf 100644
--- a/blockjob.c
+++ b/blockjob.c
@@ -199,7 +199,7 @@ void block_job_sleep_ns(BlockJob *job, QEMUClock *clock,
int64_t ns)
BlockJobInfo *block_job_query(BlockJob *job)
{
- BlockJobInfo *info = g_new(BlockJobInfo, 1);
+ BlockJobInfo *info = g_new0(BlockJobInfo, 1);
info->type = g_strdup(job->job_type->job_type);
info->device = g_strdup(bdrv_get_device_name(job->bs));
info->len = job->len;
--
1.7.10.4
- [Qemu-devel] [PATCH 11/47] block: reorganize io error code, (continued)
- [Qemu-devel] [PATCH 11/47] block: reorganize io error code, Paolo Bonzini, 2012/07/24
- [Qemu-devel] [PATCH 16/47] qemu-iotests: map underscore to dash in QMP argument names, Paolo Bonzini, 2012/07/24
- [Qemu-devel] [PATCH 15/47] blkdebug: process all set_state rules in the old state, Paolo Bonzini, 2012/07/24
- [Qemu-devel] [PATCH 14/47] stream: add on-error argument, Paolo Bonzini, 2012/07/24
- [Qemu-devel] [PATCH 19/47] block: add bdrv_query_info, Paolo Bonzini, 2012/07/24
- [Qemu-devel] [PATCH 20/47] block: add bdrv_query_stats, Paolo Bonzini, 2012/07/24
- [Qemu-devel] [PATCH 26/47] block: introduce BLOCK_JOB_READY event, Paolo Bonzini, 2012/07/24
- [Qemu-devel] [PATCH 27/47] block: introduce mirror job, Paolo Bonzini, 2012/07/24
- [Qemu-devel] [PATCH 29/47] mirror: support querying target file,
Paolo Bonzini <=
- [Qemu-devel] [PATCH 31/47] qemu-iotests: add mirroring test case, Paolo Bonzini, 2012/07/24
- [Qemu-devel] [PATCH 33/47] mirror: add support for on-source-error/on-target-error, Paolo Bonzini, 2012/07/24
- [Qemu-devel] [PATCH 32/47] block: forward bdrv_iostatus_reset to block job, Paolo Bonzini, 2012/07/24
- [Qemu-devel] [PATCH 34/47] qmp: add pull_event function, Paolo Bonzini, 2012/07/24
- [Qemu-devel] [PATCH 37/47] add hierarchical bitmap data type and test cases, Paolo Bonzini, 2012/07/24