diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index ff97f10f11fda46c49593f179e0a94f987272f21..3d944d27130b74bcdb64cd9ac5d7da6315a632ce 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -268,24 +268,20 @@ qemuSecurityChownCallback(const virStorageSource *src, } if (chown(src->path, uid, gid) < 0) - goto cleanup; - } else { - if (!(cpy = virStorageSourceCopy(src, false))) - goto cleanup; - - /* src file init reports errors, return -2 on failure */ - if (virStorageFileInit(cpy) < 0) { - ret = -2; - goto cleanup; - } + return -1; - if (virStorageFileChown(cpy, uid, gid) < 0) - goto cleanup; + return 0; } - ret = 0; + if (!(cpy = virStorageSourceCopy(src, false))) + return -1; + + /* src file init reports errors, return -2 on failure */ + if (virStorageFileInit(cpy) < 0) + return -2; + + ret = virStorageFileChown(cpy, uid, gid); - cleanup: save_errno = errno; virStorageFileDeinit(cpy); errno = save_errno;