Clean ghost socket files as part of the regular connection process.
This fixes the bug of 'kvm list' failing with "Failed connecting to instance"
when ghost socket files existed.
Signed-off-by: Sasha Levin <levinsasha928@gmail.com>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
len = strlen(local.sun_path) + sizeof(local.sun_family);
r = connect(s, &local, len);
- if (r < 0)
+ if (r < 0 && errno == ECONNREFUSED) {
+ /* Clean ghost socket file */
+ unlink(sock_file);
+ return -1;
+ } else if (r < 0) {
die("Failed connecting to instance");
+ }
return s;
}
if (entry.d_type == DT_SOCK) {
entry.d_name[strlen(entry.d_name)-5] = 0;
sock = kvm__get_sock_by_instance(entry.d_name);
+ if (sock < 0)
+ continue;
ret = callback(entry.d_name, sock);
close(sock);
if (ret < 0)