}
+static int
+qemuNamespaceMknodPaths(virDomainObjPtr vm,
+ const char **paths);
+
+
+int
+qemuDomainBuildNamespace(virDomainObjPtr vm)
+{
+ VIR_AUTOSTRINGLIST paths = NULL;
+
+ if (qemuNamespaceMknodPaths(vm, (const char **) paths) < 0)
+ return -1;
+
+ return 0;
+}
+
+
int
-qemuDomainBuildNamespace(virQEMUDriverConfigPtr cfg,
- virSecurityManagerPtr mgr,
- virDomainObjPtr vm)
+qemuDomainUnshareNamespace(virQEMUDriverConfigPtr cfg,
+ virSecurityManagerPtr mgr,
+ virDomainObjPtr vm)
{
struct qemuDomainCreateDeviceData data;
const char *devPath = NULL;
bool qemuDomainNamespaceEnabled(virDomainObjPtr vm,
qemuDomainNamespace ns);
-int qemuDomainBuildNamespace(virQEMUDriverConfigPtr cfg,
- virSecurityManagerPtr mgr,
- virDomainObjPtr vm);
+int qemuDomainUnshareNamespace(virQEMUDriverConfigPtr cfg,
+ virSecurityManagerPtr mgr,
+ virDomainObjPtr vm);
+
+int qemuDomainBuildNamespace(virDomainObjPtr vm);
void qemuDomainDestroyNamespace(virQEMUDriverPtr driver,
virDomainObjPtr vm);
if (qemuSecurityClearSocketLabel(h->driver->securityManager, h->vm->def) < 0)
goto cleanup;
- if (qemuDomainBuildNamespace(h->cfg, h->driver->securityManager, h->vm) < 0)
+ if (qemuDomainUnshareNamespace(h->cfg, h->driver->securityManager, h->vm) < 0)
goto cleanup;
if (virDomainNumatuneGetMode(h->vm->def->numa, -1, &mode) == 0) {
goto cleanup;
}
+ VIR_DEBUG("Building domain mount namespace (if required)");
+ if (qemuDomainBuildNamespace(vm) < 0)
+ goto cleanup;
+
VIR_DEBUG("Setting up domain cgroup (if required)");
if (qemuSetupCgroup(vm, nnicindexes, nicindexes) < 0)
goto cleanup;