mirror of https://gitee.com/openkylin/libvirt.git
storage: remove virConnectPtr from all backend functions
Now that we can open connections to the secondary drivers on demand, there is no need to pass a virConnectPtr into all the backend functions. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
parent
decaeb2882
commit
31869efe2a
|
@ -25,22 +25,16 @@
|
|||
# include "virstorageobj.h"
|
||||
# include "storage_driver.h"
|
||||
|
||||
typedef char * (*virStorageBackendFindPoolSources)(virConnectPtr conn,
|
||||
const char *srcSpec,
|
||||
typedef char * (*virStorageBackendFindPoolSources)(const char *srcSpec,
|
||||
unsigned int flags);
|
||||
typedef int (*virStorageBackendCheckPool)(virStoragePoolObjPtr pool,
|
||||
bool *active);
|
||||
typedef int (*virStorageBackendStartPool)(virConnectPtr conn,
|
||||
virStoragePoolObjPtr pool);
|
||||
typedef int (*virStorageBackendBuildPool)(virConnectPtr conn,
|
||||
virStoragePoolObjPtr pool,
|
||||
typedef int (*virStorageBackendStartPool)(virStoragePoolObjPtr pool);
|
||||
typedef int (*virStorageBackendBuildPool)(virStoragePoolObjPtr pool,
|
||||
unsigned int flags);
|
||||
typedef int (*virStorageBackendRefreshPool)(virConnectPtr conn,
|
||||
virStoragePoolObjPtr pool);
|
||||
typedef int (*virStorageBackendStopPool)(virConnectPtr conn,
|
||||
virStoragePoolObjPtr pool);
|
||||
typedef int (*virStorageBackendDeletePool)(virConnectPtr conn,
|
||||
virStoragePoolObjPtr pool,
|
||||
typedef int (*virStorageBackendRefreshPool)(virStoragePoolObjPtr pool);
|
||||
typedef int (*virStorageBackendStopPool)(virStoragePoolObjPtr pool);
|
||||
typedef int (*virStorageBackendDeletePool)(virStoragePoolObjPtr pool,
|
||||
unsigned int flags);
|
||||
|
||||
/* A 'buildVol' backend must remove any volume created on error since
|
||||
|
@ -52,46 +46,37 @@ typedef int (*virStorageBackendDeletePool)(virConnectPtr conn,
|
|||
* was not aware of between checking the pool and the create attempt. It
|
||||
* also avoids extra round trips to just delete a file.
|
||||
*/
|
||||
typedef int (*virStorageBackendBuildVol)(virConnectPtr conn,
|
||||
virStoragePoolObjPtr pool,
|
||||
typedef int (*virStorageBackendBuildVol)(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr vol,
|
||||
unsigned int flags);
|
||||
typedef int (*virStorageBackendCreateVol)(virConnectPtr conn,
|
||||
virStoragePoolObjPtr pool,
|
||||
typedef int (*virStorageBackendCreateVol)(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr vol);
|
||||
typedef int (*virStorageBackendRefreshVol)(virConnectPtr conn,
|
||||
virStoragePoolObjPtr pool,
|
||||
typedef int (*virStorageBackendRefreshVol)(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr vol);
|
||||
typedef int (*virStorageBackendDeleteVol)(virConnectPtr conn,
|
||||
virStoragePoolObjPtr pool,
|
||||
typedef int (*virStorageBackendDeleteVol)(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr vol,
|
||||
unsigned int flags);
|
||||
typedef int (*virStorageBackendBuildVolFrom)(virConnectPtr conn,
|
||||
virStoragePoolObjPtr pool,
|
||||
typedef int (*virStorageBackendBuildVolFrom)(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr origvol,
|
||||
virStorageVolDefPtr newvol,
|
||||
unsigned int flags);
|
||||
typedef int (*virStorageBackendVolumeResize)(virConnectPtr conn,
|
||||
virStoragePoolObjPtr pool,
|
||||
typedef int (*virStorageBackendVolumeResize)(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr vol,
|
||||
unsigned long long capacity,
|
||||
unsigned int flags);
|
||||
typedef int (*virStorageBackendVolumeDownload)(virConnectPtr conn,
|
||||
virStoragePoolObjPtr obj,
|
||||
typedef int (*virStorageBackendVolumeDownload)(virStoragePoolObjPtr obj,
|
||||
virStorageVolDefPtr vol,
|
||||
virStreamPtr stream,
|
||||
unsigned long long offset,
|
||||
unsigned long long length,
|
||||
unsigned int flags);
|
||||
typedef int (*virStorageBackendVolumeUpload)(virConnectPtr conn,
|
||||
virStoragePoolObjPtr obj,
|
||||
typedef int (*virStorageBackendVolumeUpload)(virStoragePoolObjPtr obj,
|
||||
virStorageVolDefPtr vol,
|
||||
virStreamPtr stream,
|
||||
unsigned long long offset,
|
||||
unsigned long long len,
|
||||
unsigned int flags);
|
||||
typedef int (*virStorageBackendVolumeWipe)(virConnectPtr conn,
|
||||
virStoragePoolObjPtr pool,
|
||||
typedef int (*virStorageBackendVolumeWipe)(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr vol,
|
||||
unsigned int algorithm,
|
||||
unsigned int flags);
|
||||
|
|
|
@ -439,8 +439,7 @@ virStorageBackendDiskReadGeometry(virStoragePoolObjPtr pool)
|
|||
}
|
||||
|
||||
static int
|
||||
virStorageBackendDiskRefreshPool(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool)
|
||||
virStorageBackendDiskRefreshPool(virStoragePoolObjPtr pool)
|
||||
{
|
||||
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
|
||||
|
||||
|
@ -464,8 +463,7 @@ virStorageBackendDiskRefreshPool(virConnectPtr conn ATTRIBUTE_UNUSED,
|
|||
|
||||
|
||||
static int
|
||||
virStorageBackendDiskStartPool(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool)
|
||||
virStorageBackendDiskStartPool(virStoragePoolObjPtr pool)
|
||||
{
|
||||
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
|
||||
const char *format;
|
||||
|
@ -493,8 +491,7 @@ virStorageBackendDiskStartPool(virConnectPtr conn ATTRIBUTE_UNUSED,
|
|||
* Write a new partition table header
|
||||
*/
|
||||
static int
|
||||
virStorageBackendDiskBuildPool(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool,
|
||||
virStorageBackendDiskBuildPool(virStoragePoolObjPtr pool,
|
||||
unsigned int flags)
|
||||
{
|
||||
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
|
||||
|
@ -751,7 +748,6 @@ virStorageBackendDiskPartBoundaries(virStoragePoolObjPtr pool,
|
|||
|
||||
|
||||
/* virStorageBackendDiskDeleteVol
|
||||
* @conn: Pointer to a libvirt connection
|
||||
* @pool: Pointer to the storage pool
|
||||
* @vol: Pointer to the volume definition
|
||||
* @flags: flags (unused for now)
|
||||
|
@ -776,8 +772,7 @@ virStorageBackendDiskPartBoundaries(virStoragePoolObjPtr pool,
|
|||
* Returns 0 on success, -1 on failure with error message set.
|
||||
*/
|
||||
static int
|
||||
virStorageBackendDiskDeleteVol(virConnectPtr conn,
|
||||
virStoragePoolObjPtr pool,
|
||||
virStorageBackendDiskDeleteVol(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr vol,
|
||||
unsigned int flags)
|
||||
{
|
||||
|
@ -856,7 +851,7 @@ virStorageBackendDiskDeleteVol(virConnectPtr conn,
|
|||
* here is pointless
|
||||
*/
|
||||
virStoragePoolObjClearVols(pool);
|
||||
if (virStorageBackendDiskRefreshPool(conn, pool) < 0)
|
||||
if (virStorageBackendDiskRefreshPool(pool) < 0)
|
||||
goto cleanup;
|
||||
|
||||
rc = 0;
|
||||
|
@ -868,8 +863,7 @@ virStorageBackendDiskDeleteVol(virConnectPtr conn,
|
|||
|
||||
|
||||
static int
|
||||
virStorageBackendDiskCreateVol(virConnectPtr conn,
|
||||
virStoragePoolObjPtr pool,
|
||||
virStorageBackendDiskCreateVol(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr vol)
|
||||
{
|
||||
int res = -1;
|
||||
|
@ -921,7 +915,7 @@ virStorageBackendDiskCreateVol(virConnectPtr conn,
|
|||
* since we could be calling this with vol->target.path == NULL
|
||||
*/
|
||||
virErrorPtr save_err = virSaveLastError();
|
||||
ignore_value(virStorageBackendDiskDeleteVol(conn, pool, vol, 0));
|
||||
ignore_value(virStorageBackendDiskDeleteVol(pool, vol, 0));
|
||||
virSetError(save_err);
|
||||
virFreeError(save_err);
|
||||
goto cleanup;
|
||||
|
@ -936,8 +930,7 @@ virStorageBackendDiskCreateVol(virConnectPtr conn,
|
|||
}
|
||||
|
||||
static int
|
||||
virStorageBackendDiskBuildVolFrom(virConnectPtr conn,
|
||||
virStoragePoolObjPtr pool,
|
||||
virStorageBackendDiskBuildVolFrom(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr vol,
|
||||
virStorageVolDefPtr inputvol,
|
||||
unsigned int flags)
|
||||
|
@ -948,19 +941,18 @@ virStorageBackendDiskBuildVolFrom(virConnectPtr conn,
|
|||
if (!build_func)
|
||||
return -1;
|
||||
|
||||
return build_func(conn, pool, vol, inputvol, flags);
|
||||
return build_func(pool, vol, inputvol, flags);
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
virStorageBackendDiskVolWipe(virConnectPtr conn,
|
||||
virStoragePoolObjPtr pool,
|
||||
virStorageBackendDiskVolWipe(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr vol,
|
||||
unsigned int algorithm,
|
||||
unsigned int flags)
|
||||
{
|
||||
if (vol->source.partType != VIR_STORAGE_VOL_DISK_TYPE_EXTENDED)
|
||||
return virStorageBackendVolWipeLocal(conn, pool, vol, algorithm, flags);
|
||||
return virStorageBackendVolWipeLocal(pool, vol, algorithm, flags);
|
||||
|
||||
/* Wiping an extended partition is not support */
|
||||
virReportError(VIR_ERR_NO_SUPPORT,
|
||||
|
|
|
@ -145,8 +145,7 @@ virStorageBackendFileSystemNetFindNFSPoolSources(virNetfsDiscoverState *state)
|
|||
|
||||
|
||||
static char *
|
||||
virStorageBackendFileSystemNetFindPoolSources(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
const char *srcSpec,
|
||||
virStorageBackendFileSystemNetFindPoolSources(const char *srcSpec,
|
||||
unsigned int flags)
|
||||
{
|
||||
virNetfsDiscoverState state = {
|
||||
|
@ -427,7 +426,6 @@ virStorageBackendFileSystemMount(virStoragePoolObjPtr pool)
|
|||
|
||||
|
||||
/**
|
||||
* @conn connection to report errors against
|
||||
* @pool storage pool to start
|
||||
*
|
||||
* Starts a directory or FS based storage pool. The underlying source
|
||||
|
@ -436,8 +434,7 @@ virStorageBackendFileSystemMount(virStoragePoolObjPtr pool)
|
|||
* Returns 0 on success, -1 on error
|
||||
*/
|
||||
static int
|
||||
virStorageBackendFileSystemStart(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool)
|
||||
virStorageBackendFileSystemStart(virStoragePoolObjPtr pool)
|
||||
{
|
||||
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
|
||||
|
||||
|
@ -450,7 +447,6 @@ virStorageBackendFileSystemStart(virConnectPtr conn ATTRIBUTE_UNUSED,
|
|||
|
||||
|
||||
/**
|
||||
* @conn connection to report errors against
|
||||
* @pool storage pool to unmount
|
||||
*
|
||||
* Stops a file storage pool. The underlying source device is unmounted
|
||||
|
@ -462,8 +458,7 @@ virStorageBackendFileSystemStart(virConnectPtr conn ATTRIBUTE_UNUSED,
|
|||
* Returns 0 if successfully unmounted, -1 on error
|
||||
*/
|
||||
static int
|
||||
virStorageBackendFileSystemStop(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool)
|
||||
virStorageBackendFileSystemStop(virStoragePoolObjPtr pool)
|
||||
{
|
||||
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
|
||||
virCommandPtr cmd = NULL;
|
||||
|
@ -609,7 +604,6 @@ virStorageBackendMakeFileSystem(virStoragePoolObjPtr pool,
|
|||
|
||||
|
||||
/**
|
||||
* @conn connection to report errors against
|
||||
* @pool storage pool to build
|
||||
* @flags controls the pool formatting behaviour
|
||||
*
|
||||
|
@ -630,8 +624,7 @@ virStorageBackendMakeFileSystem(virStoragePoolObjPtr pool,
|
|||
* Returns 0 on success, -1 on error
|
||||
*/
|
||||
static int
|
||||
virStorageBackendFileSystemBuild(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool,
|
||||
virStorageBackendFileSystemBuild(virStoragePoolObjPtr pool,
|
||||
unsigned int flags)
|
||||
{
|
||||
virCheckFlags(VIR_STORAGE_POOL_BUILD_OVERWRITE |
|
||||
|
|
|
@ -342,8 +342,7 @@ virStorageBackendGlusterRefreshVol(virStorageBackendGlusterStatePtr state,
|
|||
}
|
||||
|
||||
static int
|
||||
virStorageBackendGlusterRefreshPool(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool)
|
||||
virStorageBackendGlusterRefreshPool(virStoragePoolObjPtr pool)
|
||||
{
|
||||
int ret = -1;
|
||||
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
|
||||
|
@ -423,8 +422,7 @@ virStorageBackendGlusterRefreshPool(virConnectPtr conn ATTRIBUTE_UNUSED,
|
|||
|
||||
|
||||
static int
|
||||
virStorageBackendGlusterVolDelete(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool,
|
||||
virStorageBackendGlusterVolDelete(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr vol,
|
||||
unsigned int flags)
|
||||
{
|
||||
|
@ -485,8 +483,7 @@ virStorageBackendGlusterVolDelete(virConnectPtr conn ATTRIBUTE_UNUSED,
|
|||
|
||||
|
||||
static char *
|
||||
virStorageBackendGlusterFindPoolSources(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
const char *srcSpec,
|
||||
virStorageBackendGlusterFindPoolSources(const char *srcSpec,
|
||||
unsigned int flags)
|
||||
{
|
||||
virStoragePoolSourceList list = { .type = VIR_STORAGE_POOL_GLUSTER,
|
||||
|
|
|
@ -158,8 +158,7 @@ virStorageBackendISCSIFindLUs(virStoragePoolObjPtr pool,
|
|||
|
||||
|
||||
static char *
|
||||
virStorageBackendISCSIFindPoolSources(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
const char *srcSpec,
|
||||
virStorageBackendISCSIFindPoolSources(const char *srcSpec,
|
||||
unsigned int flags)
|
||||
{
|
||||
virStoragePoolSourcePtr source = NULL;
|
||||
|
@ -324,8 +323,7 @@ virStorageBackendISCSISetAuth(const char *portal,
|
|||
}
|
||||
|
||||
static int
|
||||
virStorageBackendISCSIStartPool(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool)
|
||||
virStorageBackendISCSIStartPool(virStoragePoolObjPtr pool)
|
||||
{
|
||||
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
|
||||
char *portal = NULL;
|
||||
|
@ -377,8 +375,7 @@ virStorageBackendISCSIStartPool(virConnectPtr conn ATTRIBUTE_UNUSED,
|
|||
}
|
||||
|
||||
static int
|
||||
virStorageBackendISCSIRefreshPool(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool)
|
||||
virStorageBackendISCSIRefreshPool(virStoragePoolObjPtr pool)
|
||||
{
|
||||
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
|
||||
char *session = NULL;
|
||||
|
@ -402,8 +399,7 @@ virStorageBackendISCSIRefreshPool(virConnectPtr conn ATTRIBUTE_UNUSED,
|
|||
|
||||
|
||||
static int
|
||||
virStorageBackendISCSIStopPool(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool)
|
||||
virStorageBackendISCSIStopPool(virStoragePoolObjPtr pool)
|
||||
{
|
||||
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
|
||||
char *portal;
|
||||
|
|
|
@ -588,8 +588,7 @@ virStorageBackendLogicalGetPoolSources(virStoragePoolSourceListPtr sourceList)
|
|||
|
||||
|
||||
static char *
|
||||
virStorageBackendLogicalFindPoolSources(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
const char *srcSpec ATTRIBUTE_UNUSED,
|
||||
virStorageBackendLogicalFindPoolSources(const char *srcSpec ATTRIBUTE_UNUSED,
|
||||
unsigned int flags)
|
||||
{
|
||||
virStoragePoolSourceList sourceList;
|
||||
|
@ -728,8 +727,7 @@ virStorageBackendLogicalCheckPool(virStoragePoolObjPtr pool,
|
|||
}
|
||||
|
||||
static int
|
||||
virStorageBackendLogicalStartPool(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool)
|
||||
virStorageBackendLogicalStartPool(virStoragePoolObjPtr pool)
|
||||
{
|
||||
/* Let's make sure that the pool's name matches the pvs output and
|
||||
* that the pool's source devices match the pvs output.
|
||||
|
@ -743,8 +741,7 @@ virStorageBackendLogicalStartPool(virConnectPtr conn ATTRIBUTE_UNUSED,
|
|||
|
||||
|
||||
static int
|
||||
virStorageBackendLogicalBuildPool(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool,
|
||||
virStorageBackendLogicalBuildPool(virStoragePoolObjPtr pool,
|
||||
unsigned int flags)
|
||||
{
|
||||
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
|
||||
|
@ -799,8 +796,7 @@ virStorageBackendLogicalBuildPool(virConnectPtr conn ATTRIBUTE_UNUSED,
|
|||
|
||||
|
||||
static int
|
||||
virStorageBackendLogicalRefreshPool(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool)
|
||||
virStorageBackendLogicalRefreshPool(virStoragePoolObjPtr pool)
|
||||
{
|
||||
/*
|
||||
* # vgs --separator : --noheadings --units b --unbuffered --nosuffix --options "vg_size,vg_free" VGNAME
|
||||
|
@ -862,8 +858,7 @@ virStorageBackendLogicalRefreshPool(virConnectPtr conn ATTRIBUTE_UNUSED,
|
|||
* "Can't deactivate volume group "VolGroup00" with 3 open logical volume(s)"
|
||||
*/
|
||||
static int
|
||||
virStorageBackendLogicalStopPool(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool)
|
||||
virStorageBackendLogicalStopPool(virStoragePoolObjPtr pool)
|
||||
{
|
||||
if (virStorageBackendLogicalSetActive(pool, 0) < 0)
|
||||
return -1;
|
||||
|
@ -872,8 +867,7 @@ virStorageBackendLogicalStopPool(virConnectPtr conn ATTRIBUTE_UNUSED,
|
|||
}
|
||||
|
||||
static int
|
||||
virStorageBackendLogicalDeletePool(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool,
|
||||
virStorageBackendLogicalDeletePool(virStoragePoolObjPtr pool,
|
||||
unsigned int flags)
|
||||
{
|
||||
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
|
||||
|
@ -903,8 +897,7 @@ virStorageBackendLogicalDeletePool(virConnectPtr conn ATTRIBUTE_UNUSED,
|
|||
|
||||
|
||||
static int
|
||||
virStorageBackendLogicalDeleteVol(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool ATTRIBUTE_UNUSED,
|
||||
virStorageBackendLogicalDeleteVol(virStoragePoolObjPtr pool ATTRIBUTE_UNUSED,
|
||||
virStorageVolDefPtr vol,
|
||||
unsigned int flags)
|
||||
{
|
||||
|
@ -977,8 +970,7 @@ virStorageBackendLogicalLVCreate(virStorageVolDefPtr vol,
|
|||
|
||||
|
||||
static int
|
||||
virStorageBackendLogicalCreateVol(virConnectPtr conn,
|
||||
virStoragePoolObjPtr pool,
|
||||
virStorageBackendLogicalCreateVol(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr vol)
|
||||
{
|
||||
int fd = -1;
|
||||
|
@ -1042,15 +1034,14 @@ virStorageBackendLogicalCreateVol(virConnectPtr conn,
|
|||
error:
|
||||
err = virSaveLastError();
|
||||
VIR_FORCE_CLOSE(fd);
|
||||
virStorageBackendLogicalDeleteVol(conn, pool, vol, 0);
|
||||
virStorageBackendLogicalDeleteVol(pool, vol, 0);
|
||||
virSetError(err);
|
||||
virFreeError(err);
|
||||
return -1;
|
||||
}
|
||||
|
||||
static int
|
||||
virStorageBackendLogicalBuildVolFrom(virConnectPtr conn,
|
||||
virStoragePoolObjPtr pool,
|
||||
virStorageBackendLogicalBuildVolFrom(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr vol,
|
||||
virStorageVolDefPtr inputvol,
|
||||
unsigned int flags)
|
||||
|
@ -1061,18 +1052,17 @@ virStorageBackendLogicalBuildVolFrom(virConnectPtr conn,
|
|||
if (!build_func)
|
||||
return -1;
|
||||
|
||||
return build_func(conn, pool, vol, inputvol, flags);
|
||||
return build_func(pool, vol, inputvol, flags);
|
||||
}
|
||||
|
||||
static int
|
||||
virStorageBackendLogicalVolWipe(virConnectPtr conn,
|
||||
virStoragePoolObjPtr pool,
|
||||
virStorageBackendLogicalVolWipe(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr vol,
|
||||
unsigned int algorithm,
|
||||
unsigned int flags)
|
||||
{
|
||||
if (!vol->target.sparse)
|
||||
return virStorageBackendVolWipeLocal(conn, pool, vol, algorithm, flags);
|
||||
return virStorageBackendVolWipeLocal(pool, vol, algorithm, flags);
|
||||
|
||||
/* The wiping algorithms will write something to the logical volume.
|
||||
* Writing to a sparse logical volume causes it to be filled resulting
|
||||
|
|
|
@ -256,13 +256,12 @@ virStorageBackendMpathCheckPool(virStoragePoolObjPtr pool ATTRIBUTE_UNUSED,
|
|||
|
||||
|
||||
static int
|
||||
virStorageBackendMpathRefreshPool(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool)
|
||||
virStorageBackendMpathRefreshPool(virStoragePoolObjPtr pool)
|
||||
{
|
||||
int retval = 0;
|
||||
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
|
||||
|
||||
VIR_DEBUG("conn=%p, pool=%p", conn, pool);
|
||||
VIR_DEBUG("pool=%p", pool);
|
||||
|
||||
def->allocation = def->capacity = def->available = 0;
|
||||
|
||||
|
|
|
@ -420,8 +420,7 @@ volStorageBackendRBDRefreshVolInfo(virStorageVolDefPtr vol,
|
|||
}
|
||||
|
||||
static int
|
||||
virStorageBackendRBDRefreshPool(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool)
|
||||
virStorageBackendRBDRefreshPool(virStoragePoolObjPtr pool)
|
||||
{
|
||||
size_t max_size = 1024;
|
||||
int ret = -1;
|
||||
|
@ -602,8 +601,7 @@ virStorageBackendRBDCleanupSnapshots(rados_ioctx_t ioctx,
|
|||
}
|
||||
|
||||
static int
|
||||
virStorageBackendRBDDeleteVol(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool,
|
||||
virStorageBackendRBDDeleteVol(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr vol,
|
||||
unsigned int flags)
|
||||
{
|
||||
|
@ -647,8 +645,7 @@ virStorageBackendRBDDeleteVol(virConnectPtr conn ATTRIBUTE_UNUSED,
|
|||
|
||||
|
||||
static int
|
||||
virStorageBackendRBDCreateVol(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool,
|
||||
virStorageBackendRBDCreateVol(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr vol)
|
||||
{
|
||||
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
|
||||
|
@ -682,8 +679,7 @@ static int virStorageBackendRBDCreateImage(rados_ioctx_t io,
|
|||
}
|
||||
|
||||
static int
|
||||
virStorageBackendRBDBuildVol(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool,
|
||||
virStorageBackendRBDBuildVol(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr vol,
|
||||
unsigned int flags)
|
||||
{
|
||||
|
@ -1038,8 +1034,7 @@ virStorageBackendRBDCloneImage(rados_ioctx_t io,
|
|||
}
|
||||
|
||||
static int
|
||||
virStorageBackendRBDBuildVolFrom(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool,
|
||||
virStorageBackendRBDBuildVolFrom(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr newvol,
|
||||
virStorageVolDefPtr origvol,
|
||||
unsigned int flags)
|
||||
|
@ -1068,8 +1063,7 @@ virStorageBackendRBDBuildVolFrom(virConnectPtr conn ATTRIBUTE_UNUSED,
|
|||
}
|
||||
|
||||
static int
|
||||
virStorageBackendRBDRefreshVol(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool ATTRIBUTE_UNUSED,
|
||||
virStorageBackendRBDRefreshVol(virStoragePoolObjPtr pool ATTRIBUTE_UNUSED,
|
||||
virStorageVolDefPtr vol)
|
||||
{
|
||||
virStorageBackendRBDStatePtr ptr = NULL;
|
||||
|
@ -1089,8 +1083,7 @@ virStorageBackendRBDRefreshVol(virConnectPtr conn ATTRIBUTE_UNUSED,
|
|||
}
|
||||
|
||||
static int
|
||||
virStorageBackendRBDResizeVol(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool ATTRIBUTE_UNUSED,
|
||||
virStorageBackendRBDResizeVol(virStoragePoolObjPtr pool ATTRIBUTE_UNUSED,
|
||||
virStorageVolDefPtr vol,
|
||||
unsigned long long capacity,
|
||||
unsigned int flags)
|
||||
|
@ -1201,8 +1194,7 @@ virStorageBackendRBDVolWipeDiscard(rbd_image_t image,
|
|||
}
|
||||
|
||||
static int
|
||||
virStorageBackendRBDVolWipe(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool,
|
||||
virStorageBackendRBDVolWipe(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr vol,
|
||||
unsigned int algorithm,
|
||||
unsigned int flags)
|
||||
|
|
|
@ -412,8 +412,7 @@ virStorageBackendSCSICheckPool(virStoragePoolObjPtr pool,
|
|||
}
|
||||
|
||||
static int
|
||||
virStorageBackendSCSIRefreshPool(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool)
|
||||
virStorageBackendSCSIRefreshPool(virStoragePoolObjPtr pool)
|
||||
{
|
||||
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
|
||||
char *name = NULL;
|
||||
|
@ -444,8 +443,7 @@ virStorageBackendSCSIRefreshPool(virConnectPtr conn ATTRIBUTE_UNUSED,
|
|||
|
||||
|
||||
static int
|
||||
virStorageBackendSCSIStartPool(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool)
|
||||
virStorageBackendSCSIStartPool(virStoragePoolObjPtr pool)
|
||||
{
|
||||
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
|
||||
const char *configFile = virStoragePoolObjGetConfigFile(pool);
|
||||
|
@ -459,12 +457,12 @@ virStorageBackendSCSIStartPool(virConnectPtr conn ATTRIBUTE_UNUSED,
|
|||
|
||||
|
||||
static int
|
||||
virStorageBackendSCSIStopPool(virConnectPtr conn,
|
||||
virStoragePoolObjPtr pool)
|
||||
virStorageBackendSCSIStopPool(virStoragePoolObjPtr pool)
|
||||
{
|
||||
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
|
||||
|
||||
if (def->source.adapter.type == VIR_STORAGE_ADAPTER_TYPE_FC_HOST) {
|
||||
virConnectPtr conn;
|
||||
int ret;
|
||||
conn = virGetConnectNodeDev();
|
||||
if (!conn)
|
||||
|
|
|
@ -38,8 +38,7 @@
|
|||
|
||||
#define VIR_FROM_THIS VIR_FROM_STORAGE
|
||||
|
||||
static int virStorageBackendSheepdogRefreshVol(virConnectPtr conn,
|
||||
virStoragePoolObjPtr pool,
|
||||
static int virStorageBackendSheepdogRefreshVol(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr vol);
|
||||
|
||||
void virStorageBackendSheepdogAddHostArg(virCommandPtr cmd,
|
||||
|
@ -112,8 +111,7 @@ virStorageBackendSheepdogAddHostArg(virCommandPtr cmd,
|
|||
}
|
||||
|
||||
static int
|
||||
virStorageBackendSheepdogAddVolume(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool, const char *diskInfo)
|
||||
virStorageBackendSheepdogAddVolume(virStoragePoolObjPtr pool, const char *diskInfo)
|
||||
{
|
||||
virStorageVolDefPtr vol = NULL;
|
||||
|
||||
|
@ -128,7 +126,7 @@ virStorageBackendSheepdogAddVolume(virConnectPtr conn ATTRIBUTE_UNUSED,
|
|||
|
||||
vol->type = VIR_STORAGE_VOL_NETWORK;
|
||||
|
||||
if (virStorageBackendSheepdogRefreshVol(conn, pool, vol) < 0)
|
||||
if (virStorageBackendSheepdogRefreshVol(pool, vol) < 0)
|
||||
goto error;
|
||||
|
||||
if (virStoragePoolObjAddVol(pool, vol) < 0)
|
||||
|
@ -142,8 +140,7 @@ virStorageBackendSheepdogAddVolume(virConnectPtr conn ATTRIBUTE_UNUSED,
|
|||
}
|
||||
|
||||
static int
|
||||
virStorageBackendSheepdogRefreshAllVol(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool)
|
||||
virStorageBackendSheepdogRefreshAllVol(virStoragePoolObjPtr pool)
|
||||
{
|
||||
int ret = -1;
|
||||
char *output = NULL;
|
||||
|
@ -170,7 +167,7 @@ virStorageBackendSheepdogRefreshAllVol(virConnectPtr conn ATTRIBUTE_UNUSED,
|
|||
|
||||
if (cells != NULL &&
|
||||
virStringListLength((const char * const *)cells) > 2) {
|
||||
if (virStorageBackendSheepdogAddVolume(conn, pool, cells[1]) < 0)
|
||||
if (virStorageBackendSheepdogAddVolume(pool, cells[1]) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
|
@ -190,8 +187,7 @@ virStorageBackendSheepdogRefreshAllVol(virConnectPtr conn ATTRIBUTE_UNUSED,
|
|||
|
||||
|
||||
static int
|
||||
virStorageBackendSheepdogRefreshPool(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool)
|
||||
virStorageBackendSheepdogRefreshPool(virStoragePoolObjPtr pool)
|
||||
{
|
||||
int ret = -1;
|
||||
char *output = NULL;
|
||||
|
@ -207,7 +203,7 @@ virStorageBackendSheepdogRefreshPool(virConnectPtr conn ATTRIBUTE_UNUSED,
|
|||
output) < 0)
|
||||
goto cleanup;
|
||||
|
||||
ret = virStorageBackendSheepdogRefreshAllVol(conn, pool);
|
||||
ret = virStorageBackendSheepdogRefreshAllVol(pool);
|
||||
cleanup:
|
||||
virCommandFree(cmd);
|
||||
VIR_FREE(output);
|
||||
|
@ -216,8 +212,7 @@ virStorageBackendSheepdogRefreshPool(virConnectPtr conn ATTRIBUTE_UNUSED,
|
|||
|
||||
|
||||
static int
|
||||
virStorageBackendSheepdogDeleteVol(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool,
|
||||
virStorageBackendSheepdogDeleteVol(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr vol,
|
||||
unsigned int flags)
|
||||
{
|
||||
|
@ -234,8 +229,7 @@ virStorageBackendSheepdogDeleteVol(virConnectPtr conn ATTRIBUTE_UNUSED,
|
|||
|
||||
|
||||
static int
|
||||
virStorageBackendSheepdogCreateVol(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool,
|
||||
virStorageBackendSheepdogCreateVol(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr vol)
|
||||
{
|
||||
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
|
||||
|
@ -263,8 +257,7 @@ virStorageBackendSheepdogCreateVol(virConnectPtr conn ATTRIBUTE_UNUSED,
|
|||
|
||||
|
||||
static int
|
||||
virStorageBackendSheepdogBuildVol(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool,
|
||||
virStorageBackendSheepdogBuildVol(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr vol,
|
||||
unsigned int flags)
|
||||
{
|
||||
|
@ -354,8 +347,7 @@ virStorageBackendSheepdogParseVdiList(virStorageVolDefPtr vol,
|
|||
}
|
||||
|
||||
static int
|
||||
virStorageBackendSheepdogRefreshVol(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool,
|
||||
virStorageBackendSheepdogRefreshVol(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr vol)
|
||||
{
|
||||
int ret;
|
||||
|
@ -389,8 +381,7 @@ virStorageBackendSheepdogRefreshVol(virConnectPtr conn ATTRIBUTE_UNUSED,
|
|||
|
||||
|
||||
static int
|
||||
virStorageBackendSheepdogResizeVol(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool,
|
||||
virStorageBackendSheepdogResizeVol(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr vol,
|
||||
unsigned long long capacity,
|
||||
unsigned int flags)
|
||||
|
|
|
@ -17,7 +17,6 @@ VIR_LOG_INIT("storage.storage_backend_vstorage");
|
|||
|
||||
|
||||
/**
|
||||
* @conn connection to report errors against
|
||||
* @pool storage pool to build
|
||||
* @flags controls the pool formatting behaviour
|
||||
*
|
||||
|
@ -26,8 +25,7 @@ VIR_LOG_INIT("storage.storage_backend_vstorage");
|
|||
* Returns 0 on success, -1 on error
|
||||
*/
|
||||
static int
|
||||
virStorageBackendVzPoolBuild(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool,
|
||||
virStorageBackendVzPoolBuild(virStoragePoolObjPtr pool,
|
||||
unsigned int flags)
|
||||
{
|
||||
virCheckFlags(0, -1);
|
||||
|
@ -37,8 +35,7 @@ virStorageBackendVzPoolBuild(virConnectPtr conn ATTRIBUTE_UNUSED,
|
|||
|
||||
|
||||
static int
|
||||
virStorageBackendVzPoolStart(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool)
|
||||
virStorageBackendVzPoolStart(virStoragePoolObjPtr pool)
|
||||
{
|
||||
int ret = -1;
|
||||
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
|
||||
|
@ -125,8 +122,7 @@ virStorageBackendVzIsMounted(virStoragePoolObjPtr pool)
|
|||
|
||||
|
||||
static int
|
||||
virStorageBackendVzPoolStop(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool)
|
||||
virStorageBackendVzPoolStop(virStoragePoolObjPtr pool)
|
||||
{
|
||||
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
|
||||
virCommandPtr cmd = NULL;
|
||||
|
|
|
@ -228,8 +228,7 @@ virStorageBackendZFSFindVols(virStoragePoolObjPtr pool,
|
|||
}
|
||||
|
||||
static int
|
||||
virStorageBackendZFSRefreshPool(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool ATTRIBUTE_UNUSED)
|
||||
virStorageBackendZFSRefreshPool(virStoragePoolObjPtr pool ATTRIBUTE_UNUSED)
|
||||
{
|
||||
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
|
||||
virCommandPtr cmd = NULL;
|
||||
|
@ -305,8 +304,7 @@ virStorageBackendZFSRefreshPool(virConnectPtr conn ATTRIBUTE_UNUSED,
|
|||
}
|
||||
|
||||
static int
|
||||
virStorageBackendZFSCreateVol(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool,
|
||||
virStorageBackendZFSCreateVol(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr vol)
|
||||
{
|
||||
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
|
||||
|
@ -377,8 +375,7 @@ virStorageBackendZFSCreateVol(virConnectPtr conn ATTRIBUTE_UNUSED,
|
|||
}
|
||||
|
||||
static int
|
||||
virStorageBackendZFSDeleteVol(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool,
|
||||
virStorageBackendZFSDeleteVol(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr vol,
|
||||
unsigned int flags)
|
||||
{
|
||||
|
@ -403,8 +400,7 @@ virStorageBackendZFSDeleteVol(virConnectPtr conn ATTRIBUTE_UNUSED,
|
|||
}
|
||||
|
||||
static int
|
||||
virStorageBackendZFSBuildPool(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool,
|
||||
virStorageBackendZFSBuildPool(virStoragePoolObjPtr pool,
|
||||
unsigned int flags)
|
||||
{
|
||||
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
|
||||
|
@ -437,8 +433,7 @@ virStorageBackendZFSBuildPool(virConnectPtr conn ATTRIBUTE_UNUSED,
|
|||
}
|
||||
|
||||
static int
|
||||
virStorageBackendZFSDeletePool(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool,
|
||||
virStorageBackendZFSDeletePool(virStoragePoolObjPtr pool,
|
||||
unsigned int flags)
|
||||
{
|
||||
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
|
||||
|
|
|
@ -136,9 +136,9 @@ storagePoolUpdateStateCallback(virStoragePoolObjPtr obj,
|
|||
*/
|
||||
if (active) {
|
||||
virStoragePoolObjClearVols(obj);
|
||||
if (backend->refreshPool(NULL, obj) < 0) {
|
||||
if (backend->refreshPool(obj) < 0) {
|
||||
if (backend->stopPool)
|
||||
backend->stopPool(NULL, obj);
|
||||
backend->stopPool(obj);
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Failed to restart storage pool '%s': %s"),
|
||||
def->name, virGetLastErrorMessage());
|
||||
|
@ -171,10 +171,9 @@ storagePoolUpdateAllState(void)
|
|||
|
||||
static void
|
||||
storageDriverAutostartCallback(virStoragePoolObjPtr obj,
|
||||
const void *opaque)
|
||||
const void *opaque ATTRIBUTE_UNUSED)
|
||||
{
|
||||
virStoragePoolDefPtr def = virStoragePoolObjGetDef(obj);
|
||||
virConnectPtr conn = (virConnectPtr) opaque;
|
||||
virStorageBackendPtr backend;
|
||||
bool started = false;
|
||||
|
||||
|
@ -184,7 +183,7 @@ storageDriverAutostartCallback(virStoragePoolObjPtr obj,
|
|||
if (virStoragePoolObjIsAutostart(obj) &&
|
||||
!virStoragePoolObjIsActive(obj)) {
|
||||
if (backend->startPool &&
|
||||
backend->startPool(conn, obj) < 0) {
|
||||
backend->startPool(obj) < 0) {
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Failed to autostart storage pool '%s': %s"),
|
||||
def->name, virGetLastErrorMessage());
|
||||
|
@ -200,11 +199,11 @@ storageDriverAutostartCallback(virStoragePoolObjPtr obj,
|
|||
stateFile = virFileBuildPath(driver->stateDir, def->name, ".xml");
|
||||
if (!stateFile ||
|
||||
virStoragePoolSaveState(stateFile, def) < 0 ||
|
||||
backend->refreshPool(conn, obj) < 0) {
|
||||
backend->refreshPool(obj) < 0) {
|
||||
if (stateFile)
|
||||
unlink(stateFile);
|
||||
if (backend->stopPool)
|
||||
backend->stopPool(conn, obj);
|
||||
backend->stopPool(obj);
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Failed to autostart storage pool '%s': %s"),
|
||||
def->name, virGetLastErrorMessage());
|
||||
|
@ -221,16 +220,9 @@ storageDriverAutostart(void)
|
|||
{
|
||||
virConnectPtr conn = NULL;
|
||||
|
||||
/* XXX Remove hardcoding of QEMU URI */
|
||||
if (driver->privileged)
|
||||
conn = virConnectOpen("qemu:///system");
|
||||
else
|
||||
conn = virConnectOpen("qemu:///session");
|
||||
/* Ignoring NULL conn - let backends decide */
|
||||
|
||||
virStoragePoolObjListForEach(driver->pools,
|
||||
storageDriverAutostartCallback,
|
||||
conn);
|
||||
NULL);
|
||||
|
||||
virObjectUnref(conn);
|
||||
}
|
||||
|
@ -652,7 +644,7 @@ storageConnectFindStoragePoolSources(virConnectPtr conn,
|
|||
goto cleanup;
|
||||
}
|
||||
|
||||
ret = backend->findPoolSources(conn, srcSpec, flags);
|
||||
ret = backend->findPoolSources(srcSpec, flags);
|
||||
|
||||
cleanup:
|
||||
return ret;
|
||||
|
@ -752,7 +744,7 @@ storagePoolCreateXML(virConnectPtr conn,
|
|||
|
||||
if (build_flags ||
|
||||
(flags & VIR_STORAGE_POOL_CREATE_WITH_BUILD)) {
|
||||
if (backend->buildPool(conn, obj, build_flags) < 0) {
|
||||
if (backend->buildPool(obj, build_flags) < 0) {
|
||||
virStoragePoolObjRemove(driver->pools, obj);
|
||||
virObjectUnref(obj);
|
||||
obj = NULL;
|
||||
|
@ -762,7 +754,7 @@ storagePoolCreateXML(virConnectPtr conn,
|
|||
}
|
||||
|
||||
if (backend->startPool &&
|
||||
backend->startPool(conn, obj) < 0) {
|
||||
backend->startPool(obj) < 0) {
|
||||
virStoragePoolObjRemove(driver->pools, obj);
|
||||
virObjectUnref(obj);
|
||||
obj = NULL;
|
||||
|
@ -773,11 +765,11 @@ storagePoolCreateXML(virConnectPtr conn,
|
|||
|
||||
virStoragePoolObjClearVols(obj);
|
||||
if (!stateFile || virStoragePoolSaveState(stateFile, def) < 0 ||
|
||||
backend->refreshPool(conn, obj) < 0) {
|
||||
backend->refreshPool(obj) < 0) {
|
||||
if (stateFile)
|
||||
unlink(stateFile);
|
||||
if (backend->stopPool)
|
||||
backend->stopPool(conn, obj);
|
||||
backend->stopPool(obj);
|
||||
virStoragePoolObjRemove(driver->pools, obj);
|
||||
virObjectUnref(obj);
|
||||
obj = NULL;
|
||||
|
@ -964,25 +956,25 @@ storagePoolCreate(virStoragePoolPtr pool,
|
|||
|
||||
if (build_flags ||
|
||||
(flags & VIR_STORAGE_POOL_CREATE_WITH_BUILD)) {
|
||||
if (backend->buildPool(pool->conn, obj, build_flags) < 0)
|
||||
if (backend->buildPool(obj, build_flags) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
}
|
||||
|
||||
VIR_INFO("Starting up storage pool '%s'", def->name);
|
||||
if (backend->startPool &&
|
||||
backend->startPool(pool->conn, obj) < 0)
|
||||
backend->startPool(obj) < 0)
|
||||
goto cleanup;
|
||||
|
||||
stateFile = virFileBuildPath(driver->stateDir, def->name, ".xml");
|
||||
|
||||
virStoragePoolObjClearVols(obj);
|
||||
if (!stateFile || virStoragePoolSaveState(stateFile, def) < 0 ||
|
||||
backend->refreshPool(pool->conn, obj) < 0) {
|
||||
backend->refreshPool(obj) < 0) {
|
||||
if (stateFile)
|
||||
unlink(stateFile);
|
||||
if (backend->stopPool)
|
||||
backend->stopPool(pool->conn, obj);
|
||||
backend->stopPool(obj);
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
|
@ -1030,7 +1022,7 @@ storagePoolBuild(virStoragePoolPtr pool,
|
|||
}
|
||||
|
||||
if (backend->buildPool &&
|
||||
backend->buildPool(pool->conn, obj, flags) < 0)
|
||||
backend->buildPool(obj, flags) < 0)
|
||||
goto cleanup;
|
||||
|
||||
event = virStoragePoolEventLifecycleNew(def->name,
|
||||
|
@ -1090,7 +1082,7 @@ storagePoolDestroy(virStoragePoolPtr pool)
|
|||
VIR_FREE(stateFile);
|
||||
|
||||
if (backend->stopPool &&
|
||||
backend->stopPool(pool->conn, obj) < 0)
|
||||
backend->stopPool(obj) < 0)
|
||||
goto cleanup;
|
||||
|
||||
virStoragePoolObjClearVols(obj);
|
||||
|
@ -1161,7 +1153,7 @@ storagePoolDelete(virStoragePoolPtr pool,
|
|||
"%s", _("pool does not support pool deletion"));
|
||||
goto cleanup;
|
||||
}
|
||||
if (backend->deletePool(pool->conn, obj, flags) < 0)
|
||||
if (backend->deletePool(obj, flags) < 0)
|
||||
goto cleanup;
|
||||
|
||||
event = virStoragePoolEventLifecycleNew(def->name,
|
||||
|
@ -1215,9 +1207,9 @@ storagePoolRefresh(virStoragePoolPtr pool,
|
|||
}
|
||||
|
||||
virStoragePoolObjClearVols(obj);
|
||||
if (backend->refreshPool(pool->conn, obj) < 0) {
|
||||
if (backend->refreshPool(obj) < 0) {
|
||||
if (backend->stopPool)
|
||||
backend->stopPool(pool->conn, obj);
|
||||
backend->stopPool(obj);
|
||||
|
||||
event = virStoragePoolEventLifecycleNew(def->name,
|
||||
def->uuid,
|
||||
|
@ -1724,8 +1716,7 @@ storagePoolLookupByTargetPath(virConnectPtr conn,
|
|||
|
||||
|
||||
static int
|
||||
storageVolDeleteInternal(virStorageVolPtr vol,
|
||||
virStorageBackendPtr backend,
|
||||
storageVolDeleteInternal(virStorageBackendPtr backend,
|
||||
virStoragePoolObjPtr obj,
|
||||
virStorageVolDefPtr voldef,
|
||||
unsigned int flags,
|
||||
|
@ -1741,7 +1732,7 @@ storageVolDeleteInternal(virStorageVolPtr vol,
|
|||
goto cleanup;
|
||||
}
|
||||
|
||||
if (backend->deleteVol(vol->conn, obj, voldef, flags) < 0)
|
||||
if (backend->deleteVol(obj, voldef, flags) < 0)
|
||||
goto cleanup;
|
||||
|
||||
/* The disk backend updated the pool data including removing the
|
||||
|
@ -1839,7 +1830,7 @@ storageVolDelete(virStorageVolPtr vol,
|
|||
goto cleanup;
|
||||
}
|
||||
|
||||
if (storageVolDeleteInternal(vol, backend, obj, voldef, flags, true) < 0)
|
||||
if (storageVolDeleteInternal(backend, obj, voldef, flags, true) < 0)
|
||||
goto cleanup;
|
||||
|
||||
ret = 0;
|
||||
|
@ -1907,7 +1898,7 @@ storageVolCreateXML(virStoragePoolPtr pool,
|
|||
/* Wipe any key the user may have suggested, as volume creation
|
||||
* will generate the canonical key. */
|
||||
VIR_FREE(voldef->key);
|
||||
if (backend->createVol(pool->conn, obj, voldef) < 0)
|
||||
if (backend->createVol(obj, voldef) < 0)
|
||||
goto cleanup;
|
||||
|
||||
if (!(newvol = virGetStorageVol(pool->conn, def->name, voldef->name,
|
||||
|
@ -1938,7 +1929,7 @@ storageVolCreateXML(virStoragePoolPtr pool,
|
|||
voldef->building = true;
|
||||
virObjectUnlock(obj);
|
||||
|
||||
buildret = backend->buildVol(pool->conn, obj, buildvoldef, flags);
|
||||
buildret = backend->buildVol(obj, buildvoldef, flags);
|
||||
|
||||
VIR_FREE(buildvoldef);
|
||||
|
||||
|
@ -1957,8 +1948,8 @@ storageVolCreateXML(virStoragePoolPtr pool,
|
|||
}
|
||||
|
||||
if (backend->refreshVol &&
|
||||
backend->refreshVol(pool->conn, obj, voldef) < 0) {
|
||||
storageVolDeleteInternal(newvol, backend, obj, voldef,
|
||||
backend->refreshVol(obj, voldef) < 0) {
|
||||
storageVolDeleteInternal(backend, obj, voldef,
|
||||
0, false);
|
||||
voldef = NULL;
|
||||
goto cleanup;
|
||||
|
@ -2097,14 +2088,14 @@ storageVolCreateXMLFrom(virStoragePoolPtr pool,
|
|||
}
|
||||
|
||||
if (backend->refreshVol &&
|
||||
backend->refreshVol(pool->conn, obj, voldefsrc) < 0)
|
||||
backend->refreshVol(obj, voldefsrc) < 0)
|
||||
goto cleanup;
|
||||
|
||||
/* 'Define' the new volume so we get async progress reporting.
|
||||
* Wipe any key the user may have suggested, as volume creation
|
||||
* will generate the canonical key. */
|
||||
VIR_FREE(voldef->key);
|
||||
if (backend->createVol(pool->conn, obj, voldef) < 0)
|
||||
if (backend->createVol(obj, voldef) < 0)
|
||||
goto cleanup;
|
||||
|
||||
/* Make a shallow copy of the 'defined' volume definition, since the
|
||||
|
@ -2135,7 +2126,7 @@ storageVolCreateXMLFrom(virStoragePoolPtr pool,
|
|||
virObjectUnlock(objsrc);
|
||||
}
|
||||
|
||||
buildret = backend->buildVolFrom(pool->conn, obj, shadowvol, voldefsrc, flags);
|
||||
buildret = backend->buildVolFrom(obj, shadowvol, voldefsrc, flags);
|
||||
|
||||
virObjectLock(obj);
|
||||
if (objsrc)
|
||||
|
@ -2152,8 +2143,8 @@ storageVolCreateXMLFrom(virStoragePoolPtr pool,
|
|||
|
||||
if (buildret < 0 ||
|
||||
(backend->refreshVol &&
|
||||
backend->refreshVol(pool->conn, obj, voldef) < 0)) {
|
||||
storageVolDeleteInternal(newvol, backend, obj, voldef, 0, false);
|
||||
backend->refreshVol(obj, voldef) < 0)) {
|
||||
storageVolDeleteInternal(backend, obj, voldef, 0, false);
|
||||
voldef = NULL;
|
||||
goto cleanup;
|
||||
}
|
||||
|
@ -2216,7 +2207,7 @@ storageVolDownload(virStorageVolPtr vol,
|
|||
goto cleanup;
|
||||
}
|
||||
|
||||
ret = backend->downloadVol(vol->conn, obj, voldef, stream,
|
||||
ret = backend->downloadVol(obj, voldef, stream,
|
||||
offset, length, flags);
|
||||
|
||||
cleanup:
|
||||
|
@ -2318,7 +2309,7 @@ virStorageVolPoolRefreshThread(void *opaque)
|
|||
goto cleanup;
|
||||
|
||||
virStoragePoolObjClearVols(obj);
|
||||
if (backend->refreshPool(NULL, obj) < 0)
|
||||
if (backend->refreshPool(obj) < 0)
|
||||
VIR_DEBUG("Failed to refresh storage pool");
|
||||
|
||||
event = virStoragePoolEventRefreshNew(def->name, def->uuid);
|
||||
|
@ -2411,7 +2402,7 @@ storageVolUpload(virStorageVolPtr vol,
|
|||
VIR_STRDUP(cbdata->vol_path, voldef->target.path) < 0)
|
||||
goto cleanup;
|
||||
|
||||
if ((ret = backend->uploadVol(vol->conn, obj, voldef, stream,
|
||||
if ((ret = backend->uploadVol(obj, voldef, stream,
|
||||
offset, length, flags)) < 0)
|
||||
goto cleanup;
|
||||
|
||||
|
@ -2509,7 +2500,7 @@ storageVolResize(virStorageVolPtr vol,
|
|||
goto cleanup;
|
||||
}
|
||||
|
||||
if (backend->resizeVol(vol->conn, obj, voldef, abs_capacity, flags) < 0)
|
||||
if (backend->resizeVol(obj, voldef, abs_capacity, flags) < 0)
|
||||
goto cleanup;
|
||||
|
||||
voldef->target.capacity = abs_capacity;
|
||||
|
@ -2579,7 +2570,7 @@ storageVolWipePattern(virStorageVolPtr vol,
|
|||
goto cleanup;
|
||||
}
|
||||
|
||||
if (backend->wipeVol(vol->conn, obj, voldef, algorithm, flags) < 0)
|
||||
if (backend->wipeVol(obj, voldef, algorithm, flags) < 0)
|
||||
goto cleanup;
|
||||
|
||||
/* Instead of using the refreshVol, since much changes on the target
|
||||
|
@ -2626,7 +2617,7 @@ storageVolGetInfoFlags(virStorageVolPtr vol,
|
|||
goto cleanup;
|
||||
|
||||
if (backend->refreshVol &&
|
||||
backend->refreshVol(vol->conn, obj, voldef) < 0)
|
||||
backend->refreshVol(obj, voldef) < 0)
|
||||
goto cleanup;
|
||||
|
||||
memset(info, 0, sizeof(*info));
|
||||
|
@ -2672,7 +2663,7 @@ storageVolGetXMLDesc(virStorageVolPtr vol,
|
|||
goto cleanup;
|
||||
|
||||
if (backend->refreshVol &&
|
||||
backend->refreshVol(vol->conn, obj, voldef) < 0)
|
||||
backend->refreshVol(obj, voldef) < 0)
|
||||
goto cleanup;
|
||||
|
||||
ret = virStorageVolDefFormat(def, voldef);
|
||||
|
|
|
@ -222,8 +222,7 @@ virStorageBackendCopyToFD(virStorageVolDefPtr vol,
|
|||
}
|
||||
|
||||
static int
|
||||
storageBackendCreateBlockFrom(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool ATTRIBUTE_UNUSED,
|
||||
storageBackendCreateBlockFrom(virStoragePoolObjPtr pool ATTRIBUTE_UNUSED,
|
||||
virStorageVolDefPtr vol,
|
||||
virStorageVolDefPtr inputvol,
|
||||
unsigned int flags)
|
||||
|
@ -390,8 +389,7 @@ createRawFile(int fd, virStorageVolDefPtr vol,
|
|||
}
|
||||
|
||||
static int
|
||||
storageBackendCreateRaw(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool,
|
||||
storageBackendCreateRaw(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr vol,
|
||||
virStorageVolDefPtr inputvol,
|
||||
unsigned int flags)
|
||||
|
@ -690,8 +688,7 @@ virStorageBackendCreateExecCommand(virStoragePoolObjPtr pool,
|
|||
/* Create ploop directory with ploop image and DiskDescriptor.xml
|
||||
* if function fails to create image file the directory will be deleted.*/
|
||||
static int
|
||||
storageBackendCreatePloop(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool ATTRIBUTE_UNUSED,
|
||||
storageBackendCreatePloop(virStoragePoolObjPtr pool ATTRIBUTE_UNUSED,
|
||||
virStorageVolDefPtr vol,
|
||||
virStorageVolDefPtr inputvol,
|
||||
unsigned int flags)
|
||||
|
@ -1376,8 +1373,7 @@ storageBackendCreateQemuImgSecretPath(virStoragePoolObjPtr pool,
|
|||
|
||||
|
||||
static int
|
||||
storageBackendCreateQemuImg(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool,
|
||||
storageBackendCreateQemuImg(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr vol,
|
||||
virStorageVolDefPtr inputvol,
|
||||
unsigned int flags)
|
||||
|
@ -1459,7 +1455,7 @@ virStorageBackendCreateVolUsingQemuImg(virStoragePoolObjPtr pool,
|
|||
changeFormat = true;
|
||||
}
|
||||
|
||||
ret = storageBackendCreateQemuImg(NULL, pool, vol, inputvol, flags);
|
||||
ret = storageBackendCreateQemuImg(pool, vol, inputvol, flags);
|
||||
|
||||
if (changeFormat)
|
||||
vol->target.format = VIR_STORAGE_FILE_NONE;
|
||||
|
@ -2078,8 +2074,7 @@ virStorageBackendStablePath(virStoragePoolObjPtr pool,
|
|||
|
||||
/* Common/Local File System/Directory Volume API's */
|
||||
static int
|
||||
createFileDir(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool,
|
||||
createFileDir(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr vol,
|
||||
virStorageVolDefPtr inputvol,
|
||||
unsigned int flags)
|
||||
|
@ -2125,8 +2120,7 @@ createFileDir(virConnectPtr conn ATTRIBUTE_UNUSED,
|
|||
* function), and can drop the parent pool lock during the (slow) allocation.
|
||||
*/
|
||||
int
|
||||
virStorageBackendVolCreateLocal(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool,
|
||||
virStorageBackendVolCreateLocal(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr vol)
|
||||
{
|
||||
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
|
||||
|
@ -2164,8 +2158,7 @@ virStorageBackendVolCreateLocal(virConnectPtr conn ATTRIBUTE_UNUSED,
|
|||
|
||||
|
||||
static int
|
||||
storageBackendVolBuildLocal(virConnectPtr conn,
|
||||
virStoragePoolObjPtr pool,
|
||||
storageBackendVolBuildLocal(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr vol,
|
||||
virStorageVolDefPtr inputvol,
|
||||
unsigned int flags)
|
||||
|
@ -2194,7 +2187,7 @@ storageBackendVolBuildLocal(virConnectPtr conn,
|
|||
create_func = storageBackendCreateQemuImg;
|
||||
}
|
||||
|
||||
if (create_func(conn, pool, vol, inputvol, flags) < 0)
|
||||
if (create_func(pool, vol, inputvol, flags) < 0)
|
||||
return -1;
|
||||
return 0;
|
||||
}
|
||||
|
@ -2206,12 +2199,11 @@ storageBackendVolBuildLocal(virConnectPtr conn,
|
|||
* special kinds of files
|
||||
*/
|
||||
int
|
||||
virStorageBackendVolBuildLocal(virConnectPtr conn,
|
||||
virStoragePoolObjPtr pool,
|
||||
virStorageBackendVolBuildLocal(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr vol,
|
||||
unsigned int flags)
|
||||
{
|
||||
return storageBackendVolBuildLocal(conn, pool, vol, NULL, flags);
|
||||
return storageBackendVolBuildLocal(pool, vol, NULL, flags);
|
||||
}
|
||||
|
||||
|
||||
|
@ -2219,13 +2211,12 @@ virStorageBackendVolBuildLocal(virConnectPtr conn,
|
|||
* Create a storage vol using 'inputvol' as input
|
||||
*/
|
||||
int
|
||||
virStorageBackendVolBuildFromLocal(virConnectPtr conn,
|
||||
virStoragePoolObjPtr pool,
|
||||
virStorageBackendVolBuildFromLocal(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr vol,
|
||||
virStorageVolDefPtr inputvol,
|
||||
unsigned int flags)
|
||||
{
|
||||
return storageBackendVolBuildLocal(conn, pool, vol, inputvol, flags);
|
||||
return storageBackendVolBuildLocal(pool, vol, inputvol, flags);
|
||||
}
|
||||
|
||||
|
||||
|
@ -2233,8 +2224,7 @@ virStorageBackendVolBuildFromLocal(virConnectPtr conn,
|
|||
* Remove a volume - no support for BLOCK and NETWORK yet
|
||||
*/
|
||||
int
|
||||
virStorageBackendVolDeleteLocal(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool ATTRIBUTE_UNUSED,
|
||||
virStorageBackendVolDeleteLocal(virStoragePoolObjPtr pool ATTRIBUTE_UNUSED,
|
||||
virStorageVolDefPtr vol,
|
||||
unsigned int flags)
|
||||
{
|
||||
|
@ -2335,8 +2325,7 @@ storageBackendLoadDefaultSecrets(virStorageVolDefPtr vol)
|
|||
* Update info about a volume's capacity/allocation
|
||||
*/
|
||||
int
|
||||
virStorageBackendVolRefreshLocal(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool ATTRIBUTE_UNUSED,
|
||||
virStorageBackendVolRefreshLocal(virStoragePoolObjPtr pool ATTRIBUTE_UNUSED,
|
||||
virStorageVolDefPtr vol)
|
||||
{
|
||||
int ret;
|
||||
|
@ -2429,8 +2418,7 @@ storageBackendResizeQemuImg(virStoragePoolObjPtr pool,
|
|||
* Resize a volume
|
||||
*/
|
||||
int
|
||||
virStorageBackendVolResizeLocal(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool,
|
||||
virStorageBackendVolResizeLocal(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr vol,
|
||||
unsigned long long capacity,
|
||||
unsigned int flags)
|
||||
|
@ -2509,8 +2497,7 @@ storageBackendPloopHasSnapshots(char *path)
|
|||
|
||||
|
||||
int
|
||||
virStorageBackendVolUploadLocal(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool ATTRIBUTE_UNUSED,
|
||||
virStorageBackendVolUploadLocal(virStoragePoolObjPtr pool ATTRIBUTE_UNUSED,
|
||||
virStorageVolDefPtr vol,
|
||||
virStreamPtr stream,
|
||||
unsigned long long offset,
|
||||
|
@ -2556,8 +2543,7 @@ virStorageBackendVolUploadLocal(virConnectPtr conn ATTRIBUTE_UNUSED,
|
|||
}
|
||||
|
||||
int
|
||||
virStorageBackendVolDownloadLocal(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool ATTRIBUTE_UNUSED,
|
||||
virStorageBackendVolDownloadLocal(virStoragePoolObjPtr pool ATTRIBUTE_UNUSED,
|
||||
virStorageVolDefPtr vol,
|
||||
virStreamPtr stream,
|
||||
unsigned long long offset,
|
||||
|
@ -2854,8 +2840,7 @@ storageBackendVolWipePloop(virStorageVolDefPtr vol,
|
|||
|
||||
|
||||
int
|
||||
virStorageBackendVolWipeLocal(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool ATTRIBUTE_UNUSED,
|
||||
virStorageBackendVolWipeLocal(virStoragePoolObjPtr pool ATTRIBUTE_UNUSED,
|
||||
virStorageVolDefPtr vol,
|
||||
unsigned int algorithm,
|
||||
unsigned int flags)
|
||||
|
@ -2954,8 +2939,7 @@ virStorageBackendBuildLocal(virStoragePoolObjPtr pool)
|
|||
* Returns 0 on success, -1 on error
|
||||
*/
|
||||
int
|
||||
virStorageBackendDeleteLocal(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool,
|
||||
virStorageBackendDeleteLocal(virStoragePoolObjPtr pool,
|
||||
unsigned int flags)
|
||||
{
|
||||
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
|
||||
|
@ -3696,8 +3680,7 @@ virStorageBackendRefreshVolTargetUpdate(virStorageVolDefPtr vol)
|
|||
* within it. This is non-recursive.
|
||||
*/
|
||||
int
|
||||
virStorageBackendRefreshLocal(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
virStoragePoolObjPtr pool)
|
||||
virStorageBackendRefreshLocal(virStoragePoolObjPtr pool)
|
||||
{
|
||||
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
|
||||
DIR *dir;
|
||||
|
|
|
@ -38,54 +38,45 @@ virStorageBackendBuildVolFrom
|
|||
virStorageBackendGetBuildVolFromFunction(virStorageVolDefPtr vol,
|
||||
virStorageVolDefPtr inputvol);
|
||||
|
||||
int virStorageBackendVolCreateLocal(virConnectPtr conn,
|
||||
virStoragePoolObjPtr pool,
|
||||
int virStorageBackendVolCreateLocal(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr vol);
|
||||
|
||||
int virStorageBackendVolBuildLocal(virConnectPtr conn,
|
||||
virStoragePoolObjPtr pool,
|
||||
int virStorageBackendVolBuildLocal(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr vol,
|
||||
unsigned int flags);
|
||||
|
||||
int virStorageBackendVolBuildFromLocal(virConnectPtr conn,
|
||||
virStoragePoolObjPtr pool,
|
||||
int virStorageBackendVolBuildFromLocal(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr vol,
|
||||
virStorageVolDefPtr inputvol,
|
||||
unsigned int flags);
|
||||
|
||||
int virStorageBackendVolDeleteLocal(virConnectPtr conn,
|
||||
virStoragePoolObjPtr pool,
|
||||
int virStorageBackendVolDeleteLocal(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr vol,
|
||||
unsigned int flags);
|
||||
|
||||
int virStorageBackendVolRefreshLocal(virConnectPtr conn,
|
||||
virStoragePoolObjPtr pool,
|
||||
int virStorageBackendVolRefreshLocal(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr vol);
|
||||
|
||||
int virStorageBackendVolResizeLocal(virConnectPtr conn,
|
||||
virStoragePoolObjPtr pool,
|
||||
int virStorageBackendVolResizeLocal(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr vol,
|
||||
unsigned long long capacity,
|
||||
unsigned int flags);
|
||||
|
||||
int virStorageBackendVolUploadLocal(virConnectPtr conn,
|
||||
virStoragePoolObjPtr pool,
|
||||
int virStorageBackendVolUploadLocal(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr vol,
|
||||
virStreamPtr stream,
|
||||
unsigned long long offset,
|
||||
unsigned long long len,
|
||||
unsigned int flags);
|
||||
|
||||
int virStorageBackendVolDownloadLocal(virConnectPtr conn,
|
||||
virStoragePoolObjPtr pool,
|
||||
int virStorageBackendVolDownloadLocal(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr vol,
|
||||
virStreamPtr stream,
|
||||
unsigned long long offset,
|
||||
unsigned long long len,
|
||||
unsigned int flags);
|
||||
|
||||
int virStorageBackendVolWipeLocal(virConnectPtr conn,
|
||||
virStoragePoolObjPtr pool,
|
||||
int virStorageBackendVolWipeLocal(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr vol,
|
||||
unsigned int algorithm,
|
||||
unsigned int flags);
|
||||
|
@ -93,15 +84,13 @@ int virStorageBackendVolWipeLocal(virConnectPtr conn,
|
|||
/* Local/Common Storage Pool Backend APIs */
|
||||
int virStorageBackendBuildLocal(virStoragePoolObjPtr pool);
|
||||
|
||||
int virStorageBackendDeleteLocal(virConnectPtr conn,
|
||||
virStoragePoolObjPtr pool,
|
||||
int virStorageBackendDeleteLocal(virStoragePoolObjPtr pool,
|
||||
unsigned int flags);
|
||||
|
||||
int
|
||||
virStorageBackendRefreshVolTargetUpdate(virStorageVolDefPtr vol);
|
||||
|
||||
int virStorageBackendRefreshLocal(virConnectPtr conn,
|
||||
virStoragePoolObjPtr pool);
|
||||
int virStorageBackendRefreshLocal(virStoragePoolObjPtr pool);
|
||||
|
||||
int virStorageUtilGlusterExtractPoolSources(const char *host,
|
||||
const char *xml,
|
||||
|
|
Loading…
Reference in New Issue