[PATCH 03/39] Remove virStorageSourceGetUniqueIdentifier file backend API

Peter Krempa pkrempa at redhat.com
Thu Apr 1 13:52:02 UTC 2021


The API isn't used any more.

Signed-off-by: Peter Krempa <pkrempa at redhat.com>
---
 src/libvirt_private.syms                      |  1 -
 src/storage_file/storage_file_backend.h       |  4 --
 src/storage_file/storage_file_backend_fs.c    | 24 -------
 .../storage_file_backend_gluster.c            | 71 -------------------
 src/storage_file/storage_source.c             | 37 +---------
 5 files changed, 1 insertion(+), 136 deletions(-)

diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index cb9fe7c80a..62ccda467f 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -1713,7 +1713,6 @@ virStorageSourceGetMetadata;
 virStorageSourceGetMetadataFromBuf;
 virStorageSourceGetMetadataFromFD;
 virStorageSourceGetRelativeBackingPath;
-virStorageSourceGetUniqueIdentifier;
 virStorageSourceInit;
 virStorageSourceInitAs;
 virStorageSourceNewFromBacking;
diff --git a/src/storage_file/storage_file_backend.h b/src/storage_file/storage_file_backend.h
index ecf5883a55..8ad579a8db 100644
--- a/src/storage_file/storage_file_backend.h
+++ b/src/storage_file/storage_file_backend.h
@@ -60,9 +60,6 @@ typedef ssize_t
                              size_t len,
                              char **buf);

-typedef const char *
-(*virStorageFileBackendGetUniqueIdentifier)(virStorageSourcePtr src);
-
 typedef int
 (*virStorageFileBackendAccess)(virStorageSourcePtr src,
                                int mode);
