1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2025-03-13 08:58:33 +03:00

Remove virStorageSourceGetUniqueIdentifier file backend API

The API isn't used any more.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Peter Krempa 2021-03-22 17:25:55 +01:00
parent a43c8763bf
commit 218ddd60e7
6 changed files with 1 additions and 139 deletions

View File

@ -1719,7 +1719,6 @@ virStorageSourceGetMetadata;
virStorageSourceGetMetadataFromBuf;
virStorageSourceGetMetadataFromFD;
virStorageSourceGetRelativeBackingPath;
virStorageSourceGetUniqueIdentifier;
virStorageSourceInit;
virStorageSourceInitAs;
virStorageSourceNewFromBacking;

View File

@ -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 */

View File

@ -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,
};

View File

@ -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,
};

View File

@ -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
*

View File

@ -107,9 +107,6 @@ virStorageSourceRead(virStorageSourcePtr src,
size_t len,
char **buf);
const char *
virStorageSourceGetUniqueIdentifier(virStorageSourcePtr src);
int
virStorageSourceAccess(virStorageSourcePtr src,
int mode);