The API isn't used any more. Signed-off-by: Peter Krempa <pkrempa@xxxxxxxxxx> --- 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