[libvirt] [PATCH v4 09/13] parallels: split parallelsStorageVolumeDelete function
Daniel Veillard
veillard at redhat.com
Tue Dec 11 08:14:08 UTC 2012
On Tue, Dec 04, 2012 at 05:43:09PM +0400, Dmitry Guryanov wrote:
> Move part, which deletes existing volume, to a new function
> parallelsStorageVolumeDefRemove so that we can use it later
> in parallels_driver.c
>
> Signed-off-by: Dmitry Guryanov <dguryanov at parallels.com>
> ---
> src/parallels/parallels_storage.c | 83 +++++++++++++++++++++---------------
> src/parallels/parallels_utils.h | 2 +
> 2 files changed, 50 insertions(+), 35 deletions(-)
>
> diff --git a/src/parallels/parallels_storage.c b/src/parallels/parallels_storage.c
> index 1448a74..ad15687 100644
> --- a/src/parallels/parallels_storage.c
> +++ b/src/parallels/parallels_storage.c
> @@ -1443,48 +1443,17 @@ cleanup:
> return ret;
> }
>
> -static int
> -parallelsStorageVolumeDelete(virStorageVolPtr vol, unsigned int flags)
> +int parallelsStorageVolumeDefRemove(virStoragePoolObjPtr privpool,
> + virStorageVolDefPtr privvol)
> {
> - parallelsConnPtr privconn = vol->conn->privateData;
> - virStoragePoolObjPtr privpool;
> - virStorageVolDefPtr privvol;
> - size_t i;
> int ret = -1;
> char *xml_path = NULL;
>
> - virCheckFlags(0, -1);
> -
> - parallelsDriverLock(privconn);
> - privpool = virStoragePoolObjFindByName(&privconn->pools, vol->pool);
> - parallelsDriverUnlock(privconn);
> -
> - if (privpool == NULL) {
> - parallelsPoolNotFoundError(vol->pool);
> - goto cleanup;
> - }
> -
> -
> - privvol = virStorageVolDefFindByName(privpool, vol->name);
> -
> - if (privvol == NULL) {
> - virReportError(VIR_ERR_NO_STORAGE_VOL,
> - _("no storage vol with matching name '%s'"), vol->name);
> - goto cleanup;
> - }
> -
> - if (!virStoragePoolObjIsActive(privpool)) {
> - virReportError(VIR_ERR_OPERATION_INVALID,
> - _("storage pool '%s' is not active"), vol->pool);
> - goto cleanup;
> - }
> -
> -
> privpool->def->allocation -= privvol->allocation;
> privpool->def->available = (privpool->def->capacity -
> privpool->def->allocation);
>
> - for (i = 0; i < privpool->volumes.count; i++) {
> + for (size_t i = 0; i < privpool->volumes.count; i++) {
Again variable decalration goes in block start, so squashing in
the following:
diff --git a/src/parallels/parallels_storage.c b/src/parallels/parallels_storage.c
index ad15687..90fa104 100644
--- a/src/parallels/parallels_storage.c
+++ b/src/parallels/parallels_storage.c
@@ -1448,12 +1448,13 @@ int parallelsStorageVolumeDefRemove(virStoragePoolObjPtr privpool,
{
int ret = -1;
char *xml_path = NULL;
+ size_t i;
privpool->def->allocation -= privvol->allocation;
privpool->def->available = (privpool->def->capacity -
privpool->def->allocation);
- for (size_t i = 0; i < privpool->volumes.count; i++) {
+ for (i = 0; i < privpool->volumes.count; i++) {
if (privpool->volumes.objs[i] == privvol) {
xml_path = parallelsAddFileExt(privvol->target.path, ".xml");
if (!xml_path)
Daniel
--
Daniel Veillard | Open Source and Standards, Red Hat
veillard at redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
http://veillard.com/ | virtualization library http://libvirt.org/
More information about the libvir-list
mailing list