[libvirt] [PATCH v3 1/9] util: Introduce virFileCanonicalizePath()

Daniel P. Berrangé berrange at redhat.com
Thu May 3 15:28:59 UTC 2018


On Thu, May 03, 2018 at 12:54:15PM +0200, Andrea Bolognani wrote:
> It's a trivial wrapper around canonicalize_file_name(),
> which we need in order to fully mock file access on non-Linux
> platforms.
> 
> Signed-off-by: Andrea Bolognani <abologna at redhat.com>
> ---
>  src/libvirt_private.syms |  1 +
>  src/util/virfile.c       | 13 +++++++++++++
>  src/util/virfile.h       |  1 +
>  3 files changed, 15 insertions(+)
> 
> diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
> index d2728749fb..cbf27ffa05 100644
> --- a/src/libvirt_private.syms
> +++ b/src/libvirt_private.syms
> @@ -1761,6 +1761,7 @@ virFileAccessibleAs;
>  virFileActivateDirOverride;
>  virFileBindMountDevice;
>  virFileBuildPath;
> +virFileCanonicalizePath;
>  virFileClose;
>  virFileComparePaths;
>  virFileCopyACLs;
> diff --git a/src/util/virfile.c b/src/util/virfile.c
> index e12a584ca1..2a16b01ae5 100644
> --- a/src/util/virfile.c
> +++ b/src/util/virfile.c
> @@ -3299,6 +3299,19 @@ virFileSanitizePath(const char *path)
>      return cleanpath;
>  }
>  
> +/**
> + * virFileCanonicalizePath:
> + *
> + * Returns the canonical representation of @path.
> + *
> + * The returned string must be freed after use.
> + */
> +char *
> +virFileCanonicalizePath(const char *path)
> +{
> +    return canonicalize_file_name(path);
> +}
> +
>  /**
>   * virFileRemoveLastComponent:
>   *
> diff --git a/src/util/virfile.h b/src/util/virfile.h
> index cd2a3867c2..341320b3d3 100644
> --- a/src/util/virfile.h
> +++ b/src/util/virfile.h
> @@ -218,6 +218,7 @@ int virFileGetMountReverseSubtree(const char *mtabpath,
>                                    size_t *nmountsret) ATTRIBUTE_RETURN_CHECK;
>  
>  char *virFileSanitizePath(const char *path);
> +char *virFileCanonicalizePath(const char *path) ATTRIBUTE_NOINLINE;

ATTRIBUTE_NOINLINE feels wierd, but I guess it is needed in virfile.c
uses the method


Reviewed-by: Daniel P. Berrangé <berrange at redhat.com>


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|




More information about the libvir-list mailing list