[Libvirt-cim] [PATCHv2] Remove compilation warnings

Chip Vincent cvincent at linux.vnet.ibm.com
Thu Jan 12 14:01:51 UTC 2012


No issues on RHEL 6.2. +1 and pushed. Thanks.

On 01/10/2012 12:47 PM, Eduardo Lima (Etrunko) wrote:
> From: "Eduardo Lima (Etrunko)"<eblima at br.ibm.com>
>
> I am building libvirt-cim with gcc 4.6.3 in fedora 16 and got a bunch of new
> warnings. Most of them are about variables that are set but not used anywhere,
> but there is one possible access to unitialized variables in Virt_RASD.c which
> might result in unexpected behavior.
>
> xmlgen.c: In function 'system_xml':
> xmlgen.c:633:28: error: variable 'bl' set but not used [-Werror=unused-but-set-variable]
> xmlgen.c:642:28: error: variable 'bl_args' set but not used [-Werror=unused-but-set-variable]
> xmlgen.c: In function 'disk_pool_xml':
> xmlgen.c:1244:20: error: variable 'path' set but not used [-Werror=unused-but-set-variable]
> xmlgen.c: In function 'filter_to_xml':
> xmlgen.c:1474:15: error: variable 'msg' set but not used [-Werror=unused-but-set-variable]
>
> Virt_FilterEntry.c: In function 'enum_filter_rules':
> Virt_FilterEntry.c:576:30: error: variable 'class_type' set but not used [-Werror=unused-but-set-variable]
>
> Virt_RASD.c: In function 'rasd_from_vdev':
> Virt_RASD.c:406:27: error: 'pool' may be used uninitialized in this function [-Werror=uninitialized]
> Virt_RASD.c:330:27: note: 'pool' was declared here
> Virt_RASD.c:407:26: error: 'vol' may be used uninitialized in this function [-Werror=uninitialized]
> Virt_RASD.c:320:26: note: 'vol' was declared here
>
> Virt_VSMigrationService.c: In function 'clear_infstore_migration_flag':
> Virt_VSMigrationService.c:1185:15: error: variable 'ret' set but not used [-Werror=unused-but-set-variable]
> Virt_VSMigrationService.c: In function 'migrate_do':
> Virt_VSMigrationService.c:1478:15: error: variable 'thread' set but not used [-Werror=unused-but-set-variable]
>
> Virt_Device.c: In function 'device_instances':
> Virt_Device.c:431:15: error: variable 'ret' set but not used [-Werror=unused-but-set-variable]
> Virt_Device.c: In function 'proc_dev_list':
> Virt_Device.c:657:13: error: variable 'rc' set but not used [-Werror=unused-but-set-variable]
> Virt_Device.c: In function 'get_device_by_name':
> Virt_Device.c:769:21: error: variable 'ret' set but not used [-Werror=unused-but-set-variable]
> Virt_Device.c:729:15: error: variable 'rc' set but not used [-Werror=unused-but-set-variable]
>
> Virt_VirtualSystemManagementService.c: In function 'input_rasd_to_vdev':
> Virt_VirtualSystemManagementService.c:1384:21: error: variable 'msg' set but not used [-Werror=unused-but-set-variable]
>
> Changes since v1:
>   - xmlgen.c: Keep 'path' variable and fix value check.
>
> Signed-off-by: Eduardo Lima (Etrunko)<eblima at br.ibm.com>
> ---
>   libxkutil/xmlgen.c                        |   33 ++++++-----------------
>   src/Virt_Device.c                         |   39 +++++++++--------------------
>   src/Virt_FilterEntry.c                    |   11 ++------
>   src/Virt_RASD.c                           |   17 +++++++-----
>   src/Virt_VSMigrationService.c             |    6 +---
>   src/Virt_VirtualSystemManagementService.c |    5 +--
>   6 files changed, 38 insertions(+), 73 deletions(-)
>
> diff --git a/libxkutil/xmlgen.c b/libxkutil/xmlgen.c
> index afd8c21..d73ffd0 100644
> --- a/libxkutil/xmlgen.c
> +++ b/libxkutil/xmlgen.c
> @@ -630,21 +630,17 @@ static char *system_xml(xmlNodePtr root, struct domain *domain)
>           tmp = xmlNewChild(root, NULL, BAD_CAST "name", BAD_CAST domain->name);
>
>           if (domain->bootloader) {
> -                xmlNodePtr bl;
> -
> -                bl = xmlNewChild(root,
> -                                 NULL,
> -                                 BAD_CAST "bootloader",
> -                                 BAD_CAST domain->bootloader);
> +                tmp = xmlNewChild(root,
> +                                  NULL,
> +                                  BAD_CAST "bootloader",
> +                                  BAD_CAST domain->bootloader);
>           }
>
>           if (domain->bootloader_args) {
> -                xmlNodePtr bl_args;
> -
> -                bl_args = xmlNewChild(root,
> -                                      NULL,
> -                                      BAD_CAST "bootloader_args",
> -                                      BAD_CAST domain->bootloader_args);
> +                tmp = xmlNewChild(root,
> +                                  NULL,
> +                                  BAD_CAST "bootloader_args",
> +                                  BAD_CAST domain->bootloader_args);
>           }
>
>           tmp = xmlNewChild(root,
> @@ -1272,7 +1268,7 @@ static const char *disk_pool_xml(xmlNodePtr root,
>                   goto out;
>
>           path = xmlNewChild(target, NULL, BAD_CAST "path", BAD_CAST pool->path);
> -        if (target == NULL)
> +        if (path == NULL)
>                   goto out;
>
>           return NULL;
> @@ -1471,7 +1467,6 @@ char *res_to_xml(struct virt_pool_res *res) {
>
>   char *filter_to_xml(struct acl_filter *filter)
>   {
> -        char *msg = XML_ERROR;
>           char *xml = NULL;
>           xmlNodePtr root = NULL;
>           xmlNodePtr tmp = NULL;
> @@ -1504,17 +1499,7 @@ char *filter_to_xml(struct acl_filter *filter)
>                           goto out;
>           }
>
> -        /* TODO: Not yet supported
> -        for (i = 0; i<  filter->rule_ct; i++) {
> -                msg = rule_to_xml(root, filter->rules[i]);
> -                if (msg != NULL)
> -                        goto out;
> -        }
> -        */
> -
>           xml = tree_to_xml(root);
> -        if (xml != NULL)
> -                msg = NULL; /* no errors */
>
>    out:
>           CU_DEBUG("Filter XML: %s", xml);
> diff --git a/src/Virt_Device.c b/src/Virt_Device.c
> index faa304d..fd11370 100644
> --- a/src/Virt_Device.c
> +++ b/src/Virt_Device.c
> @@ -428,7 +428,6 @@ static bool device_instances(const CMPIBroker *broker,
>                                struct inst_list *list)
>   {
>           int i;
> -        bool ret;
>           uint64_t proc_count = 0;
>           CMPIInstance *instance = NULL;
>
> @@ -475,11 +474,7 @@ static bool device_instances(const CMPIBroker *broker,
>           }
>
>           if (proc_count) {
> -                ret = vcpu_instances(broker,
> -                                     dom,
> -                                     ns,
> -                                     proc_count,
> -                                     list);
> +                vcpu_instances(broker, dom, ns, proc_count, list);
>           }
>
>           return true;
> @@ -654,16 +649,17 @@ static int proc_dev_list(uint64_t quantity,
>                            struct virt_device **list)
>   {
>           int i;
> -        int rc;
> -
>
>           *list = (struct virt_device *)calloc(quantity,
>                                                sizeof(struct virt_device));
>
>           for (i = 0; i<  quantity; i++) {
>                   char *dev_num;
> +                int ret;
>
> -                rc = asprintf(&dev_num, "%d", i);
> +                ret = asprintf(&dev_num, "%d", i);
> +                if (ret == -1)
> +                        CU_DEBUG("asprintf error %d" , ret);
>
>                   (*list)[i].id = strdup(dev_num);
>
> @@ -726,7 +722,6 @@ CMPIStatus get_device_by_name(const CMPIBroker *broker,
>           virDomainPtr dom = NULL;
>           struct virt_device *dev = NULL;
>           struct inst_list tmp_list;
> -        bool rc;
>
>           inst_list_init(&tmp_list);
>
> @@ -766,24 +761,14 @@ CMPIStatus get_device_by_name(const CMPIBroker *broker,
>           }
>
>           if (type == CIM_RES_TYPE_PROC) {
> -                int ret;
>                   int dev_id_num;
> -
> -                ret = sscanf(dev->id, "%d",&dev_id_num);
> +                sscanf(dev->id, "%d",&dev_id_num);
>
> -                rc = vcpu_inst(broker,
> -                               dom,
> -                               NAMESPACE(reference),
> -                               dev_id_num,
> -&tmp_list);
> +                vcpu_inst(broker, dom, NAMESPACE(reference),
> +                          dev_id_num,&tmp_list);
>           } else {
> -
> -                rc = device_instances(broker,
> -                                      dev,
> -                                      1,
> -                                      dom,
> -                                      NAMESPACE(reference),
> -&tmp_list);
> +                device_instances(broker, dev, 1, dom,
> +                                 NAMESPACE(reference),&tmp_list);
>           }
>
>           cleanup_virt_devices(&dev, 1);
> @@ -799,8 +784,8 @@ CMPIStatus get_device_by_name(const CMPIBroker *broker,
>           inst_list_free(&tmp_list);
>           virConnectClose(conn);
>
> -        return s;
> -}
> +        return s;
> +}
>
>   CMPIStatus get_device_by_ref(const CMPIBroker *broker,
>                                const CMPIObjectPath *reference,
> diff --git a/src/Virt_FilterEntry.c b/src/Virt_FilterEntry.c
> index acc3d61..16b211e 100644
> --- a/src/Virt_FilterEntry.c
> +++ b/src/Virt_FilterEntry.c
> @@ -573,17 +573,12 @@ CMPIStatus enum_filter_rules(
>           struct acl_filter *filters = NULL;
>           int i, j, count = 0;
>           CMPIStatus s = {CMPI_RC_OK, NULL};
> -        enum {NONE, MAC, IP} class_type = NONE;
>
>           CU_DEBUG("Reference = %s", REF2STR(reference));
>
> -        if (STREQC(CLASSNAME(reference), "KVM_Hdr8021Filter")) {
> -                class_type = MAC;
> -        } else if (STREQC(CLASSNAME(reference), "KVM_IPHeadersFilter")) {
> -                class_type = IP;
> -        } else if (STREQC(CLASSNAME(reference), "KVM_FilterEntry")) {
> -                class_type = NONE;
> -        } else {
> +        if (!STREQC(CLASSNAME(reference), "KVM_Hdr8021Filter")&&
> +            !STREQC(CLASSNAME(reference), "KVM_IPHeadersFilter")&&
> +            !STREQC(CLASSNAME(reference), "KVM_FilterEntry")) {
>                   cu_statusf(broker,&s,
>                              CMPI_RC_ERR_FAILED,
>                              "Unrecognized class type");
> diff --git a/src/Virt_RASD.c b/src/Virt_RASD.c
> index 4ac2f93..4939f7b 100644
> --- a/src/Virt_RASD.c
> +++ b/src/Virt_RASD.c
> @@ -289,6 +289,11 @@ static CMPIStatus set_disk_rasd_params(const CMPIBroker *broker,
>           uint16_t type;
>           CMPIStatus s = {CMPI_RC_OK, NULL};
>           char *poolid = NULL;
> +        virConnectPtr conn = NULL;
> +        virStorageVolPtr vol = NULL;
> +        virStoragePoolPtr pool = NULL;
> +        const char *pool_name = NULL;
> +        int ret = -1;
>
>           get_vol_size(broker, ref, dev->dev.disk.source,&cap);
>
> @@ -308,7 +313,7 @@ static CMPIStatus set_disk_rasd_params(const CMPIBroker *broker,
>                         (CMPIValue *)dev->dev.disk.source,
>                         CMPI_chars);
>
> -        virConnectPtr conn = connect_by_classname(broker, CLASSNAME(ref),&s);
> +        conn = connect_by_classname(broker, CLASSNAME(ref),&s);
>           if (conn == NULL) {
>                   virt_set_status(broker,&s,
>                                   CMPI_RC_ERR_NOT_FOUND,
> @@ -317,8 +322,7 @@ static CMPIStatus set_disk_rasd_params(const CMPIBroker *broker,
>                   goto cont;
>           }
>
> -        virStorageVolPtr vol = virStorageVolLookupByPath(conn,
> -                                                         dev->dev.disk.source);
> +        vol = virStorageVolLookupByPath(conn, dev->dev.disk.source);
>           if (vol == NULL) {
>                   virt_set_status(broker,&s,
>                                   CMPI_RC_ERR_NOT_FOUND,
> @@ -327,7 +331,7 @@ static CMPIStatus set_disk_rasd_params(const CMPIBroker *broker,
>                   goto cont;
>           }
>
> -        virStoragePoolPtr pool = virStoragePoolLookupByVolume(vol);
> +        pool = virStoragePoolLookupByVolume(vol);
>           if (pool == NULL) {
>                   virt_set_status(broker,&s,
>                                   CMPI_RC_ERR_NOT_FOUND,
> @@ -336,7 +340,7 @@ static CMPIStatus set_disk_rasd_params(const CMPIBroker *broker,
>                   goto cont;
>           }
>
> -        const char *pool_name = virStoragePoolGetName(pool);
> +        pool_name = virStoragePoolGetName(pool);
>           if (pool_name == NULL) {
>                   virt_set_status(broker,&s,
>                                   CMPI_RC_ERR_NOT_FOUND,
> @@ -345,8 +349,7 @@ static CMPIStatus set_disk_rasd_params(const CMPIBroker *broker,
>                   goto cont;
>           }
>
> -        int ret = asprintf(&poolid, "DiskPool/%s", pool_name);
> -
> +        ret = asprintf(&poolid, "DiskPool/%s", pool_name);
>           if (ret == -1) {
>                  CU_DEBUG("Failed to get disk poolid");
>                  goto cont;
> diff --git a/src/Virt_VSMigrationService.c b/src/Virt_VSMigrationService.c
> index 4f48a68..d393787 100644
> --- a/src/Virt_VSMigrationService.c
> +++ b/src/Virt_VSMigrationService.c
> @@ -1182,7 +1182,6 @@ static CMPIStatus ensure_dom_offline(virDomainPtr dom)
>   static void clear_infstore_migration_flag(virDomainPtr dom)
>   {
>           struct infostore_ctx *infp;
> -        bool ret = false;
>
>           infp = infostore_open(dom);
>           if (infp == NULL) {
> @@ -1191,7 +1190,7 @@ static void clear_infstore_migration_flag(virDomainPtr dom)
>                   return;
>           }
>
> -        ret = infostore_set_bool(infp, "migrating", false);
> +        infostore_set_bool(infp, "migrating", false);
>           CU_DEBUG("Clearing infostore migrating flag");
>
>           infostore_close(infp);
> @@ -1475,7 +1474,6 @@ static CMPIStatus migrate_do(const CMPIObjectPath *ref,
>           CMPIStatus s;
>           CMPIObjectPath *job_op;
>           struct migration_job *job;
> -        CMPI_THREAD_TYPE thread;
>           uint32_t retcode = 1;
>           CMPIInstance *ind = NULL;
>           CMPIInstance *inst = NULL;
> @@ -1517,7 +1515,7 @@ static CMPIStatus migrate_do(const CMPIObjectPath *ref,
>           if (!rc)
>                   CU_DEBUG("Failed to raise indication");
>
> -        thread = _BROKER->xft->newThread((void*)migration_thread, job, 0);
> +        _BROKER->xft->newThread((void*)migration_thread, job, 0);
>
>           retcode = CIM_SVPC_RETURN_JOB_STARTED;
>
> diff --git a/src/Virt_VirtualSystemManagementService.c b/src/Virt_VirtualSystemManagementService.c
> index 5229f56..f8c5f24 100644
> --- a/src/Virt_VirtualSystemManagementService.c
> +++ b/src/Virt_VirtualSystemManagementService.c
> @@ -1381,10 +1381,9 @@ static const char *input_rasd_to_vdev(CMPIInstance *inst,
>                                         struct virt_device *dev)
>   {
>           const char *val;
> -        const char *msg;
>
>           if (cu_get_str_prop(inst, "ResourceSubType",&val) != CMPI_RC_OK) {
> -                msg = "InputRASD ResourceSubType field not valid";
> +                CU_DEBUG("InputRASD ResourceSubType field not valid");
>                   goto out;
>           }
>           dev->dev.input.type = strdup(val);
> @@ -1395,7 +1394,7 @@ static const char *input_rasd_to_vdev(CMPIInstance *inst,
>                   else if (STREQC(dev->dev.input.type, "tablet"))
>                           dev->dev.input.bus = strdup("usb");
>                   else {
> -                        msg = "Invalid value for ResourceSubType in InputRASD";
> +                        CU_DEBUG("Invalid value for ResourceSubType in InputRASD");
>                           goto out;
>                   }
>           } else


-- 
Chip Vincent
Open Virtualization
IBM Linux Technology Center
cvincent at linux.vnet.ibm.com




More information about the Libvirt-cim mailing list