On 05/15/13 05:52, Lei Li wrote:
> This patch add the filename when the new qapi backend init from opts.
> 
> Commit 2c5f488293c7d0cd095635c74157c2526e2c4947 add support for
> qapi-based chardev initialization, but miss the filename of the
> char device as below:
> 
> (qemu) info chardev
> parallel0: filename=(null)
> serial0: filename=(null)
> compat_monitor0: filename=(null)

> @@ -3276,6 +3276,7 @@ CharDriverState *qemu_chr_new_from_opts(QemuOpts *opts,
>          ChardevReturn *ret = NULL;
>          const char *id = qemu_opts_id(opts);
>          const char *bid = NULL;
> +        char *filename = g_strdup(qemu_opt_get(opts, "backend"));
>  
>          if (qemu_opt_get_bool(opts, "mux", 0)) {
>              bid = g_strdup_printf("%s-base", id);
> @@ -3308,6 +3309,7 @@ CharDriverState *qemu_chr_new_from_opts(QemuOpts *opts,
>          }
>  
>          chr = qemu_chr_find(id);
> +        chr->filename = filename;

That should happen in qmp_chardev_add(), so filename is set consistently
for every chardev no matter how it gets created.

Take care to not overwrite filename, some functions
(qmp_chardev_open_socket for example) do set chr->filename already.

Maybe it's better to put that into the individual qmp_chardev_open_*
functions anyway.

cheers,
  Gerd



Reply via email to