On Wed, Mar 06, 2013 at 07:35:15 -0500, John Ferlan wrote: > On 03/06/2013 06:59 AM, Jiri Denemark wrote: > > This also renames cleanup label as error since it is only used for error > > path rather then being common for both success and error paths. > > --- > > src/storage/storage_backend_logical.c | 15 ++++++++------- > > 1 file changed, 8 insertions(+), 7 deletions(-) > > > > diff --git a/src/storage/storage_backend_logical.c b/src/storage/storage_backend_logical.c > > index bb709df..e3b3de4 100644 > > --- a/src/storage/storage_backend_logical.c > > +++ b/src/storage/storage_backend_logical.c > > @@ -741,10 +741,10 @@ virStorageBackendLogicalCreateVol(virConnectPtr conn, > > virCommandAddArg(cmd, pool->def->source.name); > > > > if (virCommandRun(cmd, NULL) < 0) > > - goto cleanup; > > + goto error; > > > > if ((fdret = virStorageBackendVolOpen(vol->target.path)) < 0) > > - goto cleanup; > > + goto error; > > fd = fdret; > > > > /* We can only chown/grp if root */ > > @@ -753,21 +753,21 @@ virStorageBackendLogicalCreateVol(virConnectPtr conn, > > virReportSystemError(errno, > > _("cannot set file owner '%s'"), > > vol->target.path); > > - goto cleanup; > > + goto error; > > } > > } > > if (fchmod(fd, vol->target.perms.mode) < 0) { > > virReportSystemError(errno, > > _("cannot set file mode '%s'"), > > vol->target.path); > > - goto cleanup; > > + goto error; > > } > > > > if (VIR_CLOSE(fd) < 0) { > > virReportSystemError(errno, > > _("cannot close file '%s'"), > > vol->target.path); > > - goto cleanup; > > + goto error; > > } > > fd = -1; > > > > @@ -776,17 +776,18 @@ virStorageBackendLogicalCreateVol(virConnectPtr conn, > > virReportSystemError(errno, > > _("cannot find newly created volume '%s'"), > > vol->target.path); > > - goto cleanup; > > + goto error; > > } > > > > return 0; > > Would we be leaking cmd here? Indeed. And there are few other places where this function is weird. I'll send a v2 that cleans them all. Jirka -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list