Create directory for lease files if it's missing

If we don't autostart a network it's not being created.

Debian Bug http://bugs.debian.org/715200
This commit is contained in:
Guido Günther 2013-07-07 14:59:48 +02:00
parent cbe31911ad
commit dc4cdc57c7

View File

@ -74,8 +74,9 @@
#ifdef HAVE_LIBPCAP
# define LEASEFILE LOCALSTATEDIR "/run/libvirt/network/nwfilter.leases"
# define TMPLEASEFILE LOCALSTATEDIR "/run/libvirt/network/nwfilter.ltmp"
# define LEASEFILE_DIR LOCALSTATEDIR "/run/libvirt/network/"
# define LEASEFILE LEASEFILE_DIR "nwfilter.leases"
# define TMPLEASEFILE LEASEFILE_DIR "nwfilter.ltmp"
struct virNWFilterSnoopState {
/* lease file */
@ -1881,6 +1882,11 @@ virNWFilterSnoopLeaseFileRefresh(void)
{
int tfd;
if (virFileMakePathWithMode(LEASEFILE_DIR, 0700) < 0) {
virReportError(errno, _("mkdir(\"%s\")"), LEASEFILE_DIR);
return;
}
if (unlink(TMPLEASEFILE) < 0 && errno != ENOENT)
virReportSystemError(errno, _("unlink(\"%s\")"), TMPLEASEFILE);