};
typedef struct _virStorageBackendRBDState virStorageBackendRBDState;
-typedef virStorageBackendRBDState virStorageBackendRBDStatePtr;
+typedef virStorageBackendRBDState *virStorageBackendRBDStatePtr;
-static int virStorageBackendRBDOpenRADOSConn(virStorageBackendRBDStatePtr *ptr,
+static int virStorageBackendRBDOpenRADOSConn(virStorageBackendRBDStatePtr ptr,
virConnectPtr conn,
virStoragePoolObjPtr pool)
{
{
int ret = 0;
- if (ptr.ioctx != NULL) {
+ if (ptr->ioctx != NULL) {
VIR_DEBUG("Closing RADOS IoCTX");
- rados_ioctx_destroy(ptr.ioctx);
+ rados_ioctx_destroy(ptr->ioctx);
ret = -1;
}
- ptr.ioctx = NULL;
+ ptr->ioctx = NULL;
- if (ptr.cluster != NULL) {
+ if (ptr->cluster != NULL) {
VIR_DEBUG("Closing RADOS connection");
- rados_shutdown(ptr.cluster);
+ rados_shutdown(ptr->cluster);
ret = -2;
}
- ptr.cluster = NULL;
+ ptr->cluster = NULL;
- time_t runtime = time(0) - ptr.starttime;
+ time_t runtime = time(0) - ptr->starttime;
VIR_DEBUG("RADOS connection existed for %ld seconds", runtime);
return ret;
{
int ret = -1;
rbd_image_t image;
- if (rbd_open(ptr.ioctx, vol->name, &image, NULL) < 0) {
+ if (rbd_open(ptr->ioctx, vol->name, &image, NULL) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("failed to open the RBD image '%s'"),
vol->name);
int ret = -1;
int len = -1;
char *name, *names = NULL;
- virStorageBackendRBDStatePtr ptr;
+ virStorageBackendRBDState ptr;
ptr.cluster = NULL;
ptr.ioctx = NULL;
name += strlen(name) + 1;
- if (volStorageBackendRBDRefreshVolInfo(vol, pool, ptr) < 0) {
+ if (volStorageBackendRBDRefreshVolInfo(vol, pool, &ptr) < 0) {
virStorageVolDefFree(vol);
goto cleanup;
}
cleanup:
VIR_FREE(names);
- virStorageBackendRBDCloseRADOSConn(ptr);
+ virStorageBackendRBDCloseRADOSConn(&ptr);
return ret;
}
unsigned int flags)
{
int ret = -1;
- virStorageBackendRBDStatePtr ptr;
+ virStorageBackendRBDState ptr;
ptr.cluster = NULL;
ptr.ioctx = NULL;
ret = 0;
cleanup:
- virStorageBackendRBDCloseRADOSConn(ptr);
+ virStorageBackendRBDCloseRADOSConn(&ptr);
return ret;
}
virStoragePoolObjPtr pool,
virStorageVolDefPtr vol)
{
- virStorageBackendRBDStatePtr ptr;
+ virStorageBackendRBDState ptr;
ptr.cluster = NULL;
ptr.ioctx = NULL;
int order = 0;
goto cleanup;
}
- if (volStorageBackendRBDRefreshVolInfo(vol, pool, ptr) < 0) {
+ if (volStorageBackendRBDRefreshVolInfo(vol, pool, &ptr) < 0) {
goto cleanup;
}
ret = 0;
cleanup:
- virStorageBackendRBDCloseRADOSConn(ptr);
+ virStorageBackendRBDCloseRADOSConn(&ptr);
return ret;
}
virStoragePoolObjPtr pool ATTRIBUTE_UNUSED,
virStorageVolDefPtr vol)
{
- virStorageBackendRBDStatePtr ptr;
+ virStorageBackendRBDState ptr;
ptr.cluster = NULL;
ptr.ioctx = NULL;
int ret = -1;
goto cleanup;
}
- if (volStorageBackendRBDRefreshVolInfo(vol, pool, ptr) < 0) {
+ if (volStorageBackendRBDRefreshVolInfo(vol, pool, &ptr) < 0) {
goto cleanup;
}
ret = 0;
cleanup:
- virStorageBackendRBDCloseRADOSConn(ptr);
+ virStorageBackendRBDCloseRADOSConn(&ptr);
return ret;
}
unsigned long long capacity,
unsigned int flags)
{
- virStorageBackendRBDStatePtr ptr;
+ virStorageBackendRBDState ptr;
ptr.cluster = NULL;
ptr.ioctx = NULL;
rbd_image_t image = NULL;
cleanup:
if (image != NULL)
rbd_close(image);
- virStorageBackendRBDCloseRADOSConn(ptr);
+ virStorageBackendRBDCloseRADOSConn(&ptr);
return ret;
}