On 10/13/2015 08:43 AM, Peter Krempa wrote: > On Fri, Oct 09, 2015 at 09:34:08 -0400, John Ferlan wrote: >> If the volume target path doesn't exist prior to calling virFileOpenAs and >> we have a successful call, then we know we've had a successful creation. >> For any other failures in the function we should clean up after ourselves >> by using virFileDelete if we're about to return failure. >> >> Signed-off-by: John Ferlan <jferlan@xxxxxxxxxx> >> --- >> src/storage/storage_backend.c | 10 ++++++++++ >> 1 file changed, 10 insertions(+) >> >> diff --git a/src/storage/storage_backend.c b/src/storage/storage_backend.c >> index 7d0de63..32f85ac 100644 >> --- a/src/storage/storage_backend.c >> +++ b/src/storage/storage_backend.c > > ... > >> @@ -520,6 +522,8 @@ virStorageBackendCreateRaw(virConnectPtr conn ATTRIBUTE_UNUSED, >> if (vol->target.perms->mode != (mode_t) -1) >> open_mode = vol->target.perms->mode; >> >> + if (virFileExists(vol->target.path)) >> + exists = true; > > Why even bother checking? Shouldn't this function fail right away if the > target file exists? > Paranoia. Which function? I assume you mean *CreateRaw. Nothing in the function checks for existence. And while there isn't a caller currently that wouldn't be creating, I just wanted to be sure and perhaps future proof. I have no qualms in removing if that's felt is what is right. John -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list