After thinking some time about this, I'm not convinced anymore that
libvirtd itself should handle this.

If libvirtd is started and finds the stale pid file there. It could
check if the process with the pid contained in that file is running
anymore. But even if libvirtd crashed, in the meantime another process
could have got exactly the same pid.

Fortunately, upstart _knows_ that libvirtd just crashed and is not
longer running anymore, and can therefore safely remove the pidfile
(example below). What do you think about this?

E.g.:

  1 description "libvirt daemon"
  2 author "Dustin Kirkland <kirkl...@canonical.com>"
  3 
  4 start on runlevel [2345]
  5 stop on runlevel [!2345]
  6 
  7 expect daemon
  8 respawn
  9 
 10 pre-start script
 11     mkdir -p /var/run/libvirt
 12     if [ -e /var/run/libvirtd.pid ]; then
 13         rm /var/run/libvirtd.pid
 14     fi
 15 end script
 16 
 17 # if you used to set $libvirtd_opts in /etc/default/libvirt-bin, you can 
change the
 18 # 'exec' line here instead
 19 exec /usr/sbin/libvirtd -d

-- 
error : qemudWritePidFile:498 : Failed to open pid file '/var/run/libvirtd.pid' 
: File exists
https://bugs.launchpad.net/bugs/510658
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to