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