On Tue, Jan 14, 2014 at 02:49:56PM +0100, Cédric Bosdonnat wrote:
---
src/lxc/lxc_native.c | 41 ++++++++++++++++++++++++++++
tests/lxcconf2xmldata/lxcconf2xml-simple.xml | 6 ++++
2 files changed, 47 insertions(+)
diff --git a/src/lxc/lxc_native.c b/src/lxc/lxc_native.c
index 3667d04..6ea4998 100644
--- a/src/lxc/lxc_native.c
+++ b/src/lxc/lxc_native.c
@@ -673,6 +673,43 @@ lxcConvertNetworkSettings(virDomainDefPtr def, virPropertiesPtr
properties)
return 0;
}
+static int
+lxcCreateConsoles(virDomainDefPtr def, virPropertiesPtr properties)
+{
+ char *tty;
+ int nbttys = 0;
+ virDomainChrDefPtr console;
+ size_t i;
+
+ if (!(tty = virPropertiesLookup(properties, "lxc.tty")))
+ return 0;
+
+ if (virStrToLong_i(tty, NULL, 10, &nbttys) < 0)
+ return -1;
You need to virReportError when this fails to parse.
+
+ if (VIR_ALLOC_N(def->consoles, nbttys) < 0)
+ return -1;
+
+ def->nconsoles = nbttys;
+ for (i = 0; i < nbttys; i++) {
+ if (!(console = virDomainChrDefNew()))
+ goto error;
+
+ console->deviceType = VIR_DOMAIN_CHR_DEVICE_TYPE_CONSOLE;
+ console->targetType = VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_LXC;
+ console->target.port = i;
+ console->source.type = VIR_DOMAIN_CHR_TYPE_PTY;
+
+ def->consoles[i] = console;
+ }
+
+ return 0;
+
+error:
+ virDomainChrDefFree(console);
+ return -1;
+}
+
Daniel
--
|:
http://berrange.com -o-
http://www.flickr.com/photos/dberrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|:
http://entangle-photo.org -o-
http://live.gnome.org/gtk-vnc :|