# 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
* 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);
}
static int
-virStorageBackendDiskRefreshPool(virConnectPtr conn ATTRIBUTE_UNUSED,
- virStoragePoolObjPtr pool)
+virStorageBackendDiskRefreshPool(virStoragePoolObjPtr pool)
{
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
static int
-virStorageBackendDiskStartPool(virConnectPtr conn ATTRIBUTE_UNUSED,
- virStoragePoolObjPtr pool)
+virStorageBackendDiskStartPool(virStoragePoolObjPtr pool)
{
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
const char *format;
* 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);
/* virStorageBackendDiskDeleteVol
- * @conn: Pointer to a libvirt connection
* @pool: Pointer to the storage pool
* @vol: Pointer to the volume definition
* @flags: flags (unused for now)
* 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)
{
* here is pointless
*/
virStoragePoolObjClearVols(pool);
- if (virStorageBackendDiskRefreshPool(conn, pool) < 0)
+ if (virStorageBackendDiskRefreshPool(pool) < 0)
goto cleanup;
rc = 0;
static int
-virStorageBackendDiskCreateVol(virConnectPtr conn,
- virStoragePoolObjPtr pool,
+virStorageBackendDiskCreateVol(virStoragePoolObjPtr pool,
virStorageVolDefPtr vol)
{
int res = -1;
* 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;
}
static int
-virStorageBackendDiskBuildVolFrom(virConnectPtr conn,
- virStoragePoolObjPtr pool,
+virStorageBackendDiskBuildVolFrom(virStoragePoolObjPtr pool,
virStorageVolDefPtr vol,
virStorageVolDefPtr inputvol,
unsigned int flags)
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,
static char *
-virStorageBackendFileSystemNetFindPoolSources(virConnectPtr conn ATTRIBUTE_UNUSED,
- const char *srcSpec,
+virStorageBackendFileSystemNetFindPoolSources(const char *srcSpec,
unsigned int flags)
{
virNetfsDiscoverState state = {
/**
- * @conn connection to report errors against
* @pool storage pool to start
*
* Starts a directory or FS based storage pool. The underlying source
* Returns 0 on success, -1 on error
*/
static int
-virStorageBackendFileSystemStart(virConnectPtr conn ATTRIBUTE_UNUSED,
- virStoragePoolObjPtr pool)
+virStorageBackendFileSystemStart(virStoragePoolObjPtr pool)
{
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
/**
- * @conn connection to report errors against
* @pool storage pool to unmount
*
* Stops a file storage pool. The underlying source device is unmounted
* 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;
/**
- * @conn connection to report errors against
* @pool storage pool to build
* @flags controls the pool formatting behaviour
*
* 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 |
}
static int
-virStorageBackendGlusterRefreshPool(virConnectPtr conn ATTRIBUTE_UNUSED,
- virStoragePoolObjPtr pool)
+virStorageBackendGlusterRefreshPool(virStoragePoolObjPtr pool)
{
int ret = -1;
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
static int
-virStorageBackendGlusterVolDelete(virConnectPtr conn ATTRIBUTE_UNUSED,
- virStoragePoolObjPtr pool,
+virStorageBackendGlusterVolDelete(virStoragePoolObjPtr pool,
virStorageVolDefPtr vol,
unsigned int flags)
{
static char *
-virStorageBackendGlusterFindPoolSources(virConnectPtr conn ATTRIBUTE_UNUSED,
- const char *srcSpec,
+virStorageBackendGlusterFindPoolSources(const char *srcSpec,
unsigned int flags)
{
virStoragePoolSourceList list = { .type = VIR_STORAGE_POOL_GLUSTER,
static char *
-virStorageBackendISCSIFindPoolSources(virConnectPtr conn ATTRIBUTE_UNUSED,
- const char *srcSpec,
+virStorageBackendISCSIFindPoolSources(const char *srcSpec,
unsigned int flags)
{
virStoragePoolSourcePtr source = NULL;
}
static int
-virStorageBackendISCSIStartPool(virConnectPtr conn ATTRIBUTE_UNUSED,
- virStoragePoolObjPtr pool)
+virStorageBackendISCSIStartPool(virStoragePoolObjPtr pool)
{
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
char *portal = NULL;
}
static int
-virStorageBackendISCSIRefreshPool(virConnectPtr conn ATTRIBUTE_UNUSED,
- virStoragePoolObjPtr pool)
+virStorageBackendISCSIRefreshPool(virStoragePoolObjPtr pool)
{
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
char *session = NULL;
static int
-virStorageBackendISCSIStopPool(virConnectPtr conn ATTRIBUTE_UNUSED,
- virStoragePoolObjPtr pool)
+virStorageBackendISCSIStopPool(virStoragePoolObjPtr pool)
{
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
char *portal;
static char *
-virStorageBackendLogicalFindPoolSources(virConnectPtr conn ATTRIBUTE_UNUSED,
- const char *srcSpec ATTRIBUTE_UNUSED,
+virStorageBackendLogicalFindPoolSources(const char *srcSpec ATTRIBUTE_UNUSED,
unsigned int flags)
{
virStoragePoolSourceList sourceList;
}
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.
static int
-virStorageBackendLogicalBuildPool(virConnectPtr conn ATTRIBUTE_UNUSED,
- virStoragePoolObjPtr pool,
+virStorageBackendLogicalBuildPool(virStoragePoolObjPtr pool,
unsigned int flags)
{
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
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
* "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;
}
static int
-virStorageBackendLogicalDeletePool(virConnectPtr conn ATTRIBUTE_UNUSED,
- virStoragePoolObjPtr pool,
+virStorageBackendLogicalDeletePool(virStoragePoolObjPtr pool,
unsigned int flags)
{
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
static int
-virStorageBackendLogicalDeleteVol(virConnectPtr conn ATTRIBUTE_UNUSED,
- virStoragePoolObjPtr pool ATTRIBUTE_UNUSED,
+virStorageBackendLogicalDeleteVol(virStoragePoolObjPtr pool ATTRIBUTE_UNUSED,
virStorageVolDefPtr vol,
unsigned int flags)
{
static int
-virStorageBackendLogicalCreateVol(virConnectPtr conn,
- virStoragePoolObjPtr pool,
+virStorageBackendLogicalCreateVol(virStoragePoolObjPtr pool,
virStorageVolDefPtr vol)
{
int fd = -1;
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)
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
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;
}
static int
-virStorageBackendRBDRefreshPool(virConnectPtr conn ATTRIBUTE_UNUSED,
- virStoragePoolObjPtr pool)
+virStorageBackendRBDRefreshPool(virStoragePoolObjPtr pool)
{
size_t max_size = 1024;
int ret = -1;
}
static int
-virStorageBackendRBDDeleteVol(virConnectPtr conn ATTRIBUTE_UNUSED,
- virStoragePoolObjPtr pool,
+virStorageBackendRBDDeleteVol(virStoragePoolObjPtr pool,
virStorageVolDefPtr vol,
unsigned int flags)
{
static int
-virStorageBackendRBDCreateVol(virConnectPtr conn ATTRIBUTE_UNUSED,
- virStoragePoolObjPtr pool,
+virStorageBackendRBDCreateVol(virStoragePoolObjPtr pool,
virStorageVolDefPtr vol)
{
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
}
static int
-virStorageBackendRBDBuildVol(virConnectPtr conn ATTRIBUTE_UNUSED,
- virStoragePoolObjPtr pool,
+virStorageBackendRBDBuildVol(virStoragePoolObjPtr pool,
virStorageVolDefPtr vol,
unsigned int flags)
{
}
static int
-virStorageBackendRBDBuildVolFrom(virConnectPtr conn ATTRIBUTE_UNUSED,
- virStoragePoolObjPtr pool,
+virStorageBackendRBDBuildVolFrom(virStoragePoolObjPtr pool,
virStorageVolDefPtr newvol,
virStorageVolDefPtr origvol,
unsigned int flags)
}
static int
-virStorageBackendRBDRefreshVol(virConnectPtr conn ATTRIBUTE_UNUSED,
- virStoragePoolObjPtr pool ATTRIBUTE_UNUSED,
+virStorageBackendRBDRefreshVol(virStoragePoolObjPtr pool ATTRIBUTE_UNUSED,
virStorageVolDefPtr vol)
{
virStorageBackendRBDStatePtr ptr = NULL;
}
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)
}
static int
-virStorageBackendRBDVolWipe(virConnectPtr conn ATTRIBUTE_UNUSED,
- virStoragePoolObjPtr pool,
+virStorageBackendRBDVolWipe(virStoragePoolObjPtr pool,
virStorageVolDefPtr vol,
unsigned int algorithm,
unsigned int flags)
}
static int
-virStorageBackendSCSIRefreshPool(virConnectPtr conn ATTRIBUTE_UNUSED,
- virStoragePoolObjPtr pool)
+virStorageBackendSCSIRefreshPool(virStoragePoolObjPtr pool)
{
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
char *name = NULL;
static int
-virStorageBackendSCSIStartPool(virConnectPtr conn ATTRIBUTE_UNUSED,
- virStoragePoolObjPtr pool)
+virStorageBackendSCSIStartPool(virStoragePoolObjPtr pool)
{
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
const char *configFile = virStoragePoolObjGetConfigFile(pool);
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)
#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,
}
static int
-virStorageBackendSheepdogAddVolume(virConnectPtr conn ATTRIBUTE_UNUSED,
- virStoragePoolObjPtr pool, const char *diskInfo)
+virStorageBackendSheepdogAddVolume(virStoragePoolObjPtr pool, const char *diskInfo)
{
virStorageVolDefPtr vol = NULL;
vol->type = VIR_STORAGE_VOL_NETWORK;
- if (virStorageBackendSheepdogRefreshVol(conn, pool, vol) < 0)
+ if (virStorageBackendSheepdogRefreshVol(pool, vol) < 0)
goto error;
if (virStoragePoolObjAddVol(pool, vol) < 0)
}
static int
-virStorageBackendSheepdogRefreshAllVol(virConnectPtr conn ATTRIBUTE_UNUSED,
- virStoragePoolObjPtr pool)
+virStorageBackendSheepdogRefreshAllVol(virStoragePoolObjPtr pool)
{
int ret = -1;
char *output = NULL;
if (cells != NULL &&
virStringListLength((const char * const *)cells) > 2) {
- if (virStorageBackendSheepdogAddVolume(conn, pool, cells[1]) < 0)
+ if (virStorageBackendSheepdogAddVolume(pool, cells[1]) < 0)
goto cleanup;
}
static int
-virStorageBackendSheepdogRefreshPool(virConnectPtr conn ATTRIBUTE_UNUSED,
- virStoragePoolObjPtr pool)
+virStorageBackendSheepdogRefreshPool(virStoragePoolObjPtr pool)
{
int ret = -1;
char *output = NULL;
output) < 0)
goto cleanup;
- ret = virStorageBackendSheepdogRefreshAllVol(conn, pool);
+ ret = virStorageBackendSheepdogRefreshAllVol(pool);
cleanup:
virCommandFree(cmd);
VIR_FREE(output);
static int
-virStorageBackendSheepdogDeleteVol(virConnectPtr conn ATTRIBUTE_UNUSED,
- virStoragePoolObjPtr pool,
+virStorageBackendSheepdogDeleteVol(virStoragePoolObjPtr pool,
virStorageVolDefPtr vol,
unsigned int flags)
{
static int
-virStorageBackendSheepdogCreateVol(virConnectPtr conn ATTRIBUTE_UNUSED,
- virStoragePoolObjPtr pool,
+virStorageBackendSheepdogCreateVol(virStoragePoolObjPtr pool,
virStorageVolDefPtr vol)
{
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
static int
-virStorageBackendSheepdogBuildVol(virConnectPtr conn ATTRIBUTE_UNUSED,
- virStoragePoolObjPtr pool,
+virStorageBackendSheepdogBuildVol(virStoragePoolObjPtr pool,
virStorageVolDefPtr vol,
unsigned int flags)
{
}
static int
-virStorageBackendSheepdogRefreshVol(virConnectPtr conn ATTRIBUTE_UNUSED,
- virStoragePoolObjPtr pool,
+virStorageBackendSheepdogRefreshVol(virStoragePoolObjPtr pool,
virStorageVolDefPtr vol)
{
int ret;
static int
-virStorageBackendSheepdogResizeVol(virConnectPtr conn ATTRIBUTE_UNUSED,
- virStoragePoolObjPtr pool,
+virStorageBackendSheepdogResizeVol(virStoragePoolObjPtr pool,
virStorageVolDefPtr vol,
unsigned long long capacity,
unsigned int flags)
/**
- * @conn connection to report errors against
* @pool storage pool to build
* @flags controls the pool formatting behaviour
*
* 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);
static int
-virStorageBackendVzPoolStart(virConnectPtr conn ATTRIBUTE_UNUSED,
- virStoragePoolObjPtr pool)
+virStorageBackendVzPoolStart(virStoragePoolObjPtr pool)
{
int ret = -1;
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
static int
-virStorageBackendVzPoolStop(virConnectPtr conn ATTRIBUTE_UNUSED,
- virStoragePoolObjPtr pool)
+virStorageBackendVzPoolStop(virStoragePoolObjPtr pool)
{
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
virCommandPtr cmd = NULL;
}
static int
-virStorageBackendZFSRefreshPool(virConnectPtr conn ATTRIBUTE_UNUSED,
- virStoragePoolObjPtr pool ATTRIBUTE_UNUSED)
+virStorageBackendZFSRefreshPool(virStoragePoolObjPtr pool ATTRIBUTE_UNUSED)
{
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
virCommandPtr cmd = NULL;
}
static int
-virStorageBackendZFSCreateVol(virConnectPtr conn ATTRIBUTE_UNUSED,
- virStoragePoolObjPtr pool,
+virStorageBackendZFSCreateVol(virStoragePoolObjPtr pool,
virStorageVolDefPtr vol)
{
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
}
static int
-virStorageBackendZFSDeleteVol(virConnectPtr conn ATTRIBUTE_UNUSED,
- virStoragePoolObjPtr pool,
+virStorageBackendZFSDeleteVol(virStoragePoolObjPtr pool,
virStorageVolDefPtr vol,
unsigned int flags)
{
}
static int
-virStorageBackendZFSBuildPool(virConnectPtr conn ATTRIBUTE_UNUSED,
- virStoragePoolObjPtr pool,
+virStorageBackendZFSBuildPool(virStoragePoolObjPtr pool,
unsigned int flags)
{
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
}
static int
-virStorageBackendZFSDeletePool(virConnectPtr conn ATTRIBUTE_UNUSED,
- virStoragePoolObjPtr pool,
+virStorageBackendZFSDeletePool(virStoragePoolObjPtr pool,
unsigned int flags)
{
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
*/
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());
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;
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());
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());
{
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);
}
goto cleanup;
}
- ret = backend->findPoolSources(conn, srcSpec, flags);
+ ret = backend->findPoolSources(srcSpec, flags);
cleanup:
return ret;
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;
}
if (backend->startPool &&
- backend->startPool(conn, obj) < 0) {
+ backend->startPool(obj) < 0) {
virStoragePoolObjRemove(driver->pools, obj);
virObjectUnref(obj);
obj = NULL;
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;
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;
}
}
if (backend->buildPool &&
- backend->buildPool(pool->conn, obj, flags) < 0)
+ backend->buildPool(obj, flags) < 0)
goto cleanup;
event = virStoragePoolEventLifecycleNew(def->name,
VIR_FREE(stateFile);
if (backend->stopPool &&
- backend->stopPool(pool->conn, obj) < 0)
+ backend->stopPool(obj) < 0)
goto cleanup;
virStoragePoolObjClearVols(obj);
"%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,
}
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,
static int
-storageVolDeleteInternal(virStorageVolPtr vol,
- virStorageBackendPtr backend,
+storageVolDeleteInternal(virStorageBackendPtr backend,
virStoragePoolObjPtr obj,
virStorageVolDefPtr voldef,
unsigned int flags,
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
goto cleanup;
}
- if (storageVolDeleteInternal(vol, backend, obj, voldef, flags, true) < 0)
+ if (storageVolDeleteInternal(backend, obj, voldef, flags, true) < 0)
goto cleanup;
ret = 0;
/* 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,
voldef->building = true;
virObjectUnlock(obj);
- buildret = backend->buildVol(pool->conn, obj, buildvoldef, flags);
+ buildret = backend->buildVol(obj, buildvoldef, flags);
VIR_FREE(buildvoldef);
}
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;
}
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
virObjectUnlock(objsrc);
}
- buildret = backend->buildVolFrom(pool->conn, obj, shadowvol, voldefsrc, flags);
+ buildret = backend->buildVolFrom(obj, shadowvol, voldefsrc, flags);
virObjectLock(obj);
if (objsrc)
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;
}
goto cleanup;
}
- ret = backend->downloadVol(vol->conn, obj, voldef, stream,
+ ret = backend->downloadVol(obj, voldef, stream,
offset, length, flags);
cleanup:
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);
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;
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;
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
goto cleanup;
if (backend->refreshVol &&
- backend->refreshVol(vol->conn, obj, voldef) < 0)
+ backend->refreshVol(obj, voldef) < 0)
goto cleanup;
memset(info, 0, sizeof(*info));
goto cleanup;
if (backend->refreshVol &&
- backend->refreshVol(vol->conn, obj, voldef) < 0)
+ backend->refreshVol(obj, voldef) < 0)
goto cleanup;
ret = virStorageVolDefFormat(def, voldef);
}
static int
-storageBackendCreateBlockFrom(virConnectPtr conn ATTRIBUTE_UNUSED,
- virStoragePoolObjPtr pool ATTRIBUTE_UNUSED,
+storageBackendCreateBlockFrom(virStoragePoolObjPtr pool ATTRIBUTE_UNUSED,
virStorageVolDefPtr vol,
virStorageVolDefPtr inputvol,
unsigned int flags)
}
static int
-storageBackendCreateRaw(virConnectPtr conn ATTRIBUTE_UNUSED,
- virStoragePoolObjPtr pool,
+storageBackendCreateRaw(virStoragePoolObjPtr pool,
virStorageVolDefPtr vol,
virStorageVolDefPtr inputvol,
unsigned int flags)
/* 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)
static int
-storageBackendCreateQemuImg(virConnectPtr conn ATTRIBUTE_UNUSED,
- virStoragePoolObjPtr pool,
+storageBackendCreateQemuImg(virStoragePoolObjPtr pool,
virStorageVolDefPtr vol,
virStorageVolDefPtr inputvol,
unsigned int flags)
changeFormat = true;
}
- ret = storageBackendCreateQemuImg(NULL, pool, vol, inputvol, flags);
+ ret = storageBackendCreateQemuImg(pool, vol, inputvol, flags);
if (changeFormat)
vol->target.format = VIR_STORAGE_FILE_NONE;
/* 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)
* 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);
static int
-storageBackendVolBuildLocal(virConnectPtr conn,
- virStoragePoolObjPtr pool,
+storageBackendVolBuildLocal(virStoragePoolObjPtr pool,
virStorageVolDefPtr vol,
virStorageVolDefPtr inputvol,
unsigned int flags)
create_func = storageBackendCreateQemuImg;
}
- if (create_func(conn, pool, vol, inputvol, flags) < 0)
+ if (create_func(pool, vol, inputvol, flags) < 0)
return -1;
return 0;
}
* 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);
}
* 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);
}
* 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)
{
* 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;
* Resize a volume
*/
int
-virStorageBackendVolResizeLocal(virConnectPtr conn ATTRIBUTE_UNUSED,
- virStoragePoolObjPtr pool,
+virStorageBackendVolResizeLocal(virStoragePoolObjPtr pool,
virStorageVolDefPtr vol,
unsigned long long capacity,
unsigned int flags)
int
-virStorageBackendVolUploadLocal(virConnectPtr conn ATTRIBUTE_UNUSED,
- virStoragePoolObjPtr pool ATTRIBUTE_UNUSED,
+virStorageBackendVolUploadLocal(virStoragePoolObjPtr pool ATTRIBUTE_UNUSED,
virStorageVolDefPtr vol,
virStreamPtr stream,
unsigned long long offset,
}
int
-virStorageBackendVolDownloadLocal(virConnectPtr conn ATTRIBUTE_UNUSED,
- virStoragePoolObjPtr pool ATTRIBUTE_UNUSED,
+virStorageBackendVolDownloadLocal(virStoragePoolObjPtr pool ATTRIBUTE_UNUSED,
virStorageVolDefPtr vol,
virStreamPtr stream,
unsigned long long offset,
int
-virStorageBackendVolWipeLocal(virConnectPtr conn ATTRIBUTE_UNUSED,
- virStoragePoolObjPtr pool ATTRIBUTE_UNUSED,
+virStorageBackendVolWipeLocal(virStoragePoolObjPtr pool ATTRIBUTE_UNUSED,
virStorageVolDefPtr vol,
unsigned int algorithm,
unsigned int flags)
* 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);
* within it. This is non-recursive.
*/
int
-virStorageBackendRefreshLocal(virConnectPtr conn ATTRIBUTE_UNUSED,
- virStoragePoolObjPtr pool)
+virStorageBackendRefreshLocal(virStoragePoolObjPtr pool)
{
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
DIR *dir;
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);
/* 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,