[libvirt] [PATCH 09/12] storage: Cleanup failures in virStorageBackendCreateRaw

Peter Krempa pkrempa at redhat.com
Tue Oct 13 12:43:19 UTC 2015


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?

Peter
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20151013/dd4f7a67/attachment-0001.sig>


More information about the libvir-list mailing list