* [Qemu-devel] [PATCH 0/2] vnc: -readconfig fixups
@ 2015-02-17 9:02 Gerd Hoffmann
2015-02-17 9:02 ` [Qemu-devel] [PATCH 1/2] vnc: set id at parse time not init time Gerd Hoffmann
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Gerd Hoffmann @ 2015-02-17 9:02 UTC (permalink / raw)
To: qemu-devel; +Cc: armbru, Gerd Hoffmann
Hi,
Series applies on top of the pending vnc pull request.
Fix -writeconfig/-readconfig related fallout from
the QemuOpts conversion of the vnc configuration.
cheers,
Gerd
Gerd Hoffmann (2):
vnc: set id at parse time not init time
vnc: -readconfig fix
include/ui/console.h | 1 -
qmp.c | 1 -
ui/vnc.c | 22 ++++++++++++----------
vl.c | 7 +++++--
4 files changed, 17 insertions(+), 14 deletions(-)
--
1.8.3.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Qemu-devel] [PATCH 1/2] vnc: set id at parse time not init time
2015-02-17 9:02 [Qemu-devel] [PATCH 0/2] vnc: -readconfig fixups Gerd Hoffmann
@ 2015-02-17 9:02 ` Gerd Hoffmann
2015-02-17 9:02 ` [Qemu-devel] [PATCH 2/2] vnc: -readconfig fix Gerd Hoffmann
2015-02-17 12:19 ` [Qemu-devel] [PATCH 0/2] vnc: -readconfig fixups Markus Armbruster
2 siblings, 0 replies; 4+ messages in thread
From: Gerd Hoffmann @ 2015-02-17 9:02 UTC (permalink / raw)
To: qemu-devel; +Cc: Luiz Capitulino, armbru, Anthony Liguori, Gerd Hoffmann
This way the generated id will be stored in -writeconfig cfg files.
Also we can make vnc_auto_assign_id() local to vnc.c.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
include/ui/console.h | 1 -
qmp.c | 1 -
ui/vnc.c | 22 ++++++++++++----------
3 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/include/ui/console.h b/include/ui/console.h
index 5c19c3c..8a4d671 100644
--- a/include/ui/console.h
+++ b/include/ui/console.h
@@ -335,7 +335,6 @@ void vnc_display_init(const char *id);
void vnc_display_open(const char *id, Error **errp);
void vnc_display_add_client(const char *id, int csock, bool skipauth);
char *vnc_display_local_addr(const char *id);
-void vnc_auto_assign_id(QemuOptsList *olist, QemuOpts *opts);
#ifdef CONFIG_VNC
int vnc_display_password(const char *id, const char *password);
int vnc_display_pw_expire(const char *id, time_t expires);
diff --git a/qmp.c b/qmp.c
index d701cff..c479e77 100644
--- a/qmp.c
+++ b/qmp.c
@@ -391,7 +391,6 @@ static void qmp_change_vnc_listen(const char *target, Error **errp)
return;
}
- vnc_auto_assign_id(olist, opts);
vnc_display_open("default", errp);
}
diff --git a/ui/vnc.c b/ui/vnc.c
index 10a2724..ff0b5bd 100644
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -3687,12 +3687,7 @@ void vnc_display_add_client(const char *id, int csock, bool skipauth)
vnc_connect(vs, csock, skipauth, false);
}
-QemuOpts *vnc_parse_func(const char *str)
-{
- return qemu_opts_parse(qemu_find_opts("vnc"), str, 1);
-}
-
-void vnc_auto_assign_id(QemuOptsList *olist, QemuOpts *opts)
+static void vnc_auto_assign_id(QemuOptsList *olist, QemuOpts *opts)
{
int i = 2;
char *id;
@@ -3705,18 +3700,25 @@ void vnc_auto_assign_id(QemuOptsList *olist, QemuOpts *opts)
qemu_opts_set_id(opts, id);
}
-int vnc_init_func(QemuOpts *opts, void *opaque)
+QemuOpts *vnc_parse_func(const char *str)
{
- Error *local_err = NULL;
QemuOptsList *olist = qemu_find_opts("vnc");
- char *id = (char *)qemu_opts_id(opts);
+ QemuOpts *opts = qemu_opts_parse(olist, str, 1);
+ const char *id = qemu_opts_id(opts);
if (!id) {
/* auto-assign id if not present */
vnc_auto_assign_id(olist, opts);
- id = (char *)qemu_opts_id(opts);
}
+ return opts;
+}
+
+int vnc_init_func(QemuOpts *opts, void *opaque)
+{
+ Error *local_err = NULL;
+ char *id = (char *)qemu_opts_id(opts);
+ assert(id);
vnc_display_init(id);
vnc_display_open(id, &local_err);
if (local_err != NULL) {
--
1.8.3.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [Qemu-devel] [PATCH 2/2] vnc: -readconfig fix
2015-02-17 9:02 [Qemu-devel] [PATCH 0/2] vnc: -readconfig fixups Gerd Hoffmann
2015-02-17 9:02 ` [Qemu-devel] [PATCH 1/2] vnc: set id at parse time not init time Gerd Hoffmann
@ 2015-02-17 9:02 ` Gerd Hoffmann
2015-02-17 12:19 ` [Qemu-devel] [PATCH 0/2] vnc: -readconfig fixups Markus Armbruster
2 siblings, 0 replies; 4+ messages in thread
From: Gerd Hoffmann @ 2015-02-17 9:02 UTC (permalink / raw)
To: qemu-devel; +Cc: Paolo Bonzini, armbru, Anthony Liguori, Gerd Hoffmann
Now that -vnc goes through QemuOpts we can get vnc configuration
via -readconfig too. So setting display_remote in the command
line parsing code doesn't cut it any more, we must check QemuOpts
instead to see whenever any vnc display is configured.
Reported-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
vl.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/vl.c b/vl.c
index 8c8f142..6677f6c 100644
--- a/vl.c
+++ b/vl.c
@@ -2000,7 +2000,6 @@ static DisplayType select_display(const char *p)
} else if (strstart(p, "vnc", &opts)) {
#ifdef CONFIG_VNC
if (*opts == '=') {
- display_remote++;
if (vnc_parse_func(opts+1) == NULL) {
exit(1);
}
@@ -3474,7 +3473,6 @@ int main(int argc, char **argv, char **envp)
break;
case QEMU_OPTION_vnc:
#ifdef CONFIG_VNC
- display_remote++;
if (vnc_parse_func(optarg) == NULL) {
exit(1);
}
@@ -3967,6 +3965,11 @@ int main(int argc, char **argv, char **envp)
}
}
+#if defined(CONFIG_VNC)
+ if (!QTAILQ_EMPTY(&(qemu_find_opts("vnc")->head))) {
+ display_remote++;
+ }
+#endif
if (display_type == DT_DEFAULT && !display_remote) {
#if defined(CONFIG_GTK)
display_type = DT_GTK;
--
1.8.3.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [Qemu-devel] [PATCH 0/2] vnc: -readconfig fixups
2015-02-17 9:02 [Qemu-devel] [PATCH 0/2] vnc: -readconfig fixups Gerd Hoffmann
2015-02-17 9:02 ` [Qemu-devel] [PATCH 1/2] vnc: set id at parse time not init time Gerd Hoffmann
2015-02-17 9:02 ` [Qemu-devel] [PATCH 2/2] vnc: -readconfig fix Gerd Hoffmann
@ 2015-02-17 12:19 ` Markus Armbruster
2 siblings, 0 replies; 4+ messages in thread
From: Markus Armbruster @ 2015-02-17 12:19 UTC (permalink / raw)
To: Gerd Hoffmann; +Cc: qemu-devel
Gerd Hoffmann <kraxel@redhat.com> writes:
> Hi,
>
> Series applies on top of the pending vnc pull request.
> Fix -writeconfig/-readconfig related fallout from
> the QemuOpts conversion of the vnc configuration.
Tested-by: Markus Armbruster <armbru@redhat.com>
I don't like that ID "default" is special, but as long as I can't offer
better ideas...
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-02-17 12:20 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-02-17 9:02 [Qemu-devel] [PATCH 0/2] vnc: -readconfig fixups Gerd Hoffmann
2015-02-17 9:02 ` [Qemu-devel] [PATCH 1/2] vnc: set id at parse time not init time Gerd Hoffmann
2015-02-17 9:02 ` [Qemu-devel] [PATCH 2/2] vnc: -readconfig fix Gerd Hoffmann
2015-02-17 12:19 ` [Qemu-devel] [PATCH 0/2] vnc: -readconfig fixups Markus Armbruster
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.