[libvirt] [PATCH] Remove redundant virFileDeletePID() call

qemudShutdownVMDaemon() calls qemudRemoveDomainStatus(), which then calls virFileDeletePID(). qemudShutdownVMDaemon() then unnecessarily calls virFileDeletePID() again. Remove this second usage of it, and also slightly refactor qemudRemoveDomainStatus() to VIR_WARN appropriate error messages. Signed-off-by: Chris Lalancette <clalance@redhat.com> --- src/qemu/qemu_driver.c | 31 +++++++++---------------------- 1 files changed, 9 insertions(+), 22 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index fd064af..38fe19e 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -269,7 +269,7 @@ qemudRemoveDomainStatus(virConnectPtr conn, struct qemud_driver *driver, virDomainObjPtr vm) { - int rc = -1; + char ebuf[1024]; char *file = NULL; if (virAsprintf(&file, "%s/%s.xml", driver->stateDir, vm->def->name) < 0) { @@ -277,19 +277,14 @@ qemudRemoveDomainStatus(virConnectPtr conn, goto cleanup; } - if (unlink(file) < 0 && errno != ENOENT && errno != ENOTDIR) { - qemudReportError(conn, vm, NULL, VIR_ERR_INTERNAL_ERROR, - _("Failed to unlink status file %s"), file); - goto cleanup; - } - - if(virFileDeletePid(driver->stateDir, vm->def->name)) - goto cleanup; + if (unlink(file) < 0 && errno != ENOENT && errno != ENOTDIR) + VIR_WARN(_("Failed to remove domain XML for %s: %s"), + vm->def->name, virStrerror(errno, buf, sizeof(ebuf))); + if (virFileDeletePid(driver->stateDir, vm->def->name) != 0) + VIR_WARN(_("Failed to remove PID file for %s: %s"), + vm->def->name, virStrerror(errno, ebuf, sizeof(ebuf))); - rc = 0; -cleanup: - VIR_FREE(file); - return rc; + return 0; } @@ -2224,15 +2219,7 @@ retry: vm->def->name); } - if (qemudRemoveDomainStatus(conn, driver, vm) < 0) { - VIR_WARN(_("Failed to remove domain status for %s"), - vm->def->name); - } - if ((ret = virFileDeletePid(driver->stateDir, vm->def->name)) != 0) { - char ebuf[1024]; - VIR_WARN(_("Failed to remove PID file for %s: %s"), - vm->def->name, virStrerror(errno, ebuf, sizeof ebuf)); - } + qemudRemoveDomainStatus(conn, driver, vm); vm->pid = -1; vm->def->id = -1; -- 1.6.0.6

On 11/03/2009 07:35 AM, Chris Lalancette wrote:
qemudShutdownVMDaemon() calls qemudRemoveDomainStatus(), which then calls virFileDeletePID(). qemudShutdownVMDaemon() then unnecessarily calls virFileDeletePID() again. Remove this second usage of it, and also slightly refactor qemudRemoveDomainStatus() to VIR_WARN appropriate error messages.
Signed-off-by: Chris Lalancette <clalance@redhat.com> --- src/qemu/qemu_driver.c | 31 +++++++++---------------------- 1 files changed, 9 insertions(+), 22 deletions(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index fd064af..38fe19e 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -269,7 +269,7 @@ qemudRemoveDomainStatus(virConnectPtr conn, struct qemud_driver *driver, virDomainObjPtr vm) { - int rc = -1; + char ebuf[1024]; char *file = NULL;
if (virAsprintf(&file, "%s/%s.xml", driver->stateDir, vm->def->name) < 0) { @@ -277,19 +277,14 @@ qemudRemoveDomainStatus(virConnectPtr conn, goto cleanup; }
- if (unlink(file) < 0 && errno != ENOENT && errno != ENOTDIR) { - qemudReportError(conn, vm, NULL, VIR_ERR_INTERNAL_ERROR, - _("Failed to unlink status file %s"), file); - goto cleanup; - } - - if(virFileDeletePid(driver->stateDir, vm->def->name)) - goto cleanup; + if (unlink(file) < 0 && errno != ENOENT && errno != ENOTDIR) + VIR_WARN(_("Failed to remove domain XML for %s: %s"), + vm->def->name, virStrerror(errno, buf, sizeof(ebuf))); + if (virFileDeletePid(driver->stateDir, vm->def->name) != 0) + VIR_WARN(_("Failed to remove PID file for %s: %s"), + vm->def->name, virStrerror(errno, ebuf, sizeof(ebuf)));
- rc = 0; -cleanup: - VIR_FREE(file); - return rc; + return 0; }
@@ -2224,15 +2219,7 @@ retry: vm->def->name); }
- if (qemudRemoveDomainStatus(conn, driver, vm) < 0) { - VIR_WARN(_("Failed to remove domain status for %s"), - vm->def->name); - } - if ((ret = virFileDeletePid(driver->stateDir, vm->def->name)) != 0) { - char ebuf[1024]; - VIR_WARN(_("Failed to remove PID file for %s: %s"), - vm->def->name, virStrerror(errno, ebuf, sizeof ebuf)); - } + qemudRemoveDomainStatus(conn, driver, vm);
vm->pid = -1; vm->def->id = -1;
ACK - Cole

