[libvirt] [PATCH 2/3] rpc: socket: Explicitly error if we exceed retry count

Cole Robinson crobinso at redhat.com
Tue Jan 12 15:48:30 UTC 2016


On 01/12/2016 01:31 AM, Martin Kletzander wrote:
> On Mon, Jan 11, 2016 at 08:22:33PM -0500, Cole Robinson wrote:
>> When we autolaunch libvirtd for session URIs, we spin in a retry
>> loop waiting for the daemon to start and the connect(2) to succeed.
>>
>> However if we exceed the retry count, we don't explicitly raise an
>> error, which can yield a slew of different error messages elsewhere
>> in the code.
>>
>> Explicitly raise the last connect(2) failure if we run out of retries.
>> ---
>> src/rpc/virnetsocket.c | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/src/rpc/virnetsocket.c b/src/rpc/virnetsocket.c
>> index 80c21c1..2d6d44f 100644
>> --- a/src/rpc/virnetsocket.c
>> +++ b/src/rpc/virnetsocket.c
>> @@ -690,7 +690,9 @@ int virNetSocketNewConnectUNIX(const char *path,
>>         }
>>         VIR_DEBUG("connect() failed, errno=%d", errno);
>>
>> +        retries--;
>>         if (!spawnDaemon ||
>> +            retries == 0 ||
>>             (errno != ENOENT && errno != ECONNREFUSED)) {
>>             virReportSystemError(errno, _("Failed to connect socket to '%s'"),
>>                                  path);
> 
> Good catch, although I would also like to see the 'retries' being used
> somewhere in a debug message, so that it is visible at least in the
> debug logs why that happened.

Good point, I squashed retries into the above VIR_DEBUG message, and pushed
this series. Thanks for the review

- Cole




More information about the libvir-list mailing list