/*
- * Copyright (C) 2008-2010 Red Hat, Inc.
+ * Copyright (C) 2008-2011 Red Hat, Inc.
* Copyright (C) 2008 IBM Corp.
*
* lxc_container.c: file description
char *ttyPath)
{
pid_t pid;
- int flags;
+ int cflags;
int stacksize = getpagesize() * 4;
char *stack, *stacktop;
lxc_child_argv_t args = { def, nveths, veths, control, ttyPath,
}
stacktop = stack + stacksize;
- flags = CLONE_NEWPID|CLONE_NEWNS|CLONE_NEWUTS|CLONE_NEWIPC|SIGCHLD;
+ cflags = CLONE_NEWPID|CLONE_NEWNS|CLONE_NEWUTS|CLONE_NEWIPC|SIGCHLD;
if (userns_supported()) {
VIR_DEBUG("Enable user namespaces");
- flags |= CLONE_NEWUSER;
+ cflags |= CLONE_NEWUSER;
}
if (def->nets != NULL) {
VIR_DEBUG("Enable network namespaces");
- flags |= CLONE_NEWNET;
+ cflags |= CLONE_NEWNET;
}
- pid = clone(lxcContainerChild, stacktop, flags, &args);
+ pid = clone(lxcContainerChild, stacktop, cflags, &args);
VIR_FREE(stack);
VIR_DEBUG("clone() completed, new container PID is %d", pid);
static virDrvOpenStatus lxcOpen(virConnectPtr conn,
virConnectAuthPtr auth ATTRIBUTE_UNUSED,
- unsigned int flags ATTRIBUTE_UNUSED)
+ unsigned int flags)
{
+ virCheckFlags(VIR_CONNECT_RO, VIR_DRV_OPEN_ERROR);
+
/* Verify uri was specified */
if (conn->uri == NULL) {
if (lxc_driver == NULL)
static int lxcDomainSetMemoryParameters(virDomainPtr dom,
virTypedParameterPtr params,
int nparams,
- unsigned int flags ATTRIBUTE_UNUSED)
+ unsigned int flags)
{
lxc_driver_t *driver = dom->conn->privateData;
int i;
virDomainObjPtr vm = NULL;
int ret = -1;
+ virCheckFlags(0, -1);
+
lxcDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
static int lxcDomainGetMemoryParameters(virDomainPtr dom,
virTypedParameterPtr params,
int *nparams,
- unsigned int flags ATTRIBUTE_UNUSED)
+ unsigned int flags)
{
lxc_driver_t *driver = dom->conn->privateData;
int i;
int ret = -1;
int rc;
+ virCheckFlags(0, -1);
+
lxcDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);