mirror of
https://github.com/clearlinux/kvmtool.git
synced 2026-08-22 05:28:30 +00:00
kvm tools: Don't remove any file which is not created by itself
It is user's or other program's reponsibility, not the current program. Just try best to let the user know what happen. Also make print_guest() keep the same behavior as do_debug() do_pause() ...etc. when it failed. Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
This commit is contained in:
committed by
Will Deacon
parent
08ffc82ad5
commit
49dca54d8a
+1
-5
@@ -77,7 +77,7 @@ static int print_guest(const char *name, int sock)
|
||||
vmstate = get_vmstate(sock);
|
||||
|
||||
if ((int)pid < 0 || vmstate < 0)
|
||||
goto cleanup;
|
||||
return -1;
|
||||
|
||||
if (vmstate == KVM_VMSTATE_PAUSED)
|
||||
printf("%5d %-20s %s\n", pid, name, KVM_INSTANCE_PAUSED);
|
||||
@@ -85,10 +85,6 @@ static int print_guest(const char *name, int sock)
|
||||
printf("%5d %-20s %s\n", pid, name, KVM_INSTANCE_RUNNING);
|
||||
|
||||
return 0;
|
||||
|
||||
cleanup:
|
||||
kvm__remove_socket(name);
|
||||
return -1;
|
||||
}
|
||||
|
||||
static int kvm_list_running_instances(void)
|
||||
|
||||
@@ -150,7 +150,6 @@ static int kvm__create_socket(struct kvm *kvm)
|
||||
return s;
|
||||
local.sun_family = AF_UNIX;
|
||||
strcpy(local.sun_path, full_name);
|
||||
unlink(local.sun_path);
|
||||
len = strlen(local.sun_path) + sizeof(local.sun_family);
|
||||
r = bind(s, (struct sockaddr *)&local, len);
|
||||
if (r < 0)
|
||||
@@ -190,8 +189,9 @@ int kvm__get_sock_by_instance(const char *name)
|
||||
|
||||
r = connect(s, &local, len);
|
||||
if (r < 0 && errno == ECONNREFUSED) {
|
||||
/* Clean ghost socket file */
|
||||
unlink(sock_file);
|
||||
/* Tell the user clean ghost socket file */
|
||||
pr_err("\"%s\" could be a ghost socket file, please remove it",
|
||||
sock_file);
|
||||
return -1;
|
||||
} else if (r < 0) {
|
||||
die("Failed connecting to instance");
|
||||
|
||||
Reference in New Issue
Block a user