[libvirt] [RFC PATCH v1 2/4] Register cpu hotplug netlink handler for libvirtd.

Tang Chen tangchen at cn.fujitsu.com
Mon Sep 3 06:06:19 UTC 2012


Signed-off-by: Tang Chen <tangchen at cn.fujitsu.com>
---
 daemon/libvirtd.c |   11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/daemon/libvirtd.c b/daemon/libvirtd.c
index 19dd26b..e71cd79 100644
--- a/daemon/libvirtd.c
+++ b/daemon/libvirtd.c
@@ -56,6 +56,8 @@
 #include "uuid.h"
 #include "viraudit.h"
 #include "locking/lock_manager.h"
+#include "hotplug.h"
+#include "cgroup.h"
 
 #ifdef WITH_DRIVER_MODULES
 # include "driver.h"
@@ -948,6 +950,7 @@ int main(int argc, char **argv) {
     bool implicit_conf = false;
     char *run_dir = NULL;
     mode_t old_umask;
+    virCgroupPtr rootgrp = NULL;
 
     struct option opts[] = {
         { "verbose", no_argument, &verbose, 1},
@@ -1324,6 +1327,13 @@ int main(int argc, char **argv) {
         goto cleanup;
     }
 
+    /* Register cpu hotplug netlink handler for libvirtd */
+    if (virCgroupAppRoot(privileged, &rootgrp, 0) != 0 ||
+        virCpuHotplugRegisterCallback(rootgrp) < 0) {
+        ret = VIR_DAEMON_ERR_NETWORK;
+        goto cleanup;
+    }
+
     /* Run event loop. */
     virNetServerRun(srv);
 
@@ -1352,6 +1362,7 @@ cleanup:
     if (pid_file_fd != -1)
         virPidFileReleasePath(pid_file, pid_file_fd);
 
+    virCgroupFree(&rootgrp);
     VIR_FREE(sock_file);
     VIR_FREE(sock_file_ro);
     VIR_FREE(pid_file);
-- 
1.7.10.1




More information about the libvir-list mailing list