From: Harry Wei Date: Fri, 8 Feb 2013 06:48:43 +0000 (+0800) Subject: sheepdog: skip refresh on creation failure X-Git-Tag: v1.0.3-rc1~171 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ad11ecd965be477ebecb49d4b32e15fa7ac0b3e8;p=thirdparty%2Flibvirt.git sheepdog: skip refresh on creation failure Don't try to refresh Sheepdog volume if creating volume fails. Signed-off-by: Harry Wei --- diff --git a/src/storage/storage_backend_sheepdog.c b/src/storage/storage_backend_sheepdog.c index cd18f33137..218284d317 100644 --- a/src/storage/storage_backend_sheepdog.c +++ b/src/storage/storage_backend_sheepdog.c @@ -156,7 +156,7 @@ virStorageBackendSheepdogCreateVol(virConnectPtr conn ATTRIBUTE_UNUSED, virStorageVolDefPtr vol) { - int ret; + int ret = -1; if (vol->target.encryption != NULL) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", @@ -167,10 +167,14 @@ virStorageBackendSheepdogCreateVol(virConnectPtr conn ATTRIBUTE_UNUSED, virCommandPtr cmd = virCommandNewArgList(COLLIE, "vdi", "create", vol->name, NULL); virCommandAddArgFormat(cmd, "%llu", vol->capacity); virStorageBackendSheepdogAddHostArg(cmd, pool); - ret = virCommandRun(cmd, NULL); + if (virCommandRun(cmd, NULL) < 0) + goto cleanup; - virStorageBackendSheepdogRefreshVol(conn, pool, vol); + if (virStorageBackendSheepdogRefreshVol(conn, pool, vol) < 0) + goto cleanup; + ret = 0; +cleanup: virCommandFree(cmd); return ret; }