提交 65fc8246 编写于 作者: C Cole Robinson

storage: If driver startup state syncing fails, delete statefile

If you end up with a state file for a pool that no longer starts up
or refreshes correctly, the state file is never removed and adds
noise to the logs everytime libvirtd is started.

If the initial state syncing fails, delete the statefile.
上级 af9dc75c
......@@ -79,6 +79,12 @@ storagePoolUpdateState(virStoragePoolObjPtr pool)
{
bool active;
virStorageBackendPtr backend;
int ret = -1;
char *stateFile;
if (!(stateFile = virFileBuildPath(driver->stateDir,
pool->def->name, ".xml")))
goto error;
if ((backend = virStorageBackendForType(pool->def->type)) == NULL) {
VIR_ERROR(_("Missing backend %d"), pool->def->type);
......@@ -116,7 +122,14 @@ storagePoolUpdateState(virStoragePoolObjPtr pool)
}
pool->active = active;
ret = 0;
error:
if (ret < 0) {
if (stateFile)
unlink(stateFile);
}
VIR_FREE(stateFile);
return;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册