[Dnsmasq-discuss] [PATCH] dnsmasq: failed to create inotify for /etc/resolv.conf: No space left on device
Simon Kelley
simon at thekelleys.org.uk
Fri Feb 20 16:18:35 UTC 2026
A problem with this patch is the error handling. You can't call die() in
the second call to inotify_dnsmasq_init() because the daemon has forked
into the background by then. It's necessary to do the whole
fatal_event() stuff to make sure that the original process exits with a
suitable error code. Some of the errors have turned into warnings, but
there are still errors in there that should be fatal.
Given that this patch makes dnsmasq change its behaviour from what's
configured, sometimes, and with only a log warning, do you still think
it's worth doing now you've found the root cause?
Simon.
On 11.02.2026 21:12, Petr Menšík via Dnsmasq-discuss wrote:
> Hello!
>
> I have recently started to have issues when starting libvirt, which
> starts dnsmasq for DHCP and local machine DNS.
>
> I have started seeing inotify sockets failures in multiple packages. But
> the thing is, I cannot start libvirt network now. I think inotify socket
> should not usually be cause of fatal error.
>
> sudo virsh net-start default ends always with this failure. It usually
> helps to reboot the machine. I am not sure how to identify inotify usage
> on my machine.
>
> Strange is this seems to be problem only of root user.
>
> $ sudo inotifywatch /etc/resolv.conf
> Establishing watches...
> Failed to watch /etc/resolv.conf; upper limit on inotify watches reached!
>
> $ inotifywatch /etc/resolv.conf
> Establishing watches...
> Finished establishing watches, now collecting statistics.
>
> Strange is number of user watches should be somehow high:
>
> $ cat /proc/sys/fs/inotify/max_user_watches
> 511013
>
> So I started thinking, should be a failure to initialize inotify socket
> a fatal error? It seems to me warning would be all right.
>
> dnsmasq supports running even without inotify support. I have created a
> modification to run even in that case, only emit warning. I think
> failure to observe resolv.conf changes should not be a fatal error,
> unless requested somehow more explicitly.
>
> In attached change, I retry inotify creation with dropped privileges. It
> might help in my case and even for others. First time it fails only
> silently, because logging is not yet prepared. Only second time it also
> logs warnings.
>
> Minor change is making more obvious difference between main inotify
> socket and inotify watch creation error.
>
> Regards,
> Petr
>
>
> _______________________________________________
> Dnsmasq-discuss mailing list
> Dnsmasq-discuss at lists.thekelleys.org.uk
> https://lists.thekelleys.org.uk/cgi-bin/mailman/listinfo/dnsmasq-discuss
More information about the Dnsmasq-discuss
mailing list