[libvirt] [PATCH 01/40] Remove xen driver checks for priv->handle < 0

Jim Fehlig jfehlig at suse.com
Fri May 3 21:09:14 UTC 2013


Daniel P. Berrange wrote:
> From: "Daniel P. Berrange" <berrange at redhat.com>
>
> The Xen hypervisor driver checks for 'priv->handle < 0' and
> returns -1, but without raising any error. Fortunately this
> code will never be executed, since the main Xen driver always
> checks 'priv->opened[XEN_UNIFIED_HYPERVISOR_OFFSET]' prior
> to invoking any hypervisor API. Just the redundant checks
>   

s/Just the/Just remove the/

> for priv->handle
>
> Signed-off-by: Daniel P. Berrange <berrange at redhat.com>
> ---
>  src/xen/xen_hypervisor.c | 98 ++++++++----------------------------------------
>  1 file changed, 16 insertions(+), 82 deletions(-)
>   

ACK.

Regards,
Jim

> diff --git a/src/xen/xen_hypervisor.c b/src/xen/xen_hypervisor.c
> index 9dbbe07..d9941ec 100644
> --- a/src/xen/xen_hypervisor.c
> +++ b/src/xen/xen_hypervisor.c
> @@ -1165,11 +1165,6 @@ xenHypervisorGetSchedulerType(virDomainPtr domain, int *nparams)
>      char *schedulertype = NULL;
>      xenUnifiedPrivatePtr priv = domain->conn->privateData;
>  
> -    if (priv->handle < 0) {
> -        virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
> -                       _("priv->handle invalid"));
> -        return NULL;
> -    }
>      if (domain->id < 0) {
>          virReportError(VIR_ERR_OPERATION_INVALID,
>                         "%s", _("domain is not running"));
> @@ -1240,11 +1235,7 @@ xenHypervisorGetSchedulerParameters(virDomainPtr domain,
>  {
>      xenUnifiedPrivatePtr priv = domain->conn->privateData;
>  
> -    if (priv->handle < 0) {
> -        virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
> -                       _("priv->handle invalid"));
> -        return -1;
> -    }
> +
>      if (domain->id < 0) {
>          virReportError(VIR_ERR_OPERATION_INVALID,
>                         "%s", _("domain is not running"));
> @@ -1353,11 +1344,6 @@ xenHypervisorSetSchedulerParameters(virDomainPtr domain,
>                                         NULL) < 0)
>          return -1;
>  
> -    if (priv->handle < 0) {
> -        virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
> -                       _("priv->handle invalid"));
> -        return -1;
> -    }
>      if (domain->id < 0) {
>          virReportError(VIR_ERR_OPERATION_INVALID,
>                         "%s", _("domain is not running"));
> @@ -2209,7 +2195,7 @@ xenHypervisorOpen(virConnectPtr conn,
>      virCheckFlags(VIR_CONNECT_RO, VIR_DRV_OPEN_ERROR);
>  
>      if (xenHypervisorInitialize() < 0)
> -        return -1;
> +        return VIR_DRV_OPEN_ERROR;
>  
>      priv->handle = -1;
>  
> @@ -2221,7 +2207,7 @@ xenHypervisorOpen(virConnectPtr conn,
>  
>      priv->handle = ret;
>  
> -    return 0;
> +    return VIR_DRV_OPEN_SUCCESS;
>  }
>  
>  /**
> @@ -2238,9 +2224,6 @@ xenHypervisorClose(virConnectPtr conn)
>      int ret;
>      xenUnifiedPrivatePtr priv = conn->privateData;
>  
> -    if (priv->handle < 0)
> -        return -1;
> -
>      ret = VIR_CLOSE(priv->handle);
>      if (ret < 0)
>          return -1;
> @@ -2259,12 +2242,8 @@ xenHypervisorClose(virConnectPtr conn)
>   * Returns 0 in case of success, -1 in case of error
>   */
>  int
> -xenHypervisorGetVersion(virConnectPtr conn, unsigned long *hvVer)
> +xenHypervisorGetVersion(virConnectPtr conn ATTRIBUTE_UNUSED, unsigned long *hvVer)
>  {
> -    xenUnifiedPrivatePtr priv = conn->privateData;
> -
> -    if (priv->handle < 0)
> -        return -1;
>      *hvVer = (hv_versions.hv >> 16) * 1000000 + (hv_versions.hv & 0xFFFF) * 1000;
>      return 0;
>  }
> @@ -2769,9 +2748,6 @@ xenHypervisorNumOfDomains(virConnectPtr conn)
>      int maxids = last_maxids;
>      xenUnifiedPrivatePtr priv = conn->privateData;
>  
> -    if (priv->handle < 0)
> -        return -1;
> -
>   retry:
>      if (!(XEN_GETDOMAININFOLIST_ALLOC(dominfos, maxids))) {
>          virReportOOMError();
> @@ -2823,9 +2799,6 @@ xenHypervisorListDomains(virConnectPtr conn, int *ids, int maxids)
>      int ret, nbids, i;
>      xenUnifiedPrivatePtr priv = conn->privateData;
>  
> -    if (priv->handle < 0)
> -        return -1;
> -
>      if (maxids == 0)
>          return 0;
>  
> @@ -2866,12 +2839,6 @@ xenHypervisorDomainGetOSType(virDomainPtr dom)
>      xen_getdomaininfo dominfo;
>      char *ostype = NULL;
>  
> -    if (priv->handle < 0) {
> -        virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
> -                       _("domain shut off or invalid"));
> -        return NULL;
> -    }
> -
>      /* HV's earlier than 3.1.0 don't include the HVM flags in guests status*/
>      if (hv_versions.hypervisor < 2 ||
>          hv_versions.dom_interface < 4) {
> @@ -2911,9 +2878,6 @@ xenHypervisorHasDomain(virConnectPtr conn, int id)
>      xenUnifiedPrivatePtr priv = conn->privateData;
>      xen_getdomaininfo dominfo;
>  
> -    if (priv->handle < 0)
> -        return 0;
> -
>      XEN_GETDOMAININFO_CLEAR(dominfo);
>  
>      if (virXen_getdomaininfo(priv->handle, id, &dominfo) < 0)
> @@ -2933,9 +2897,6 @@ xenHypervisorLookupDomainByID(virConnectPtr conn, int id)
>      virDomainPtr ret;
>      char *name;
>  
> -    if (priv->handle < 0)
> -        return NULL;
> -
>      XEN_GETDOMAININFO_CLEAR(dominfo);
>  
>      if (virXen_getdomaininfo(priv->handle, id, &dominfo) < 0)
> @@ -2967,9 +2928,6 @@ xenHypervisorLookupDomainByUUID(virConnectPtr conn, const unsigned char *uuid)
>      char *name;
>      int maxids = 100, nids, i, id;
>  
> -    if (priv->handle < 0)
> -        return NULL;
> -
>   retry:
>      if (!(XEN_GETDOMAININFOLIST_ALLOC(dominfos, maxids))) {
>          virReportOOMError();
> @@ -3030,13 +2988,9 @@ xenHypervisorLookupDomainByUUID(virConnectPtr conn, const unsigned char *uuid)
>   * Returns the maximum of CPU defined by Xen.
>   */
>  int
> -xenHypervisorGetMaxVcpus(virConnectPtr conn, const char *type ATTRIBUTE_UNUSED)
> +xenHypervisorGetMaxVcpus(virConnectPtr conn ATTRIBUTE_UNUSED,
> +                         const char *type ATTRIBUTE_UNUSED)
>  {
> -    xenUnifiedPrivatePtr priv = conn->privateData;
> -
> -    if (priv->handle < 0)
> -        return -1;
> -
>      return MAX_VIRT_CPUS;
>  }
>  
> @@ -3057,9 +3011,6 @@ xenHypervisorGetDomMaxMemory(virConnectPtr conn, int id)
>      xen_getdomaininfo dominfo;
>      int ret;
>  
> -    if (priv->handle < 0)
> -        return 0;
> -
>      if (kb_per_pages == 0) {
>          kb_per_pages = sysconf(_SC_PAGESIZE) / 1024;
>          if (kb_per_pages <= 0)
> @@ -3089,9 +3040,7 @@ xenHypervisorGetDomMaxMemory(virConnectPtr conn, int id)
>  static unsigned long long ATTRIBUTE_NONNULL(1)
>  xenHypervisorGetMaxMemory(virDomainPtr domain)
>  {
> -    xenUnifiedPrivatePtr priv = domain->conn->privateData;
> -
> -    if (priv->handle < 0 || domain->id < 0)
> +    if (domain->id < 0)
>          return 0;
>  
>      return xenHypervisorGetDomMaxMemory(domain->conn, domain->id);
> @@ -3121,9 +3070,6 @@ xenHypervisorGetDomInfo(virConnectPtr conn, int id, virDomainInfoPtr info)
>              kb_per_pages = 4;
>      }
>  
> -    if (priv->handle < 0)
> -        return -1;
> -
>      memset(info, 0, sizeof(virDomainInfo));
>      XEN_GETDOMAININFO_CLEAR(dominfo);
>  
> @@ -3189,9 +3135,7 @@ xenHypervisorGetDomInfo(virConnectPtr conn, int id, virDomainInfoPtr info)
>  int
>  xenHypervisorGetDomainInfo(virDomainPtr domain, virDomainInfoPtr info)
>  {
> -    xenUnifiedPrivatePtr priv = domain->conn->privateData;
> -
> -    if (priv->handle < 0 || domain->id < 0)
> +    if (domain->id < 0)
>          return -1;
>  
>      return xenHypervisorGetDomInfo(domain->conn, domain->id, info);
> @@ -3215,12 +3159,11 @@ xenHypervisorGetDomainState(virDomainPtr domain,
>                              int *reason,
>                              unsigned int flags)
>  {
> -    xenUnifiedPrivatePtr priv = domain->conn->privateData;
>      virDomainInfo info;
>  
>      virCheckFlags(0, -1);
>  
> -    if (priv->handle < 0 || domain->id < 0)
> +    if (domain->id < 0)
>          return -1;
>  
>      if (xenHypervisorGetDomInfo(domain->conn, domain->id, &info) < 0)
> @@ -3281,12 +3224,6 @@ xenHypervisorNodeGetCellsFreeMemory(virConnectPtr conn,
>          return -1;
>      }
>  
> -    if (priv->handle < 0) {
> -        virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
> -                       _("priv->handle invalid"));
> -        return -1;
> -    }
> -
>      memset(&op_sys, 0, sizeof(op_sys));
>      op_sys.cmd = XEN_V2_OP_GETAVAILHEAP;
>  
> @@ -3322,7 +3259,7 @@ xenHypervisorPauseDomain(virDomainPtr domain)
>      int ret;
>      xenUnifiedPrivatePtr priv = domain->conn->privateData;
>  
> -    if (priv->handle < 0 || domain->id < 0)
> +    if (domain->id < 0)
>          return -1;
>  
>      ret = virXen_pausedomain(priv->handle, domain->id);
> @@ -3345,7 +3282,7 @@ xenHypervisorResumeDomain(virDomainPtr domain)
>      int ret;
>      xenUnifiedPrivatePtr priv = domain->conn->privateData;
>  
> -    if (priv->handle < 0 || domain->id < 0)
> +    if (domain->id < 0)
>          return -1;
>  
>      ret = virXen_unpausedomain(priv->handle, domain->id);
> @@ -3374,7 +3311,7 @@ xenHypervisorDestroyDomainFlags(virDomainPtr domain, unsigned int flags)
>  
>      virCheckFlags(0, -1);
>  
> -    if (priv->handle < 0 || domain->id < 0)
> +    if (domain->id < 0)
>          return -1;
>  
>      ret = virXen_destroydomain(priv->handle, domain->id);
> @@ -3398,7 +3335,7 @@ xenHypervisorSetMaxMemory(virDomainPtr domain, unsigned long memory)
>      int ret;
>      xenUnifiedPrivatePtr priv = domain->conn->privateData;
>  
> -    if (priv->handle < 0 || domain->id < 0)
> +    if (domain->id < 0)
>          return -1;
>  
>      ret = virXen_setmaxmem(priv->handle, domain->id, memory);
> @@ -3424,7 +3361,7 @@ xenHypervisorSetVcpus(virDomainPtr domain, unsigned int nvcpus)
>      int ret;
>      xenUnifiedPrivatePtr priv = domain->conn->privateData;
>  
> -    if (priv->handle < 0 || domain->id < 0 || nvcpus < 1)
> +    if (domain->id < 0 || nvcpus < 1)
>          return -1;
>  
>      ret = virXen_setmaxvcpus(priv->handle, domain->id, nvcpus);
> @@ -3452,7 +3389,7 @@ xenHypervisorPinVcpu(virDomainPtr domain, unsigned int vcpu,
>      int ret;
>      xenUnifiedPrivatePtr priv = domain->conn->privateData;
>  
> -    if (priv->handle < 0 || domain->id < 0)
> +    if (domain->id < 0)
>          return -1;
>  
>      ret = virXen_setvcpumap(priv->handle, domain->id, vcpu,
> @@ -3494,7 +3431,7 @@ xenHypervisorGetVcpus(virDomainPtr domain,
>      virVcpuInfoPtr ipt;
>      int nbinfo, i;
>  
> -    if (priv->handle < 0 || domain->id < 0 || sizeof(cpumap_t) & 7) {
> +    if (domain->id < 0 || sizeof(cpumap_t) & 7) {
>          virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
>                         _("domain shut off or invalid"));
>          return -1;
> @@ -3556,9 +3493,6 @@ xenHypervisorGetVcpuMax(virDomainPtr domain)
>      int maxcpu;
>      xenUnifiedPrivatePtr priv = domain->conn->privateData;
>  
> -    if (priv->handle < 0)
> -        return -1;
> -
>      /* inactive domain */
>      if (domain->id < 0) {
>          maxcpu = MAX_VIRT_CPUS;
>   




More information about the libvir-list mailing list