提交 05436ab7 编写于 作者: D Daniel P. Berrange

Fix valgrind crash in LXC & avoid probing unneccessarily

上级 d8637214
Fri Jan 30 16:51:22 GMT 2009 Daniel P. Berrange <berrange@redhat.com>
* src/lxc_driver.c: Avoid probing for LXC until we know we're
going to try opening the connection. Disable when using valgrind
Fri Jan 30 16:48:22 GMT 2009 Daniel P. Berrange <berrange@redhat.com>
* src/storage_conf.c: Fix leak of volume objects when free'ing
......
......@@ -80,14 +80,14 @@ static virDrvOpenStatus lxcOpen(virConnectPtr conn,
virConnectAuthPtr auth ATTRIBUTE_UNUSED,
int flags ATTRIBUTE_UNUSED)
{
if (!lxcProbe())
goto declineConnection;
if (lxc_driver == NULL)
goto declineConnection;
/* Verify uri was specified */
if (conn->uri == NULL) {
if (!lxcProbe())
goto declineConnection;
conn->uri = xmlParseURI("lxc:///");
if (!conn->uri) {
virReportOOMError(conn);
......@@ -96,8 +96,11 @@ static virDrvOpenStatus lxcOpen(virConnectPtr conn,
} else if (conn->uri->scheme == NULL ||
STRNEQ(conn->uri->scheme, "lxc")) {
goto declineConnection;
} else if (!lxcProbe()) {
goto declineConnection;
}
conn->privateData = lxc_driver;
return VIR_DRV_OPEN_SUCCESS;
......@@ -1119,6 +1122,15 @@ static int lxcStartup(void)
{
uid_t uid = getuid();
unsigned int i;
char *ld;
/* Valgrind gets very annoyed when we clone containers, so
* disable LXC when under valgrind
* XXX remove this when valgrind is fixed
*/
ld = getenv("LD_PRELOAD");
if (ld && strstr(ld, "vgpreload"))
return -1;
/* Check that the user is root */
if (0 != uid) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册