On 11/1/23 13:01, Daniel P. Berrangé wrote:
> If libvirt is built in client only mode, the libvirtd/virtqemud/etc
> daemons won't exist. If the client is told to connect to a local
> hypervisor, it'll see the socket doesn't exist, try to spawn the
> daemon and then re-try connecting to the socket for a few seconds.
> Ultimately this will fail because the daemon doesn't exist and the
> user gets an error message
> 
>   error: Failed to connect socket to '/run/user/1000/libvirt/virtqemud-sock': 
> No such file or directory
> 
> technically this is accurate, but it doesn't help identify the root
> cause. With this change it will now report
> 
>   error: binary 'virtqemud' does not exist in $PATH: No such file or directory
> 
> and will skip all the socket connect retries
> 
> Signed-off-by: Daniel P. Berrangé <[email protected]>
> ---
> 
> Last time it was suggested that virCommandGetBinaryPath could be
> extended to always check whether the binary exists. I started
> doing that and realized it was a bad idea as this method runs in
> a context which might not have permission to access to the binary
> we are about to run, as we've not changed user/group ID yet. So
> I'm re-posting this targetted fix, with format string fixup.
> 
>  src/rpc/virnetsocket.c | 16 +++++++++++++---
>  1 file changed, 13 insertions(+), 3 deletions(-)

Reviewed-by: Michal Privoznik <[email protected]>

Michal
_______________________________________________
Devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to