[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
[libvirt] [PATCH] lxc: new tty for container
- From: Dave Leskovec <dlesko linux vnet ibm com>
- To: libvir-list redhat com
- Subject: [libvirt] [PATCH] lxc: new tty for container
- Date: Thu, 05 Jun 2008 23:59:34 -0700
The lxc driver xml parser treats the console element as input when it should be
output only. This obviously causes problems when anything other than /dev/ptmx
is specified or when a container is shutdown and then restarted without
redefining it (so that the console field is reset). This patch treats the
console element as output only and always creates a new device when starting a
container. Also fixed up a string overflow when storing the device name.
Thanks!
--
Best Regards,
Dave Leskovec
IBM Linux Technology Center
Open Virtualization
---
src/lxc_driver.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
Index: b/src/lxc_driver.c
===================================================================
--- a/src/lxc_driver.c 2008-06-04 23:03:00.000000000 -0700
+++ b/src/lxc_driver.c 2008-06-05 11:07:39.000000000 -0700
@@ -41,6 +41,7 @@
#include "lxc_driver.h"
#include "driver.h"
#include "internal.h"
+#include "memory.h"
#include "util.h"
/* debug macros */
@@ -485,7 +486,7 @@
char *ptsStr;
if (0 < strlen(vmDef->tty)) {
- *ttyDev = open(vmDef->tty, O_RDWR|O_NOCTTY|O_NONBLOCK);
+ *ttyDev = posix_openpt(O_RDWR|O_NOCTTY|O_NONBLOCK);
if (*ttyDev < 0) {
lxcError(conn, NULL, VIR_ERR_INTERNAL_ERROR,
"open() tty failed: %s", strerror(errno));
@@ -514,8 +515,11 @@
goto setup_complete;
}
/* This value needs to be stored in the container configuration file */
- if (STRNEQ(ptsStr, vmDef->tty)) {
- strcpy(vmDef->tty, ptsStr);
+ VIR_FREE(vmDef->tty);
+ if (!(vmDef->tty = strdup(ptsStr))) {
+ lxcError(conn, NULL, VIR_ERR_NO_MEMORY,
+ _("unable to get storage for vm tty name"));
+ goto setup_complete;
}
/* Enter raw mode, so all characters are passed directly to child */
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]