mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-22 12:35:17 +00:00
virfile: Fix error path for forked virFileRemove
As it turns out the caller in this case expects a return < 0 for failure and to get/use "errno" rather than using the negative of returned status. Again different than the create path. If someone "deleted" a file from the pool without using virsh vol-delete, then the unlink/rmdir would return an error (-1) and set errno to ENOENT. The caller checks errno for ENOENT when determining whether to throw an error message indicating the failure. Without the change, the error message is: error: Failed to delete vol $vol error: cannot unlink file '/$pathto/$vol': Success This patch thus allows the fork path to follow the non-fork path where unlink/rmdir return -1 and errno.
This commit is contained in:
parent
c6b32d6801
commit
cb19cff468
@ -2364,8 +2364,10 @@ virFileRemove(const char *path,
|
||||
status = EACCES;
|
||||
}
|
||||
|
||||
if (status)
|
||||
ret = -status;
|
||||
if (status) {
|
||||
errno = status;
|
||||
ret = -1;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user