[libvirt] [PATCH 09/12] storage: Cleanup failures in virStorageBackendCreateRaw
John Ferlan
jferlan at redhat.com
Tue Oct 13 20:12:46 UTC 2015
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 at redhat.com>
>> ---
>> 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
More information about the libvir-list
mailing list