From d4c1beac2e3a3fa4c50bad366709f9957650f848 Mon Sep 17 00:00:00 2001 From: Jeffrey Cody Date: Wed, 21 Mar 2012 21:54:31 +0100 Subject: [PATCH 04/55] Revert "qmp: add query-block-jobs command" RH-Author: Jeffrey Cody Message-id: <69e367bec0f328cd8c80cdcad27457d4b84a9b9e.1332362400.git.jcody@redhat.com> Patchwork-id: 38854 O-Subject: [RHEL6.3 qemu-kvm PATCH v8 04/54] Revert "qmp: add query-block-jobs command" Bugzilla: 582475 RH-Acked-by: Paolo Bonzini RH-Acked-by: Marcelo Tosatti RH-Acked-by: Kevin Wolf From: Stefan Hajnoczi This reverts commit 298a7536dae5069c9e7ffae5c76c25ff5c6f5533. Signed-off-by: Stefan Hajnoczi Signed-off-by: Anthony Liguori Signed-off-by: Jeff Cody --- blockdev.c | 49 ------------------------------------------------- blockdev.h | 2 -- monitor.c | 8 -------- qemu-monitor.hx | 34 ---------------------------------- 4 files changed, 0 insertions(+), 93 deletions(-) Signed-off-by: Michal Novotny --- blockdev.c | 49 ------------------------------------------------- blockdev.h | 2 -- monitor.c | 8 -------- qemu-monitor.hx | 34 ---------------------------------- 4 files changed, 0 insertions(+), 93 deletions(-) diff --git a/blockdev.c b/blockdev.c index 3f7feb0..18b3dcd 100644 --- a/blockdev.c +++ b/blockdev.c @@ -992,55 +992,6 @@ exit: } #endif - -static void monitor_print_block_stream(Monitor *mon, const QObject *data) -{ - QDict *stream; - - assert(data); - stream = qobject_to_qdict(data); - - monitor_printf(mon, "Streaming device %s: Completed %" PRId64 " of %" - PRId64 " bytes, speed limit %" PRId64 " bytes/s\n", - qdict_get_str(stream, "device"), - qdict_get_int(stream, "offset"), - qdict_get_int(stream, "len"), - (int64_t)0); -} - -static void monitor_print_block_job(QObject *obj, void *opaque) -{ - monitor_print_block_stream((Monitor *)opaque, obj); -} - -void monitor_print_block_jobs(Monitor *mon, const QObject *data) -{ - QList *streams; - - assert(data); - streams = qobject_to_qlist(data); - assert(streams); /* we pass a list of stream objects to ourselves */ - - if (qlist_empty(streams)) { - monitor_printf(mon, "No active jobs\n"); - return; - } - - qlist_iter(streams, monitor_print_block_job, mon); -} - -void do_info_block_jobs(Monitor *mon, QObject **ret_data) -{ - QList *streams; - StreamState *s; - - streams = qlist_new(); - QLIST_FOREACH(s, &block_streams, list) { - qlist_append_obj(streams, stream_get_qobject(s)); - } - *ret_data = QOBJECT(streams); -} - int do_block_stream(Monitor *mon, const QDict *params, QObject **ret_data) { const char *device = qdict_get_str(params, "device"); diff --git a/blockdev.h b/blockdev.h index 82531c4..5044c14 100644 --- a/blockdev.h +++ b/blockdev.h @@ -72,8 +72,6 @@ int do_change_block(Monitor *mon, const char *device, const char *filename, const char *fmt); int simple_drive_add(Monitor *mon, const QDict *qdict, QObject **ret_data); int do_drive_del(Monitor *mon, const QDict *qdict, QObject **ret_data); -void monitor_print_block_jobs(Monitor *mon, const QObject *data); -void do_info_block_jobs(Monitor *mon, QObject **ret_data); int do_block_stream(Monitor *mon, const QDict *params, QObject **ret_data); int do_block_job_cancel(Monitor *mon, const QDict *params, MonitorCompletion cb, void *opaque); diff --git a/monitor.c b/monitor.c index 5fc04ca..9930635 100644 --- a/monitor.c +++ b/monitor.c @@ -2990,14 +2990,6 @@ static const mon_cmd_t info_cmds[] = { .mhandler.info = do_info_roms, }, { - .name = "block-jobs", - .args_type = "", - .params = "", - .help = "show block job status", - .user_print = monitor_print_block_jobs, - .mhandler.info_new = do_info_block_jobs, - }, - { .name = NULL, }, }; diff --git a/qemu-monitor.hx b/qemu-monitor.hx index e88006f..cdcaa57 100644 --- a/qemu-monitor.hx +++ b/qemu-monitor.hx @@ -2975,43 +2975,9 @@ show device tree show qdev device model list @item info roms show roms -@item info block-jobs -show progress of background block device operations @end table ETEXI -SQMP -query-block-jobs ----------------- - -Show progress of ongoing block device operations. - -Return a json-array of all block device operations. If no operation is -active then return an empty array. Each operation is a json-object with the -following data: - -- type: job type ("stream" for image streaming, json-string) -- device: device name (json-string) -- end: maximum progress value (json-int) -- position: current progress value (json-int) -- speed: rate limit, bytes per second (json-int) - -Progress can be observed as position increases and it reaches end when -the operation completes. Position and end have undefined units but can be -used to calculate a percentage indicating the progress that has been made. - -Example: - --> { "execute": "query-block-jobs" } -<- { "return":[ - { "type": "stream", "device": "virtio0", - "end": 10737418240, "position": 709632, - "speed": 0 } - ] - } - -EQMP - HXCOMM DO NOT add new commands after 'info', move your addition before it! STEXI -- 1.7.7.6