};
+static void
+virStorageFileBackendFileDeinit(virStorageSourcePtr src)
+{
+ VIR_DEBUG("deinitializing FS storage file %p (%s:%s)", src,
+ virStorageTypeToString(virStorageSourceGetActualType(src)),
+ src->path);
+
+}
+
+
static int
-virStorageFileBackendFileUnlink(virStorageSourcePtr src)
+virStorageFileBackendFileInit(virStorageSourcePtr src)
{
- int ret;
+ VIR_DEBUG("initializing FS storage file %p (%s:%s)", src,
+ virStorageTypeToString(virStorageSourceGetActualType(src)),
+ src->path);
- ret = unlink(src->path);
- /* preserve errno */
+ return 0;
+}
- VIR_DEBUG("removing storage file %p(%s): ret=%d, errno=%d",
- src, src->path, ret, errno);
- return ret;
+static int
+virStorageFileBackendFileUnlink(virStorageSourcePtr src)
+{
+ return unlink(src->path);
}
virStorageFileBackendFileStat(virStorageSourcePtr src,
struct stat *st)
{
- int ret;
-
- ret = stat(src->path, st);
- /* preserve errno */
-
- VIR_DEBUG("stat of storage file %p(%s): ret=%d, errno=%d",
- src, src->path, ret, errno);
-
- return ret;
+ return stat(src->path, st);
}
virStorageFileBackend virStorageFileBackendFile = {
.type = VIR_STORAGE_TYPE_FILE,
+ .backendInit = virStorageFileBackendFileInit,
+ .backendDeinit = virStorageFileBackendFileDeinit,
+
.storageFileUnlink = virStorageFileBackendFileUnlink,
.storageFileStat = virStorageFileBackendFileStat,
};
virStorageFileBackend virStorageFileBackendBlock = {
.type = VIR_STORAGE_TYPE_BLOCK,
+ .backendInit = virStorageFileBackendFileInit,
+ .backendDeinit = virStorageFileBackendFileDeinit,
+
.storageFileStat = virStorageFileBackendFileStat,
};
static void
virStorageFileBackendGlusterDeinit(virStorageSourcePtr src)
{
- VIR_DEBUG("deinitializing gluster storage file %p(%s/%s)",
- src, src->hosts[0].name, src->path);
virStorageFileBackendGlusterPrivPtr priv = src->drv->priv;
+ VIR_DEBUG("deinitializing gluster storage file %p (gluster://%s:%s/%s%s)",
+ src, src->hosts->name, src->hosts->port ? src->hosts->port : "0",
+ src->volume, src->path);
+
if (priv->vol)
glfs_fini(priv->vol);
const char *hostname = host->name;
int port = 0;
- VIR_DEBUG("initializing gluster storage file %p(%s/%s)",
- src, hostname, src->path);
+ VIR_DEBUG("initializing gluster storage file %p (gluster://%s:%s/%s%s)",
+ src, hostname, host->port ? host->port : "0",
+ NULLSTR(src->volume), src->path);
if (!src->volume) {
virReportError(VIR_ERR_INTERNAL_ERROR,
- _("missing gluster volume name for path '%s'"), src->path);
+ _("missing gluster volume name for path '%s'"),
+ src->path);
return -1;
}
virStorageFileBackendGlusterUnlink(virStorageSourcePtr src)
{
virStorageFileBackendGlusterPrivPtr priv = src->drv->priv;
- int ret;
-
- ret = glfs_unlink(priv->vol, src->path);
- /* preserve errno */
- VIR_DEBUG("removing storage file %p(%s/%s): ret=%d, errno=%d",
- src, src->hosts[0].name, src->path, ret, errno);
- return ret;
+ return glfs_unlink(priv->vol, src->path);
}
struct stat *st)
{
virStorageFileBackendGlusterPrivPtr priv = src->drv->priv;
- int ret;
- ret = glfs_stat(priv->vol, src->path, st);
- /* preserve errno */
-
- VIR_DEBUG("stat of storage file %p(%s/%s): ret=%d, errno=%d",
- src, src->hosts[0].name, src->path, ret, errno);
- return ret;
+ return glfs_stat(priv->vol, src->path, st);
}
int
virStorageFileCreate(virStorageSourcePtr src)
{
+ int ret;
+
if (!virStorageFileIsInitialized(src) ||
!src->drv->backend->storageFileCreate) {
errno = ENOSYS;
return -2;
}
- return src->drv->backend->storageFileCreate(src);
+ ret = src->drv->backend->storageFileCreate(src);
+
+ VIR_DEBUG("created storage file %p: ret=%d, errno=%d",
+ src, ret, errno);
+
+ return ret;
}
int
virStorageFileUnlink(virStorageSourcePtr src)
{
+ int ret;
+
if (!virStorageFileIsInitialized(src) ||
!src->drv->backend->storageFileUnlink) {
errno = ENOSYS;
return -2;
}
- return src->drv->backend->storageFileUnlink(src);
+ ret = src->drv->backend->storageFileUnlink(src);
+
+ VIR_DEBUG("unlinked storage file %p: ret=%d, errno=%d",
+ src, ret, errno);
+
+ return ret;
}
virStorageFileStat(virStorageSourcePtr src,
struct stat *st)
{
+ int ret;
+
if (!virStorageFileIsInitialized(src) ||
!src->drv->backend->storageFileStat) {
errno = ENOSYS;
return -2;
}
- return src->drv->backend->storageFileStat(src, st);
+ ret = src->drv->backend->storageFileStat(src, st);
+
+ VIR_DEBUG("stat of storage file %p: ret=%d, errno=%d",
+ src, ret, errno);
+
+ return ret;
}