From d4c1beac2e3a3fa4c50bad366709f9957650f848 Mon Sep 17 00:00:00 2001
From: Jeffrey Cody <jcody@redhat.com>
Date: Wed, 21 Mar 2012 21:54:31 +0100
Subject: [PATCH 04/55] Revert "qmp: add query-block-jobs command"

RH-Author: Jeffrey Cody <jcody@redhat.com>
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 <pbonzini@redhat.com>
RH-Acked-by: Marcelo Tosatti <mtosatti@redhat.com>
RH-Acked-by: Kevin Wolf <kwolf@redhat.com>

From: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>

This reverts commit 298a7536dae5069c9e7ffae5c76c25ff5c6f5533.

Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Signed-off-by: Jeff Cody <jcody@redhat.com>
---
 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 <minovotn@redhat.com>
---
 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

