[libvirt] [PATCH v3 3/9] all: Use virFileCanonicalizePath() instead of canonicalize_file_name()

Andrea Bolognani abologna at redhat.com
Thu May 3 10:54:17 UTC 2018


The latter is impossible to mock on platforms that use the
gnulib implementation, such as FreeBSD, while the former
doesn't suffer from this limitation.

Signed-off-by: Andrea Bolognani <abologna at redhat.com>
---
 src/storage/storage_backend_fs.c |  2 +-
 src/util/virfile.c               |  2 +-
 src/util/virpci.c                |  2 +-
 tests/virstoragetest.c           | 10 +++++-----
 tests/virtestmock.c              |  6 +++---
 5 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/src/storage/storage_backend_fs.c b/src/storage/storage_backend_fs.c
index 9b0fcf92c5..09b452db4e 100644
--- a/src/storage/storage_backend_fs.c
+++ b/src/storage/storage_backend_fs.c
@@ -823,7 +823,7 @@ virStorageFileBackendFileGetUniqueIdentifier(virStorageSourcePtr src)
     virStorageFileBackendFsPrivPtr priv = src->drv->priv;
 
     if (!priv->canonpath) {
-        if (!(priv->canonpath = canonicalize_file_name(src->path))) {
+        if (!(priv->canonpath = virFileCanonicalizePath(src->path))) {
             virReportSystemError(errno, _("can't canonicalize path '%s'"),
                                  src->path);
             return NULL;
diff --git a/src/util/virfile.c b/src/util/virfile.c
index 2a16b01ae5..41dda410cb 100644
--- a/src/util/virfile.c
+++ b/src/util/virfile.c
@@ -1597,7 +1597,7 @@ virFileResolveLinkHelper(const char *linkpath,
             return VIR_STRDUP_QUIET(*resultpath, linkpath) < 0 ? -1 : 0;
     }
 
-    *resultpath = canonicalize_file_name(linkpath);
+    *resultpath = virFileCanonicalizePath(linkpath);
 
     return *resultpath == NULL ? -1 : 0;
 }
diff --git a/src/util/virpci.c b/src/util/virpci.c
index 23932558e9..8d02366664 100644
--- a/src/util/virpci.c
+++ b/src/util/virpci.c
@@ -2622,7 +2622,7 @@ virPCIGetDeviceAddressFromSysfsLink(const char *device_link)
         return NULL;
     }
 
-    device_path = canonicalize_file_name(device_link);
+    device_path = virFileCanonicalizePath(device_link);
     if (device_path == NULL) {
         virReportSystemError(errno,
                              _("Failed to resolve device link '%s'"),
diff --git a/tests/virstoragetest.c b/tests/virstoragetest.c
index b032d8b93f..0e11602e84 100644
--- a/tests/virstoragetest.c
+++ b/tests/virstoragetest.c
@@ -171,7 +171,7 @@ testPrepImages(void)
         fprintf(stderr, "unable to create directory %s\n", datadir "/dir");
         goto cleanup;
     }
-    if (!(canondir = canonicalize_file_name(absdir))) {
+    if (!(canondir = virFileCanonicalizePath(absdir))) {
         virReportOOMError();
         goto cleanup;
     }
@@ -186,7 +186,7 @@ testPrepImages(void)
         fprintf(stderr, "unable to create raw file\n");
         goto cleanup;
     }
-    if (!(canonraw = canonicalize_file_name(absraw))) {
+    if (!(canonraw = virFileCanonicalizePath(absraw))) {
         virReportOOMError();
         goto cleanup;
     }
@@ -206,7 +206,7 @@ testPrepImages(void)
                                "-F", "raw", "-b", "raw", "qcow2", NULL);
     if (virCommandRun(cmd, NULL) < 0)
         goto skip;
-    if (!(canonqcow2 = canonicalize_file_name(absqcow2))) {
+    if (!(canonqcow2 = virFileCanonicalizePath(absqcow2))) {
         virReportOOMError();
         goto cleanup;
     }
@@ -220,7 +220,7 @@ testPrepImages(void)
     virCommandAddArg(cmd, "wrap");
     if (virCommandRun(cmd, NULL) < 0)
         goto skip;
-    if (!(canonwrap = canonicalize_file_name(abswrap))) {
+    if (!(canonwrap = virFileCanonicalizePath(abswrap))) {
         virReportOOMError();
         goto cleanup;
     }
@@ -233,7 +233,7 @@ testPrepImages(void)
     virCommandAddArg(cmd, "qed");
     if (virCommandRun(cmd, NULL) < 0)
         goto skip;
-    if (!(canonqed = canonicalize_file_name(absqed))) {
+    if (!(canonqed = virFileCanonicalizePath(absqed))) {
         virReportOOMError();
         goto cleanup;
     }
diff --git a/tests/virtestmock.c b/tests/virtestmock.c
index 688945d805..4e679f35c0 100644
--- a/tests/virtestmock.c
+++ b/tests/virtestmock.c
@@ -133,12 +133,12 @@ checkPath(const char *path)
         virAsprintfQuiet(&relPath, "./%s", path) < 0)
         goto error;
 
-    /* Le sigh. Both canonicalize_file_name() and realpath()
+    /* Le sigh. Both anonicalize_file_name() and realpath()
      * expect @path to exist otherwise they return an error. So
      * if we are called over an non-existent file, this could
      * return an error. In that case do our best and hope we will
      * catch possible error. */
-    if ((fullPath = canonicalize_file_name(relPath ? relPath : path))) {
+    if ((fullPath = virFileCanonicalizePath(relPath ? relPath : path))) {
         path = fullPath;
     } else {
         /* Yeah, our worst nightmares just became true. Path does
@@ -148,7 +148,7 @@ checkPath(const char *path)
 
         virFileRemoveLastComponent(crippledPath);
 
-        if ((fullPath = canonicalize_file_name(crippledPath)))
+        if ((fullPath = virFileCanonicalizePath(crippledPath)))
             path = fullPath;
     }
 
-- 
2.14.3




More information about the libvir-list mailing list