On Mon, Feb 09, 2015 at 16:57:17 +0100, Ján Tomko wrote: > On Fri, Feb 06, 2015 at 04:32:25PM +0100, Peter Krempa wrote: > > From: Luyao Huang <lhuang@xxxxxxxxxx> > > > > Export the required helpers and add backend code to hotplug RNG devices. > > > > Signed-off-by: Luyao Huang <lhuang@xxxxxxxxxx> > > Signed-off-by: Peter Krempa <pkrempa@xxxxxxxxxx> > > --- > > src/qemu/qemu_command.c | 2 +- > > src/qemu/qemu_command.h | 4 ++ > > src/qemu/qemu_driver.c | 8 +++- > > src/qemu/qemu_hotplug.c | 99 +++++++++++++++++++++++++++++++++++++++++++++++++ > > src/qemu/qemu_hotplug.h | 3 ++ > > 5 files changed, 114 insertions(+), 2 deletions(-) > > > > -- 8< 8< 8< -- > > > + > > + /* attach the device - up to a 3 stage process */ > > + qemuDomainObjEnterMonitor(driver, vm); > > + > > + if (rng->backend == VIR_DOMAIN_RNG_BACKEND_EGD && > > + qemuMonitorAttachCharDev(priv->mon, charAlias, > > + rng->source.chardev) < 0) > > + goto failchardev; > > + > > + if (qemuMonitorAddObject(priv->mon, type, objAlias, props) < 0) > > + goto failbackend; > > + > > + if (qemuMonitorAddDevice(priv->mon, devstr) < 0) > > + goto failfrontend; > > + > > + if (qemuDomainObjExitMonitor(driver, vm) < 0) { > > + vm = NULL; > > + goto cleanup; > > + } > > I know an OOM error at this exact location is not that likely, but > it would be nicer to prealloc the space in vm->def before entering > the monitor so that the operation below cannot fail, like we do > when hotplugging other devices. Sigh. Okay. I've switched to the preallocation approach as we do usually in this case. > > Jan Peter
Attachment:
signature.asc
Description: Digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list