On Thu, Jun 18, 2026 at 06:25:35PM +0200, Peter Krempa wrote:
On Thu, Jun 18, 2026 at 17:13:26 +0100, Daniel P. Berrangé wrote:
On Thu, Jun 18, 2026 at 05:51:57PM +0200, Peter Krempa wrote:
On Mon, Jun 15, 2026 at 16:55:06 +0200, Peter Krempa via Devel wrote:
On Mon, Jun 15, 2026 at 15:39:06 +0100, Daniel P. Berrangé wrote:
On Mon, Jun 15, 2026 at 04:23:55PM +0200, Peter Krempa via Devel wrote:
[...]
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/virtqemud.service.extra.in | 4 ++++ src/remote/libvirtd.service.in | 4 ++++ 2 files changed, 8 insertions(+)
diff --git a/src/qemu/virtqemud.service.extra.in b/src/qemu/virtqemud.service.extra.in index cc16b6a9bb..3cc2edcfd0 100644 --- a/src/qemu/virtqemud.service.extra.in +++ b/src/qemu/virtqemud.service.extra.in @@ -6,6 +6,10 @@ Requires=virtlogd.socket Wants=virtlockd.socket After=virtlogd.socket After=virtlockd.socket
Is there any point in keeping these two lines ? The "Wants" on the socket, and the "After" on the sevice should be enough ?
So originally I've thought that we'd need it so that the helper daemon socket is really started, but:
man systemd.unit states:
Default Dependencies
[...]
For example, target units will complement all configured dependencies of type Wants= or Requires= with dependencies of type After=. See systemd.target(5) for details.
So we can delete it; but in fact anywhere where we have a dependancy, not just an ordering requirement.
So I had a better look at the man pages, and what I quoted is true only for '.target' units so doesn't apply here.
I didn't find anything regarding any "implicit" or "default" dependancy being considered when a foo.service has 'Wants=bar.socket' that would ensure that bar.socket is available already when foo.service starts.
Thus I think we need to keep both After=virtlogd.socket and After=virtlogd.service as one applies at startup to ensure socket is around and the second one ensures that the hypervisor daemon has the logging daemon available the whole time.
If we have
virtqemud.service After virtlogd.service
and then implicitly we get
virtlogd.sevice After virtlogd.socket
Then transitively we have "virtqemud.service After virtlogd.socket" and thus don't need to state that explicitly .
My understanding is that the transitivity only applies if 'virtlogd.service' were being started at that time, which it will not if it is socket activated.
Oh yes, I see now. With regards, Daniel -- |: https://berrange.com ~~ https://hachyderm.io/@berrange :| |: https://libvirt.org ~~ https://entangle-photo.org :| |: https://pixelfed.art/berrange ~~ https://fstop138.berrange.com :|