提交 dc48de25 编写于 作者: J John Ferlan

storage: Use virStoragePoolObjGetDef accessor for iSCSI backend

In preparation for privatizing the object, use the accessor.
上级 b4470515
...@@ -83,7 +83,8 @@ static char * ...@@ -83,7 +83,8 @@ static char *
virStorageBackendISCSISession(virStoragePoolObjPtr pool, virStorageBackendISCSISession(virStoragePoolObjPtr pool,
bool probe) bool probe)
{ {
return virISCSIGetSession(pool->def->source.devices[0].path, probe); virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
return virISCSIGetSession(def->source.devices[0].path, probe);
} }
...@@ -235,25 +236,26 @@ static int ...@@ -235,25 +236,26 @@ static int
virStorageBackendISCSICheckPool(virStoragePoolObjPtr pool, virStorageBackendISCSICheckPool(virStoragePoolObjPtr pool,
bool *isActive) bool *isActive)
{ {
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
char *session = NULL; char *session = NULL;
int ret = -1; int ret = -1;
*isActive = false; *isActive = false;
if (pool->def->source.nhost != 1) { if (def->source.nhost != 1) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("Expected exactly 1 host for the storage pool")); _("Expected exactly 1 host for the storage pool"));
return -1; return -1;
} }
if (pool->def->source.hosts[0].name == NULL) { if (def->source.hosts[0].name == NULL) {
virReportError(VIR_ERR_INTERNAL_ERROR, virReportError(VIR_ERR_INTERNAL_ERROR,
"%s", _("missing source host")); "%s", _("missing source host"));
return -1; return -1;
} }
if (pool->def->source.ndevice != 1 || if (def->source.ndevice != 1 ||
pool->def->source.devices[0].path == NULL) { def->source.devices[0].path == NULL) {
virReportError(VIR_ERR_INTERNAL_ERROR, virReportError(VIR_ERR_INTERNAL_ERROR,
"%s", _("missing source device")); "%s", _("missing source device"));
return -1; return -1;
...@@ -327,44 +329,45 @@ static int ...@@ -327,44 +329,45 @@ static int
virStorageBackendISCSIStartPool(virConnectPtr conn, virStorageBackendISCSIStartPool(virConnectPtr conn,
virStoragePoolObjPtr pool) virStoragePoolObjPtr pool)
{ {
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
char *portal = NULL; char *portal = NULL;
char *session = NULL; char *session = NULL;
int ret = -1; int ret = -1;
if (pool->def->source.nhost != 1) { if (def->source.nhost != 1) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("Expected exactly 1 host for the storage pool")); _("Expected exactly 1 host for the storage pool"));
return -1; return -1;
} }
if (pool->def->source.hosts[0].name == NULL) { if (def->source.hosts[0].name == NULL) {
virReportError(VIR_ERR_INTERNAL_ERROR, virReportError(VIR_ERR_INTERNAL_ERROR,
"%s", _("missing source host")); "%s", _("missing source host"));
return -1; return -1;
} }
if (pool->def->source.ndevice != 1 || if (def->source.ndevice != 1 ||
pool->def->source.devices[0].path == NULL) { def->source.devices[0].path == NULL) {
virReportError(VIR_ERR_INTERNAL_ERROR, virReportError(VIR_ERR_INTERNAL_ERROR,
"%s", _("missing source device")); "%s", _("missing source device"));
return -1; return -1;
} }
if ((session = virStorageBackendISCSISession(pool, true)) == NULL) { if ((session = virStorageBackendISCSISession(pool, true)) == NULL) {
if ((portal = virStorageBackendISCSIPortal(&pool->def->source)) == NULL) if ((portal = virStorageBackendISCSIPortal(&def->source)) == NULL)
goto cleanup; goto cleanup;
/* Create a static node record for the IQN target. Must be done /* Create a static node record for the IQN target. Must be done
* in order for login to the target */ * in order for login to the target */
if (virISCSINodeNew(portal, pool->def->source.devices[0].path) < 0) if (virISCSINodeNew(portal, def->source.devices[0].path) < 0)
goto cleanup; goto cleanup;
if (virStorageBackendISCSISetAuth(portal, conn, &pool->def->source) < 0) if (virStorageBackendISCSISetAuth(portal, conn, &def->source) < 0)
goto cleanup; goto cleanup;
if (virISCSIConnectionLogin(portal, if (virISCSIConnectionLogin(portal,
pool->def->source.initiator.iqn, def->source.initiator.iqn,
pool->def->source.devices[0].path) < 0) def->source.devices[0].path) < 0)
goto cleanup; goto cleanup;
} }
ret = 0; ret = 0;
...@@ -379,9 +382,10 @@ static int ...@@ -379,9 +382,10 @@ static int
virStorageBackendISCSIRefreshPool(virConnectPtr conn ATTRIBUTE_UNUSED, virStorageBackendISCSIRefreshPool(virConnectPtr conn ATTRIBUTE_UNUSED,
virStoragePoolObjPtr pool) virStoragePoolObjPtr pool)
{ {
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
char *session = NULL; char *session = NULL;
pool->def->allocation = pool->def->capacity = pool->def->available = 0; def->allocation = def->capacity = def->available = 0;
if ((session = virStorageBackendISCSISession(pool, false)) == NULL) if ((session = virStorageBackendISCSISession(pool, false)) == NULL)
goto cleanup; goto cleanup;
...@@ -403,6 +407,7 @@ static int ...@@ -403,6 +407,7 @@ static int
virStorageBackendISCSIStopPool(virConnectPtr conn ATTRIBUTE_UNUSED, virStorageBackendISCSIStopPool(virConnectPtr conn ATTRIBUTE_UNUSED,
virStoragePoolObjPtr pool) virStoragePoolObjPtr pool)
{ {
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
char *portal; char *portal;
char *session; char *session;
int ret = -1; int ret = -1;
...@@ -411,12 +416,12 @@ virStorageBackendISCSIStopPool(virConnectPtr conn ATTRIBUTE_UNUSED, ...@@ -411,12 +416,12 @@ virStorageBackendISCSIStopPool(virConnectPtr conn ATTRIBUTE_UNUSED,
return 0; return 0;
VIR_FREE(session); VIR_FREE(session);
if ((portal = virStorageBackendISCSIPortal(&pool->def->source)) == NULL) if ((portal = virStorageBackendISCSIPortal(&def->source)) == NULL)
return -1; return -1;
if (virISCSIConnectionLogout(portal, if (virISCSIConnectionLogout(portal,
pool->def->source.initiator.iqn, def->source.initiator.iqn,
pool->def->source.devices[0].path) < 0) def->source.devices[0].path) < 0)
goto cleanup; goto cleanup;
ret = 0; ret = 0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册