Cole Robinson wrote:
On 11/03/2009 07:35 AM, Chris Lalancette wrote:
qemudShutdownVMDaemon() calls qemudRemoveDomainStatus(), which then calls virFileDeletePID(). qemudShutdownVMDaemon() then unnecessarily calls virFileDeletePID() again. Remove this second usage of it, and also slightly refactor qemudRemoveDomainStatus() to VIR_WARN appropriate error messages.
Signed-off-by: Chris Lalancette <clalance@redhat.com> --- src/qemu/qemu_driver.c | 31 +++++++++---------------------- 1 files changed, 9 insertions(+), 22 deletions(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index fd064af..38fe19e 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -269,7 +269,7 @@ qemudRemoveDomainStatus(virConnectPtr conn, struct qemud_driver *driver, virDomainObjPtr vm) { - int rc = -1; + char ebuf[1024]; char *file = NULL;
if (virAsprintf(&file, "%s/%s.xml", driver->stateDir, vm->def->name) < 0) { @@ -277,19 +277,14 @@ qemudRemoveDomainStatus(virConnectPtr conn, goto cleanup; }
- if (unlink(file) < 0 && errno != ENOENT && errno != ENOTDIR) { - qemudReportError(conn, vm, NULL, VIR_ERR_INTERNAL_ERROR, - _("Failed to unlink status file %s"), file); - goto cleanup; - } - - if(virFileDeletePid(driver->stateDir, vm->def->name)) - goto cleanup; + if (unlink(file) < 0 && errno != ENOENT && errno != ENOTDIR) + VIR_WARN(_("Failed to remove domain XML for %s: %s"), + vm->def->name, virStrerror(errno, buf, sizeof(ebuf))); + if (virFileDeletePid(driver->stateDir, vm->def->name) != 0) + VIR_WARN(_("Failed to remove PID file for %s: %s"), + vm->def->name, virStrerror(errno, ebuf, sizeof(ebuf)));
- rc = 0; -cleanup: - VIR_FREE(file); - return rc; + return 0; }
@@ -2224,15 +2219,7 @@ retry: vm->def->name); }
- if (qemudRemoveDomainStatus(conn, driver, vm) < 0) { - VIR_WARN(_("Failed to remove domain status for %s"), - vm->def->name); - } - if ((ret = virFileDeletePid(driver->stateDir, vm->def->name)) != 0) { - char ebuf[1024]; - VIR_WARN(_("Failed to remove PID file for %s: %s"), - vm->def->name, virStrerror(errno, ebuf, sizeof ebuf)); - } + qemudRemoveDomainStatus(conn, driver, vm);
vm->pid = -1; vm->def->id = -1;
ACK
Thanks, I've pushed this. -- Chris Lalancette
participants (2)
-
Chris Lalancette
-
Cole Robinson