[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