1. 11 9月, 2014 14 次提交
    • J
      qemu: Resolve Coverity FORWARD_NULL · bf15f10a
      John Ferlan 提交于
      If the virJSONValueNewObject() fails, then rather than going to error
      and getting a Coverity false positive since it doesn't seem to understand
      the relationship between nkeywords, keywords, and values and seems to
      believe calling qemuFreeKeywords will cause a NULL deref - just return NULL
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      bf15f10a
    • J
      virsh: Resolve Coverity DEADCODE · 60b029c7
      John Ferlan 提交于
      Coverity points out that if 'dom' isn't returned from virDomainQemuAttach,
      then the code already jumps to cleanup, so there was no need for the
      subsequent if (dom != NULL) check.
      
      I moved the error message about failure into the goto cleanup on failure
      and then removed the if (dom != NULL)
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      60b029c7
    • J
      tests: Resolve Coverity DEADCODE · a893b20e
      John Ferlan 提交于
      Coverity complains that the various checks for autoincrement and changed
      variables are DEADCODE - seems to me to be a false positive - so mark it.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      a893b20e
    • J
      qemu: Resolve Coverity DEADCODE · 2676903f
      John Ferlan 提交于
      Add another 'dead_code_begin' - victims of our own coding practices
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      2676903f
    • J
      virsh: Resolve Coverity DEADCODE · b46b7785
      John Ferlan 提交于
      Coverity points out that by using EMPTYSTR(type) we are guarding against
      the possibility that it could be NULL; however, based on how 'type' was
      initialized to NULL, then using nested ternary if-then-else's (?:?:)
      setting either "ipv4", "ipv6", or "" - there is no way it could be NULL.
      Since "-" is supposed to mean something empty in a field - modify the
      nested ternary to an easier to read/process if-then-else leaving the
      initialization to NULL to mean "-" in the formatted output.
      
      Also changed the name from 'type' to 'typestr'.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      b46b7785
    • J
      virfile: Resolve Coverity DEADCODE · 6825bdad
      John Ferlan 提交于
      Adjust the parentheses in/for the waitpid loops; otherwise, Coverity
      points out:
      
      (1) Event assignment:   Assigning: "waitret" = "waitpid(pid, &status, 0) == -1"
      (2) Event between:      At condition "waitret == -1", the value of "waitret"
                              must be between 0 and 1.
      (3) Event dead_error_condition:     The condition "waitret == -1" cannot
                              be true.
      (4) Event dead_error_begin:     Execution cannot reach this statement:
                              "ret = -*__errno_location();".
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      6825bdad
    • J
      virsh: Resolve Coverity DEADCODE · daf27d4d
      John Ferlan 提交于
      Since 0766783a
      
      Coverity complains that the EDIT_FREE definition results in DEADCODE.
      
      As it turns out with the change to use the EDIT_FREE macro the call to
      vir*Free() wouldn't be necessary nor would it happen...
      
      Prior code to above commitid would :
      
        vir*Ptr foo = NULL;
        ...
        foo = vir*GetXMLDesc()
        ...
        vir*Free(foo);
        foo = vir*DefineXML()
        ...
      
      And thus the free was needed.  With the change to use EDIT_FREE the
      same code changed to:
      
        vir*Ptr foo = NULL;
        vir*Ptr foo_edited = NULL;
        ...
        foo = vir*GetXMLDesc()
        ...
        if (foo_edited)
            vir*Free(foo_edited);
        foo_edited = vir*DefineXML()
        ...
      
      However, foo_edited could never be set in the code path - even with
      all the goto's since the only way for it to be set is if vir*DefineXML()
      succeeds in which case the code to allow a retry (and thus all the goto's)
      never leaves foo_edited set
      
      All error paths lead to "cleanup:" which causes both foo and foo_edited
      to call the respective vir*Free() routines if set.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      daf27d4d
    • J
      storage: Resolve Coverity OVERFLOW_BEFORE_WIDEN · f832aa32
      John Ferlan 提交于
      Coverity complains that when multiplying to 32 bit values that eventually
      will be stored in a 64 bit value that it's possible the math could
      overflow unless one of the values being multiplied is type cast to
      the proper size.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      f832aa32
    • J
      qemu: Resolve Coverity REVERSE_INULL · 9f845b11
      John Ferlan 提交于
      Coverity complains that checking for !domlist after setting doms = domlist
      and making a deref of doms just above
      
      It seems the call in question was intended to me made in the case that
      'doms' was passed in and not when the virDomainObjListExport() call
      allocated domlist and already called virConnectGetAllDomainStatsCheckACL().
      
      Thus rather than check for !domlist - check that "doms != domlist" in
      order to avoid the Coverity message.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      9f845b11
    • J
      vbox: Resolve Coverity UNUSED_VALUE · abddeb84
      John Ferlan 提交于
      Handle a few places where Coverity complains about the value being
      unused. For two of them (Close cases) - the comments above the close
      indicate there is no harm to ignore the error - so added an ignore_value.
      For the other condition, added an rc check like other callers.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      abddeb84
    • J
      storage: Resolve Coverity UNUSED_VALUE · 8ea809df
      John Ferlan 提交于
      Since cd4d5475
      
      Coverity notes that setting 'ret = -3' prior to the unconditional
      setting of 'ret = 0' will cause the value to be UNUSED.
      
      Since the comment indicates that it is expect to allow the code
      to continue, just remove the ret = -3 setting.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      8ea809df
    • J
      qemu_driver: Resolve Coverity COPY_PASTE_ERROR · f72f0642
      John Ferlan 提交于
      In qemuDomainSetBlkioParameters(), Coverity points out that the calls
      to qemuDomainParseBlkioDeviceStr() are slightly different and points
      out there may be a cut-n-paste error.
      
      In the first call (AFFECT_LIVE), the second parameter is "param->field";
      however, for the second call (AFFECT_CONFIG), the second parameter is
      "params->field".  It seems the "param->field" is correct especially since
      each path as a setting of "param" to "&params[i]".  Furthermore, there
      were a few more instances of using "params[i]" instead of "param->"
      which I cleaned up.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      f72f0642
    • M
      selinux: Properly check TAP FD label · b635b7a1
      Michal Privoznik 提交于
      After a4431931 the TAP FDs ale labeled with image label instead
      of the process label. On the other hand, the commit was
      incomplete as a few lines above, there's still old check for the
      process label presence while it should be check for the image
      label instead.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      b635b7a1
    • J
      qemu: remove leftover virResetLastError · 6c555027
      Ján Tomko 提交于
      As of commit 5d29ca06:
      qemu: switch PCI address set from hash table to an array
      
      There is no error to be reset.
      6c555027
  2. 10 9月, 2014 19 次提交
  3. 09 9月, 2014 3 次提交
    • E
      virsh: additional scaled output units · 2ad38fdb
      Eric Blake 提交于
      The parser accepts P and E, so the formatter should too.
      
      * tools/virsh.c (vshPrettyCapacity): Handle larger units.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      2ad38fdb
    • M
    • E
      blockcopy: add a way to parse disk source · 37588b25
      Eric Blake 提交于
      The new blockcopy API wants to reuse only a subset of the disk
      hotplug parser - namely, we only care about the embedded
      virStorageSourcePtr inside a <disk> XML.  Strange as it may
      seem, it was easier to just parse an entire disk definition,
      then throw away everything but the embedded source, than it
      was to disentangle the source parsing code from the rest of
      the overall disk parsing function.  All that I needed was a
      couple of tweaks and a new internal flag that determines
      whether the normally-mandatory target element can be
      gracefully skipped, since everything else was already optional.
      
      * src/conf/domain_conf.h (virDomainDiskSourceParse): New
      prototype.
      * src/conf/domain_conf.c (VIR_DOMAIN_XML_INTERNAL_DISK_SOURCE):
      New flag.
      (virDomainDiskDefParseXML): Honor flag to make target optional.
      (virDomainDiskSourceParse): New function.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      37588b25
  4. 08 9月, 2014 4 次提交
    • E
      blockjob: avoid 32-bit compilation warning · efe5061f
      Eric Blake 提交于
      Commit c1d75dee caused this warning on 32-bit platforms (fatal when
      -Werror is enabled):
      
      virsh-domain.c: In function 'cmdBlockCopy':
      virsh-domain.c:2003:17: error: comparison is always false due to limited range of data type [-Werror=type-limits]
      
      Forcing the left side of the < to be ull instead of ul shuts up
      the 32-bit compiler while still protecting 64-bit code from overflow.
      
      * tools/virsh-domain.c (cmdBlockCopy): Add type coercion.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      efe5061f
    • E
      qemu: panic device: check for invalid address type · afb4c6b6
      Erik Skultety 提交于
      qemu now checks for invalid address type for a panic device, which is
      currently implemented only to use ISA address type, thus rejecting
      any other options, except for leaving XML attributes blank, in that case,
      defaults are used (this behaviour remains the same from earlier verions).
      
      Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1138125Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
      afb4c6b6
    • J
      qemu: Propagate QEMU errors during incoming migrations · 03890605
      Jiri Denemark 提交于
      When QEMU fails during incoming migration after we successfully started
      it (i.e., during Perform or Finish phase), we report a rather unhelpful
      message
      
          Unable to read from monitor: Connection reset by peer
      
      We already have a code that takes error messages from QEMU's error
      output but we disable it once QEMU successfully starts. This patch
      postpones this until the end of Finish phase during incoming migration
      so that we can report a much better error message:
      
          internal error: early end of file from monitor: possible problem:
          Unknown savevm section or instance '0000:00:05.0/virtio-balloon' 0
          load of migration failed
      
      https://bugzilla.redhat.com/show_bug.cgi?id=1090093Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      03890605
    • P
      qemu: snapshot: Simplify error paths · 2990db96
      Peter Krempa 提交于
      Return failure right away when the domain object can't be looked up
      instead of jumping to cleanup. This allows to remove the condition
      before unlocking the domain object.
      2990db96