@@ -88,7 +85,6 @@ struct _virStorageFileBackend {
     virStorageFileBackendInit backendInit;
     virStorageFileBackendDeinit backendDeinit;
     virStorageFileBackendRead storageFileRead;
-    virStorageFileBackendGetUniqueIdentifier storageFileGetUniqueIdentifier;

     /* The following group of callbacks is expected to set errno
      * and return -1 on error. No libvirt error shall be reported */
diff --git a/src/storage_file/storage_file_backend_fs.c b/src/storage_file/storage_file_backend_fs.c
index 7b114fdeb0..f34ffd5fc8 100644
--- a/src/storage_file/storage_file_backend_fs.c
+++ b/src/storage_file/storage_file_backend_fs.c
@@ -147,24 +147,6 @@ virStorageFileBackendFileRead(virStorageSourcePtr src,
 }


-static const char *
-virStorageFileBackendFileGetUniqueIdentifier(virStorageSourcePtr src)
-{
-    virStorageDriverDataPtr drv = src->drv;
-    virStorageFileBackendFsPrivPtr priv = drv->priv;
-
-    if (!priv->canonpath) {
-        if (!(priv->canonpath = virFileCanonicalizePath(src->path))) {
-            virReportSystemError(errno, _("can't canonicalize path '%s'"),
-                                 src->path);
-            return NULL;
-        }
-    }
-
-    return priv->canonpath;
-}
-
-
 static int
 virStorageFileBackendFileAccess(virStorageSourcePtr src,
                                 int mode)
@@ -197,8 +179,6 @@ virStorageFileBackend virStorageFileBackendFile = {
     .storageFileRead = virStorageFileBackendFileRead,
     .storageFileAccess = virStorageFileBackendFileAccess,
     .storageFileChown = virStorageFileBackendFileChown,
-
-    .storageFileGetUniqueIdentifier = virStorageFileBackendFileGetUniqueIdentifier,
 };


@@ -212,8 +192,6 @@ virStorageFileBackend virStorageFileBackendBlock = {
     .storageFileRead = virStorageFileBackendFileRead,
     .storageFileAccess = virStorageFileBackendFileAccess,
     .storageFileChown = virStorageFileBackendFileChown,
-
-    .storageFileGetUniqueIdentifier = virStorageFileBackendFileGetUniqueIdentifier,
 };


@@ -225,8 +203,6 @@ virStorageFileBackend virStorageFileBackendDir = {

     .storageFileAccess = virStorageFileBackendFileAccess,
     .storageFileChown = virStorageFileBackendFileChown,
-
-    .storageFileGetUniqueIdentifier = virStorageFileBackendFileGetUniqueIdentifier,
 };


diff --git a/src/storage_file/storage_file_backend_gluster.c b/src/storage_file/storage_file_backend_gluster.c
index 06ba99bfe3..252eb523af 100644
--- a/src/storage_file/storage_file_backend_gluster.c
+++ b/src/storage_file/storage_file_backend_gluster.c
@@ -255,75 +255,6 @@ virStorageFileBackendGlusterAccess(virStorageSourcePtr src,
     return glfs_access(priv->vol, src->path, mode);
 }

-static int
-virStorageFileBackendGlusterReadlinkCallback(const char *path,
-                                             char **linkpath,
-                                             void *data)
-{
-    virStorageFileBackendGlusterPrivPtr priv = data;
-    size_t bufsiz = 0;
-    ssize_t ret;
-    struct stat st;
-    g_autofree char *buf = NULL;
-
-    *linkpath = NULL;
-
-    if (glfs_stat(priv->vol, path, &st) < 0) {
-        virReportSystemError(errno,
-                             _("failed to stat gluster path '%s'"),
-                             path);
-        return -1;
-    }
-
-    if (!S_ISLNK(st.st_mode))
-        return 1;
-
- realloc:
-    VIR_EXPAND_N(buf, bufsiz, 256);
-
-    if ((ret = glfs_readlink(priv->vol, path, buf, bufsiz)) < 0) {
-        virReportSystemError(errno,
-                             _("failed to read link of gluster file '%s'"),
-                             path);
-        return -1;
-    }
-
-    if (ret == bufsiz)
-        goto realloc;
-
-    buf[ret] = '\0';
-
-    *linkpath = g_steal_pointer(&buf);
-
-    return 0;
-}
-
-
-static const char *
-virStorageFileBackendGlusterGetUniqueIdentifier(virStorageSourcePtr src)
-{
-    virStorageDriverDataPtr drv = src->drv;
-    virStorageFileBackendGlusterPrivPtr priv = drv->priv;
-    g_autofree char *filePath = NULL;
-
-    if (priv->canonpath)
-        return priv->canonpath;
-
-    if (!(filePath = virStorageFileCanonicalizePath(src->path,
-                                                    virStorageFileBackendGlusterReadlinkCallback,
-                                                    priv)))
-        return NULL;
-
-    priv->canonpath = g_strdup_printf("gluster://%s:%u/%s/%s",
-                                      src->hosts->name,
-                                      src->hosts->port,
-                                      src->volume,
-                                      filePath);
-
-    return priv->canonpath;
-}
-
-
 static int
 virStorageFileBackendGlusterChown(const virStorageSource *src,
                                   uid_t uid,
@@ -349,8 +280,6 @@ virStorageFileBackend virStorageFileBackendGluster = {
     .storageFileRead = virStorageFileBackendGlusterRead,
     .storageFileAccess = virStorageFileBackendGlusterAccess,
     .storageFileChown = virStorageFileBackendGlusterChown,
-
-    .storageFileGetUniqueIdentifier = virStorageFileBackendGlusterGetUniqueIdentifier,
 };


diff --git a/src/storage_file/storage_source.c b/src/storage_file/storage_source.c
index 19b06b02b8..746a3446d8 100644
--- a/src/storage_file/storage_source.c
+++ b/src/storage_file/storage_source.c
@@ -843,8 +843,7 @@ virStorageSourceSupportsBackingChainTraversal(const virStorageSource *src)
     if ((rv = virStorageSourceGetBackendForSupportCheck(src, &backend)) < 1)
         return rv;

-    return backend->storageFileGetUniqueIdentifier &&
-           backend->storageFileRead &&
+    return backend->storageFileRead &&
            backend->storageFileAccess ? 1 : 0;
 }

@@ -1142,40 +1141,6 @@ virStorageSourceRead(virStorageSourcePtr src,
 }


-/*
- * virStorageSourceGetUniqueIdentifier: Get a unique string describing the volume
- *
- * @src: file structure pointing to the file
- *
- * Returns a string uniquely describing a single volume (canonical path).
- * The string shall not be freed and is valid until the storage file is
- * deinitialized. Returns NULL on error and sets a libvirt error code */
-const char *
-virStorageSourceGetUniqueIdentifier(virStorageSourcePtr src)
-{
-    virStorageDriverDataPtr drv = NULL;
-
-    if (!virStorageSourceIsInitialized(src)) {
-        virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
-                       _("storage file backend not initialized"));
-        return NULL;
-    }
-
-    drv = src->drv;
-
-    if (!drv->backend->storageFileGetUniqueIdentifier) {
-        virReportError(VIR_ERR_INTERNAL_ERROR,
-                       _("unique storage file identifier not implemented for "
-                         "storage type %s (protocol: %s)'"),
-                       virStorageTypeToString(src->type),
-                       virStorageNetProtocolTypeToString(src->protocol));
-        return NULL;
-    }
-
-    return drv->backend->storageFileGetUniqueIdentifier(src);
-}
-
-
 /**
  * virStorageSourceAccess: Check accessibility of a storage file
  *
-- 
2.29.2




More information about the libvir-list mailing list