[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC][PATCH v4 03/18] virtagent: qemu-vp, integrate vir
From: |
Jes Sorensen |
Subject: |
Re: [Qemu-devel] [RFC][PATCH v4 03/18] virtagent: qemu-vp, integrate virtagent server |
Date: |
Thu, 18 Nov 2010 15:02:36 +0100 |
User-agent: |
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.12) Gecko/20101103 Fedora/1.0-0.33.b2pre.fc14 Lightning/1.0b3pre Thunderbird/3.1.6 |
On 11/16/10 17:01, Michael Roth wrote:
> + bool enable_virtagent;
>
> chr->opaque = drv;
> chr->chr_write = vp_chr_write;
> @@ -2025,9 +2029,31 @@ static CharDriverState
> *qemu_chr_open_virtproxy(QemuOpts *opts)
> /* parse socket forwarding options */
> qemu_opt_foreach(opts, vp_init_forwards, drv, 1);
>
> + /* add forwarding options to enable virtagent server */
> + enable_virtagent = qemu_opt_get_bool(opts, "virtagent", 0);
int qemu_opt_get_bool(QemuOpts *opts, const char *name, int defval)
Sorry qemu_opt_get_bool() actually returns an int.
> diff --git a/qemu-vp.c b/qemu-vp.c
> index cfd2a69..38959e5 100644
> --- a/qemu-vp.c
> +++ b/qemu-vp.c
> @@ -37,6 +37,8 @@
> #include "qemu-option.h"
> #include "qemu_socket.h"
> #include "virtproxy.h"
> +#include "virtagent.h"
> +#include "virtagent-daemon.h"
>
> static bool verbose_enabled = 0;
You don't need to initialize global variables to zero, the compiler does
that.
> +static int init_agent(const VPData *agent_iforward) {
> + QemuOpts *opts = agent_iforward->opts;
> + VPDriver *drv;
> + int ret, index;
> +
> + INFO("initializing agent...");
> + if (verbose_enabled) {
> + qemu_opts_print(opts, NULL);
> + }
> +
> + index = qemu_opt_get_number(agent_iforward->opts, "index", 0);
> + drv = get_channel_drv(index);
> + if (drv == NULL) {
> + warnx("unable to find channel with index: %d", index);
> + goto err;
> + }
> +
> + /* outbound RPCs */
> + ret = va_client_init(drv, false);
> + if (ret) {
> + warnx("error starting RPC server");
> + goto err;
> + }
> +
> + /* start guest RPC server */
> + ret = va_server_init(drv, false);
> + if (ret != 0) {
> + warnx("error starting RPC server");
> + goto err;
> + }
> +
> + return 0;
> +
> +err:
> + return -1;
> +}
Please set appropriate error codes and return something meaningful
instead of just -1.
Cheers,
Jes
- [Qemu-devel] [RFC][PATCH v4 00/18] virtagent: host/guest RPC communication agent, Michael Roth, 2010/11/16
- [Qemu-devel] [RFC][PATCH v4 02/18] virtagent: base definitions for host/guest RPC server, Michael Roth, 2010/11/16
- [Qemu-devel] [RFC][PATCH v4 01/18] virtagent: add common rpc transport defs, Michael Roth, 2010/11/16
- [Qemu-devel] [RFC][PATCH v4 03/18] virtagent: qemu-vp, integrate virtagent server, Michael Roth, 2010/11/16
- Re: [Qemu-devel] [RFC][PATCH v4 03/18] virtagent: qemu-vp, integrate virtagent server,
Jes Sorensen <=
- [Qemu-devel] [RFC][PATCH v4 04/18] virtagent: base RPC client definitions, Michael Roth, 2010/11/16
- [Qemu-devel] [RFC][PATCH v4 05/18] virtagent: add getfile RPC, Michael Roth, 2010/11/16
- [Qemu-devel] [RFC][PATCH v4 06/18] virtagent: add agent_viewfile command, Michael Roth, 2010/11/16
- [Qemu-devel] [RFC][PATCH v4 07/18] virtagent: add getdmesg RPC, Michael Roth, 2010/11/16
- [Qemu-devel] [RFC][PATCH v4 08/18] virtagent: add agent_viewdmesg command, Michael Roth, 2010/11/16
- [Qemu-devel] [RFC][PATCH v4 09/18] virtagent: add va_shutdown RPC, Michael Roth, 2010/11/16