mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
storage: Clean up stateFile if refreshPool fails
If the virStoragePoolRefresh fails and we call stopPool, the code neglected to clean up the state file leading to the next libvirtd restart attempting to start the pool. For a transient pool this could make it unexpectedly reappear. Signed-off-by: John Ferlan <jferlan@redhat.com> ACKed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
9e52c64966
commit
49c322145b
@ -1171,8 +1171,13 @@ storagePoolRefresh(virStoragePoolPtr pool,
|
||||
|
||||
virStoragePoolObjClearVols(obj);
|
||||
if (backend->refreshPool(obj) < 0) {
|
||||
char *stateFile = virFileBuildPath(driver->stateDir, def->name, ".xml");
|
||||
|
||||
if (stateFile)
|
||||
unlink(stateFile);
|
||||
if (backend->stopPool)
|
||||
backend->stopPool(obj);
|
||||
VIR_FREE(stateFile);
|
||||
|
||||
event = virStoragePoolEventLifecycleNew(def->name,
|
||||
def->uuid,
|
||||
|
Loading…
x
Reference in New Issue
Block a user