diff mbox

[RFC,5/6] hmp: support "without_bql"

Message ID 1503301464-27886-6-git-send-email-peterx@redhat.com
State New
Headers show

Commit Message

Peter Xu Aug. 21, 2017, 7:44 a.m. UTC
Introducing new option "without_bql" for HMP commands.  It works just
like QMP "without-bql", but for HMP commands.

Signed-off-by: Peter Xu <peterx@redhat.com>
---
 monitor.c | 10 ++++++++++
 1 file changed, 10 insertions(+)
diff mbox

Patch

diff --git a/monitor.c b/monitor.c
index 18504ef..475a3a6 100644
--- a/monitor.c
+++ b/monitor.c
@@ -124,6 +124,8 @@  typedef struct mon_cmd_t {
     const char *args_type;
     const char *params;
     const char *help;
+    /* Whether this command can be run without taking BQL? */
+    bool without_bql;
     void (*cmd)(Monitor *mon, const QDict *qdict);
     /* @sub_table is a list of 2nd level of commands. If it does not exist,
      * cmd should be used. If it exists, sub_table[?].cmd should be
@@ -3146,6 +3148,14 @@  static void handle_hmp_command(Monitor *mon, const char *cmdline)
         return;
     }
 
+    if (cmd->without_bql) {
+        /*
+         * This is similar to QMP's "without-bql".  See comments in
+         * do_qmp_dispatch().
+         */
+        take_bql = false;
+    }
+
     if (take_bql) {
         qemu_mutex_lock_iothread();
     }