9ae3a8
From c18bb5012af503e6ca0278cc5bd9457d853fa218 Mon Sep 17 00:00:00 2001
9ae3a8
Message-Id: <c18bb5012af503e6ca0278cc5bd9457d853fa218.1387385974.git.minovotn@redhat.com>
9ae3a8
In-Reply-To: <7cba796b16325e96d01e65bd265b4073ab103157.1387385974.git.minovotn@redhat.com>
9ae3a8
References: <7cba796b16325e96d01e65bd265b4073ab103157.1387385974.git.minovotn@redhat.com>
9ae3a8
From: Markus Armbruster <armbru@redhat.com>
9ae3a8
Date: Tue, 17 Dec 2013 06:46:37 +0100
9ae3a8
Subject: [PATCH 3/5] HMP: Forward-port __com.redhat_drive_add from RHEL-6
9ae3a8
9ae3a8
RH-Author: Markus Armbruster <armbru@redhat.com>
9ae3a8
Message-id: <1387262799-10350-5-git-send-email-armbru@redhat.com>
9ae3a8
Patchwork-id: 56295
9ae3a8
O-Subject: [PATCH v2 4/6] HMP: Forward-port __com.redhat_drive_add from RHEL-6
9ae3a8
Bugzilla: 889051
9ae3a8
RH-Acked-by: Fam Zheng <famz@redhat.com>
9ae3a8
RH-Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
9ae3a8
RH-Acked-by: Luiz Capitulino <lcapitulino@redhat.com>
9ae3a8
9ae3a8
From: Markus Armbruster <armbru@redhat.com>
9ae3a8
9ae3a8
Signed-off-by: Markus Armbruster <armbru@redhat.com>
9ae3a8
---
9ae3a8
 blockdev.c              | 14 ++++++++++++++
9ae3a8
 hmp-commands.hx         | 15 +++++++++++++++
9ae3a8
 include/sysemu/sysemu.h |  1 +
9ae3a8
 vl.c                    |  1 +
9ae3a8
 4 files changed, 31 insertions(+)
9ae3a8
9ae3a8
Signed-off-by: Michal Novotny <minovotn@redhat.com>
9ae3a8
---
9ae3a8
 blockdev.c              | 14 ++++++++++++++
9ae3a8
 hmp-commands.hx         | 15 +++++++++++++++
9ae3a8
 include/sysemu/sysemu.h |  1 +
9ae3a8
 vl.c                    |  1 +
9ae3a8
 4 files changed, 31 insertions(+)
9ae3a8
9ae3a8
diff --git a/blockdev.c b/blockdev.c
9ae3a8
index f6d607c..93fb339 100644
9ae3a8
--- a/blockdev.c
9ae3a8
+++ b/blockdev.c
9ae3a8
@@ -1916,3 +1916,17 @@ QemuOptsList qemu_drive_opts = {
9ae3a8
         { /* end of list */ }
9ae3a8
     },
9ae3a8
 };
9ae3a8
+
9ae3a8
+QemuOptsList qemu_simple_drive_opts = {
9ae3a8
+    .name = "simple-drive",
9ae3a8
+    .implied_opt_name = "format",
9ae3a8
+    .head = QTAILQ_HEAD_INITIALIZER(qemu_simple_drive_opts.head),
9ae3a8
+    .desc = {
9ae3a8
+        /*
9ae3a8
+         * no elements => accept any
9ae3a8
+         * sanity checking will happen later
9ae3a8
+         * when setting device properties
9ae3a8
+         */
9ae3a8
+        { /* end if list */ }
9ae3a8
+    }
9ae3a8
+};
9ae3a8
diff --git a/hmp-commands.hx b/hmp-commands.hx
9ae3a8
index c881e01..bfb565b 100644
9ae3a8
--- a/hmp-commands.hx
9ae3a8
+++ b/hmp-commands.hx
9ae3a8
@@ -1091,6 +1091,21 @@ STEXI
9ae3a8
 Add drive to PCI storage controller.
9ae3a8
 ETEXI
9ae3a8
 
9ae3a8
+    {
9ae3a8
+        .name       = RFQDN_REDHAT "drive_add",
9ae3a8
+        .args_type  = "simple-drive:O",
9ae3a8
+        .params     = "id=name,[file=file][,format=f][,media=d]...",
9ae3a8
+        .help       = "Create a drive similar to -device if=none.",
9ae3a8
+	.user_print = monitor_user_noop,
9ae3a8
+        .mhandler.cmd_new = simple_drive_add,
9ae3a8
+    },
9ae3a8
+
9ae3a8
+STEXI
9ae3a8
+@item __com.redhat_drive_add
9ae3a8
+@findex __com.redhat_drive_add
9ae3a8
+Create a drive similar to -device if=none.
9ae3a8
+ETEXI
9ae3a8
+
9ae3a8
 #if defined(TARGET_I386) && 0 /* Disabled for Red Hat Enterprise Linux */
9ae3a8
     {
9ae3a8
         .name       = "pci_add",
9ae3a8
diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h
9ae3a8
index 8fbc818..c70d2dd 100644
9ae3a8
--- a/include/sysemu/sysemu.h
9ae3a8
+++ b/include/sysemu/sysemu.h
9ae3a8
@@ -192,6 +192,7 @@ QemuOpts *qemu_get_machine_opts(void);
9ae3a8
 bool usb_enabled(bool default_usb);
9ae3a8
 
9ae3a8
 extern QemuOptsList qemu_drive_opts;
9ae3a8
+extern QemuOptsList qemu_simple_drive_opts;
9ae3a8
 extern QemuOptsList qemu_chardev_opts;
9ae3a8
 extern QemuOptsList qemu_device_opts;
9ae3a8
 extern QemuOptsList qemu_netdev_opts;
9ae3a8
diff --git a/vl.c b/vl.c
9ae3a8
index da12b90..4a79f62 100644
9ae3a8
--- a/vl.c
9ae3a8
+++ b/vl.c
9ae3a8
@@ -2837,6 +2837,7 @@ int main(int argc, char **argv, char **envp)
9ae3a8
     module_call_init(MODULE_INIT_QOM);
9ae3a8
 
9ae3a8
     qemu_add_opts(&qemu_drive_opts);
9ae3a8
+    qemu_add_opts(&qemu_simple_drive_opts);
9ae3a8
     qemu_add_opts(&qemu_chardev_opts);
9ae3a8
     qemu_add_opts(&qemu_device_opts);
9ae3a8
     qemu_add_opts(&qemu_netdev_opts);
9ae3a8
-- 
9ae3a8
1.7.11.7
9ae3a8