]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
daemon: Allow overriding NOFILES ulimit for the daemon as well
authorMichal Privoznik <mprivozn@redhat.com>
Thu, 12 Jan 2012 17:47:30 +0000 (18:47 +0100)
committerMichal Privoznik <mprivozn@redhat.com>
Wed, 1 Feb 2012 15:04:30 +0000 (16:04 +0100)
One of my latest patches (d8db0f9690) created support for setting
the limit for the maximum of opened files by qemu user. However,
since libvirtd keeps one FD opened per domain (well, for qemu at least)
it will likely hit this limit on huge scenarios.

daemon/libvirtd.init.in
daemon/libvirtd.service.in
daemon/libvirtd.sysconf
daemon/libvirtd.upstart

index 4e610cb231aa07dd990bf81de6ef66797b64e586..3c49b1f01795264b32d8e1eb835b38697e5a105e 100644 (file)
@@ -60,6 +60,13 @@ start() {
     echo -n $"Starting $SERVICE daemon: "
     mkdir -p @localstatedir@/cache/libvirt
     rm -rf @localstatedir@/cache/libvirt/*
+
+    # LIBVIRTD_NOFILES_LIMIT from /etc/sysconfig/libvirtd is not handled
+    # automatically
+    if [ -n "$LIBVIRTD_NOFILES_LIMIT" ]; then
+        ulimit -n "$LIBVIRTD_NOFILES_LIMIT"
+    fi
+
     KRB5_KTNAME=$KRB5_KTNAME daemon --pidfile $PIDFILE --check $SERVICE $PROCESS --daemon $LIBVIRTD_CONFIG_ARGS $LIBVIRTD_ARGS
     RETVAL=$?
     echo
index 9661428df66f046c1fd0b96f885fd196d769efbb..8f2458af0c06494c435ca0e03f2c86b1d1fe1dcf 100644 (file)
@@ -15,6 +15,8 @@ Before=libvirt-guests.service
 EnvironmentFile=-/etc/sysconfig/libvirtd
 ExecStart=@sbindir@/libvirtd $LIBVIRTD_ARGS
 ExecReload=/bin/kill -HUP $MAINPID
+# Override the maximum number of opened files
+#LimitNOFILE=2048
 
 [Install]
 WantedBy=multi-user.target
index ab273c85f6c9206c33ee8f28bd9aa36a346cdae9..3af1f037d64b0f9007780a2ef25d9b1c84ce918b 100644 (file)
@@ -19,3 +19,6 @@
 #QEMU_AUDIO_DRV=sdl
 #
 #SDL_AUDIODRIVER=pulse
+
+# Override the maximum number of opened files
+#LIBVIRTD_NOFILES_LIMIT=2048
index f51701aa6cfdecbe90031b113d26f6a871e712af..e620f41450af9571a48a11e98defdcebcd8b634c 100644 (file)
@@ -31,6 +31,11 @@ script
         ulimit -c "$DAEMON_COREFILE_LIMIT"
     fi
 
+    # LIBVIRTD_NOFILES_LIMIT from /etc/sysconfig/libvirtd is not handled
+    # automatically
+    if [ -n "$LIBVIRTD_NOFILES_LIMIT" ]; then
+        ulimit -n "$LIBVIRTD_NOFILES_LIMIT"
+    fi
     mkdir -p /var/cache/libvirt
     rm -rf /var/cache/libvirt/*