1. 03 12月, 2014 13 次提交
    • M
      qemuMonitorJSONBlockStatsUpdateCapacity: Don't skip disks · a714533b
      Michal Privoznik 提交于
      The function queries the block devices visible to qemu
      ('query-block') and parses the qemu's output. The info is
      returned in a hash table which is expected to be pre-filled by
      qemuMonitorJSONGetAllBlockStatsInfo(). However, in the next patch
      we are not going to call the latter function at all, so we should
      make the former function add devices into the hash table if not
      found there.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      a714533b
    • M
      storage: Introduce storagePoolLookupByTargetPath · 5ab746b8
      Michal Privoznik 提交于
      While this could be exposed as a public API, it's not done yet as
      there's no demand for that yet. Anyway, this is just preparing
      the environment for easier volume creation on the destination.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      5ab746b8
    • J
      Replace virDomainSnapshotFree with virObjectUnref · c8230c4d
      John Ferlan 提交于
      Since virDomainSnapshotFree will call virObjectUnref anyway, let's just use
      that directly so as to avoid the possibility that we inadvertently clear out
      a pending error message when using the public API.
      c8230c4d
    • J
      Replace virInterfaceFree with virObjectUnref · c56a591a
      John Ferlan 提交于
      Since virInterfaceFree will call virObjectUnref anyway, let's just use that
      directly so as to avoid the possibility that we inadvertently clear out
      a pending error message when using the public API.
      c56a591a
    • J
      Replace virNWFilterFree with virObjectUnref · 7b4938f5
      John Ferlan 提交于
      Since virNWFilterFree will call virObjectUnref anyway, let's just use that
      directly so as to avoid the possibility that we inadvertently clear out
      a pending error message when using the public API.
      7b4938f5
    • J
      Replace virSecretFree with virObjectUnref · a0b13d35
      John Ferlan 提交于
      Since virSecretFree will call virObjectUnref anyway, let's just use that
      directly so as to avoid the possibility that we inadvertently clear out
      a pending error message when using the public API.
      a0b13d35
    • J
      Replace virStreamFree with virObjectUnref · 1725a468
      John Ferlan 提交于
      Since virStreamFree will call virObjectUnref anyway, let's just use that
      directly so as to avoid the possibility that we inadvertently clear out
      a pending error message when using the public API.
      1725a468
    • J
      Replace virStoragePoolFree with virObjectUnref · adbbff5f
      John Ferlan 提交于
      Since virStoragePoolFree will call virObjectUnref anyway, let's just use that
      directly so as to avoid the possibility that we inadvertently clear out
      a pending error message when using the public API.
      adbbff5f
    • J
      Replace virStorageVolFree with virObjectUnref · d1219054
      John Ferlan 提交于
      Since virStorageVolFree will call virObjectUnref anyway, let's just use that
      directly so as to avoid the possibility that we inadvertently clear out
      a pending error message when using the public API.
      d1219054
    • J
      Replace virNodeDeviceFree with virObjectUnref · e3b456de
      John Ferlan 提交于
      Since virNodeDeviceFree will call virObjectUnref anyway, let's just use that
      directly so as to avoid the possibility that we inadvertently clear out
      a pending error message when using the public API.
      e3b456de
    • J
      Replace virNetworkFree with virObjectUnref · 121c09a9
      John Ferlan 提交于
      Since virNetworkFree will call virObjectUnref anyway, let's just use that
      directly so as to avoid the possibility that we inadvertently clear out
      a pending error message when using the public API.
      121c09a9
    • J
      Replace virDomainFree with virObjectUnref · 8fb3aee2
      John Ferlan 提交于
      Since virDomainFree will call virObjectUnref anyway, let's just use that
      directly so as to avoid the possibility that we inadvertently clear out
      a pending error message when using the public API.
      8fb3aee2
    • J
      rpc: Replace virXXXFree with virObjectUnref · 1695f4ee
      John Ferlan 提交于
      Modify the various virXXXFree calls to only call virObjectUnref. Calling
      the public API will reset the last error thus clearing out a pending error.
      1695f4ee
  2. 02 12月, 2014 14 次提交
    • D
      parallels: fix compilation of parallels_storage.c · 572d0508
      Dmitry Guryanov 提交于
      virConnect.privateData is void *, so we can't access
      fields of parallelsConn, pointer to which is stored in
      virConnect.privateData. So replace all occurences of
      conn->privateData->storageState with privconn->storageState.
      Signed-off-by: NDmitry Guryanov <dguryanov@parallels.com>
      572d0508
    • J
      Generate a MAC when loading a config instead of package update · a47ae7c0
      Ján Tomko 提交于
      Partially reverts commit 5754dbd5.
      
      The code in the specfile adds a MAC address to every <bridge>,
      even for <forward mode='bridge'> for which we don't support
      changing MAC addresses.
      
      Remove it completely. For new networks, we have been adding
      MAC addresses on definition/creation since the commit mentioned above.
      For existing networks (pre-0.9.0), the MAC is added by this commit.
      
      https://bugzilla.redhat.com/show_bug.cgi?id=1156367
      a47ae7c0
    • J
      Silently ignore MAC in NetworkLoadConfig · c9c7a2bd
      Ján Tomko 提交于
      Libvirt's RPMs have been adding it to networks which don't support it.
      
      https://bugzilla.redhat.com/show_bug.cgi?id=1156367
      c9c7a2bd
    • M
      libvirt.c: Move virDomainGetFSInfo to libvirt-domain.c · 2cc8c44e
      Michal Privoznik 提交于
      Since our big split of libvirt.c there are only a few functions
      living there. The majority was moved to corresponding subfile,
      e.g. domain functions were moved to libvirt-domain.c. However,
      the patches for virDomainGetFSInfo() and virDomainFSInfoFree()
      introduction were posted prior the big split and merged after.
      This resulted in two domain functions landing in wrong file.
      Move them to the correct one.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      2cc8c44e
    • P
      nwfilter: fix crash when adding non-existing nwfilter · d98ad8dd
      Pavel Hrdina 提交于
      Adding non-existing nwfilter to a network interface device without any
      nwfilter specified will crash libvirt daemon with segfault. The reason is
      that the nwfilter is not found an libvirt will try to restore old
      nwfilter configuration but there is no nwfilter specified.
      Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
      d98ad8dd
    • W
      conf: fix a comment typo in virDomainVideoDefaultRAM · 82bde426
      Wang Rui 提交于
      Signed-off-by: NWang Rui <moon.wangrui@huawei.com>
      82bde426
    • L
      conf: replace call to virNetworkFree() with virObjectUnref() · c2d5bca1
      Laine Stump 提交于
      The function virNetworkObjListExport() in network_conf.c had a call to
      the public API virNetworkFree() which was causing a link error:
      
      CCLD     libvirt_driver_vbox_network_impl.la
       ./.libs/libvirt_conf.a(libvirt_conf_la-network_conf.o): In function `virNetworkObjListExport':
      /home/laine/devel/libvirt/src/conf/network_conf.c:4496: undefined reference to `virNetworkFree'
      
      This would happen when I added
      
        #include "network_conf.h"
      
      into domain_conf.h, then attempted to call a new function from that
      file (and enum converter, similar to virNetworkForwardTypeToString())
      
      In the end, virNetworkFree() ends up just calling virObjectUnref(obj)
      anyway (after clearing all pending errors, which we probably *don't*
      want to do in the cleanup of a utility function), so this is likely
      more correct than the original code as well.
      c2d5bca1
    • M
      build, docs: Let make see the dependencies for html/*.html · b79d195b
      Martin Kletzander 提交于
      Make was not able to realize the dependencies for html/*.html files when
      running 'make -j9 dist'.  All the files are generated together with
      html/index.html, so simply separating them into another variable and
      adding one block into the dependency chain solves the issue.
      Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
      b79d195b
    • M
      docs: Correct invalid hyperlinks · af1b89d1
      Martin Kletzander 提交于
      Since libvirt.h was split into multiple files and similarly
      docs/libvirt-libvirt.html, docs/hvsupport.html have bad hyperlinks.  The
      same happens for all the html.in files that used <code class='docref'>
      tag, because page.xsl has no idea where to point the link that's found.
      Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
      af1b89d1
    • E
      Fix race condition in qemuGetProcessInfo · ff018e68
      Eduardo Costa 提交于
      There is a race condition between the fopen and fscanf calls
      in qemuGetProcessInfo. If fopen succeeds, there is a small
      possibility that the file no longer exists before reading from it.
      Now, if either fopen or fscanf calls fail, the function will behave
      just as only fopen had failed.
      
      Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1169055Signed-off-by: NEric Blake <eblake@redhat.com>
      ff018e68
    • J
      libxl: Resolve Coverity CHECKED_RETURN · 5f1d3c6c
      John Ferlan 提交于
      Commit id 'cb88d433' refactored the calling sequence to use a thread;
      however, in doing so "lost" the check for if virNetSocketAccept returns
      failure.  Since other code makes that check, Coverity complains. Although
      a false positive, adding back the failure check pacifies Coverity
      5f1d3c6c
    • J
      domain_conf: Resolve Coverity CHECKED_RETURN · 025dc403
      John Ferlan 提交于
      Commit id '0d36a5d0' modified the code slightly, but removed the
      return value check thus causing Coverity to complain that this call
      was the only one where the return value wasn't checked. Since nothing
      was done previously if there was a failure, just use ignore_value here
      to pacify Coverity
      025dc403
    • J
      virhook: Resolve Coverity NULL_RETURNS · f7212f6b
      John Ferlan 提交于
      Coverity complains that many other callers to return err from
      virGetLastError() will check if err is not NULL before dereferencing
      it.  Just do the same here for safety.
      f7212f6b
    • J
      hotplug: Resolve Coverity FORWARD_NULL · 59802f23
      John Ferlan 提交于
      Coverity complained that because the cfg->macFilter call checked
      net->ifname != NULL before calling ebtablesRemoveForwardAllowIn, then
      the virNetDevOpenvswitchRemovePort call should have the same check.
      
      However, if I move the ebtables call prior to the check for TYPE_DIRECT
      (where there is a VIR_FREE(net->ifname)), then it seems Coverity is
      happy.  Since firewall info is tacked on last during setup, removing
      it in the opposite order of initialization seems to be natural anyway
      59802f23
  3. 01 12月, 2014 10 次提交
  4. 28 11月, 2014 3 次提交
    • M
      qemu: Don't track quiesced state of FSs · 6085d917
      Michal Privoznik 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=1160084
      
      As of b6d4dad1 (1.2.5) we are trying to keep the status of FSFreeze
      in the guest. Even though I've tried to fixed couple of corner cases
      (6ea54769), it occurred to me just recently, that the approach is
      broken by design. Firstly, there are many other ways to talk to
      qemu-ga (even through libvirt) that filesystems can be thawed (e.g.
      qemu-agent-command) without libvirt noticing. Moreover, there are
      plenty of ways to thaw filesystems without even qemu-ga noticing (yes,
      qemu-ga keeps internal track of FSFreeze status). So, instead of
      keeping the track ourselves, or asking qemu-ga for stale state, it's
      the best to let qemu-ga deal with that (and possibly let guest kernel
      propagate an error).
      
      Moreover, there's one bug with the following approach, if fsfreeze
      command failed, we've executed fsthaw subsequently. So issuing
      domfsfreeze in virsh gave the following result:
      
      virsh # domfsfreeze gentoo
      Froze 1 filesystem(s)
      
      virsh # domfsfreeze gentoo
      error: Unable to freeze filesystems
      error: internal error: unable to execute QEMU agent command 'guest-fsfreeze-freeze': The command guest-fsfreeze-freeze has been disabled for this instance
      
      virsh # domfsfreeze gentoo
      Froze 1 filesystem(s)
      
      virsh # domfsfreeze gentoo
      error: Unable to freeze filesystems
      error: internal error: unable to execute QEMU agent command 'guest-fsfreeze-freeze': The command guest-fsfreeze-freeze has been disabled for this instance
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      6085d917
    • J
      Fix usage of virReportSystemError · 9340528a
      Jiri Denemark 提交于
      virReportSystemError is reserved for reporting system errors, calling it
      with VIR_ERR_* error codes produces error messages that do not make any
      sense, such as
      
          internal error: guest failed to start: Kernel doesn't support user
          namespace: Link has been severed
      
      We should prohibit wrong usage with a syntax-check rule.
      Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      9340528a
    • M
      docs: fix simple typo in TPM paragraph · b09b9266
      Martin Kletzander 提交于
      Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
      b09b9266