[libvirt] [PATCH v3 01/11] util: iscsi: use VIR_AUTOFREE instead of VIR_FREE for scalar types

Sukrit Bhatnagar posted 11 patches 6 years, 11 months ago
[libvirt] [PATCH v3 01/11] util: iscsi: use VIR_AUTOFREE instead of VIR_FREE for scalar types
Posted by Sukrit Bhatnagar 6 years, 11 months ago
Add another usage for VIR_AUTOFREE macro which was left in the
commit ec3e878, thereby dropping a VIR_FREE call and and a cleanup
section.

Signed-off-by: Sukrit Bhatnagar <skrtbhtngr@gmail.com>
---
 src/util/viriscsi.c | 22 ++++++++++------------
 1 file changed, 10 insertions(+), 12 deletions(-)

diff --git a/src/util/viriscsi.c b/src/util/viriscsi.c
index c805ffc..cf07968 100644
--- a/src/util/viriscsi.c
+++ b/src/util/viriscsi.c
@@ -208,9 +208,10 @@ static int
 virStorageBackendCreateIfaceIQN(const char *initiatoriqn,
                                 char **ifacename)
 {
-    int ret = -1, exitstatus = -1;
+    int exitstatus = -1;
+    VIR_AUTOPTR(virCommand) cmd = NULL;
+    VIR_AUTOFREE(char *) iface_name = NULL;
     VIR_AUTOFREE(char *) temp_ifacename = NULL;
-    VIR_AUTOPTR(virCommand) cmd = NULL;
 
     if (virAsprintf(&temp_ifacename,
                     "libvirt-iface-%08llx",
@@ -233,7 +234,7 @@ virStorageBackendCreateIfaceIQN(const char *initiatoriqn,
         virReportError(VIR_ERR_INTERNAL_ERROR,
                        _("Failed to run command '%s' to create new iscsi interface"),
                        ISCSIADM);
-        goto cleanup;
+        return -1;
     }
     virCommandFree(cmd);
 
@@ -252,26 +253,23 @@ virStorageBackendCreateIfaceIQN(const char *initiatoriqn,
         virReportError(VIR_ERR_INTERNAL_ERROR,
                        _("Failed to run command '%s' to update iscsi interface with IQN '%s'"),
                        ISCSIADM, initiatoriqn);
-        goto cleanup;
+        return -1;
     }
 
     /* Check again to make sure the interface was created. */
-    if (virStorageBackendIQNFound(initiatoriqn, ifacename) != IQN_FOUND) {
+    if (virStorageBackendIQNFound(initiatoriqn, &iface_name) != IQN_FOUND) {
         VIR_DEBUG("Failed to find interface '%s' with IQN '%s' "
                   "after attempting to create it",
                   &temp_ifacename[0], initiatoriqn);
-        goto cleanup;
+        return -1;
     } else {
         VIR_DEBUG("Interface '%s' with IQN '%s' was created successfully",
-                  *ifacename, initiatoriqn);
+                  iface_name, initiatoriqn);
     }
 
-    ret = 0;
+    VIR_STEAL_PTR(*ifacename, iface_name);
 
- cleanup:
-    if (ret != 0)
-        VIR_FREE(*ifacename);
-    return ret;
+    return 0;
 }
 
 
-- 
1.8.3.1

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH v3 01/11] util: iscsi: use VIR_AUTOFREE instead of VIR_FREE for scalar types
Posted by Erik Skultety 6 years, 11 months ago
On Thu, Aug 09, 2018 at 09:42:09AM +0530, Sukrit Bhatnagar wrote:
> Add another usage for VIR_AUTOFREE macro which was left in the
> commit ec3e878, thereby dropping a VIR_FREE call and and a cleanup
> section.
>
> Signed-off-by: Sukrit Bhatnagar <skrtbhtngr@gmail.com>
> ---
>  src/util/viriscsi.c | 22 ++++++++++------------
>  1 file changed, 10 insertions(+), 12 deletions(-)
>
> diff --git a/src/util/viriscsi.c b/src/util/viriscsi.c
> index c805ffc..cf07968 100644
> --- a/src/util/viriscsi.c
> +++ b/src/util/viriscsi.c
> @@ -208,9 +208,10 @@ static int
>  virStorageBackendCreateIfaceIQN(const char *initiatoriqn,
>                                  char **ifacename)
>  {
> -    int ret = -1, exitstatus = -1;
> +    int exitstatus = -1;
> +    VIR_AUTOPTR(virCommand) cmd = NULL;
> +    VIR_AUTOFREE(char *) iface_name = NULL;
>      VIR_AUTOFREE(char *) temp_ifacename = NULL;
> -    VIR_AUTOPTR(virCommand) cmd = NULL;

^This @cmd movement is unjustified, I'll drop it before merging.

Reviewed-by: Erik Skultety <eskultet@redhat.com>

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list