1. 14 5月, 2015 2 次提交
    • J
      conf: Expose iothreadids when delete non sequential iothreadids · 375c185c
      John Ferlan 提交于
      Since 'autofill'd iothreadid entries are not written during XML format
      processing, it is possible that if an iothreadid in the middle of an
      autofilled list would then change it's id on a subsequent restart.
      
      Thus during the iothreadid deletion, if we determine the delete is not
      the "last" thread, then clear the autofill bit for all iothreadid's
      following the one being deleted (either the first or one in the middle).
      This way, iothreadid's will be printed/saved.
      375c185c
    • L
      virsh: Report an error when cpulist parsing fails · 60107346
      Luyao Huang 提交于
      When parsing a cpulist, the virBitmapParse is used. On an invalid
      bitmap an error is reported, but the error gets cleared
      immediately by subsequent public APIs call, e.g. virDomainFree().
      Moreover, we don't check whether bitmap fits into maximal CPU ID
      on the host. Therefore the following examples failed without any
      error:
      
       # virsh vcpupin test3 1 aaa
      
       # virsh vcpupin test3 1 1000
      Signed-off-by: NLuyao Huang <lhuang@redhat.com>
      60107346
  2. 13 5月, 2015 10 次提交
    • N
      parallels: remove connection wide wait timeout · 2f1f2888
      Nikolay Shirokovskiy 提交于
      We have a lot of passing arguments code just to pass connection
      object cause it holds jobTimeout. Taking into account that
      right now this value is defined at compile time let's just
      get rid of it and make arguments list more clear in many
      places.
      
      In case we later need some runtime configurable timeout
      value we can provide this value through arguments
      function already operate such as a parallels domain
      object etc as this timeouts are operation( and thus
      object) specific in practice.
      Signed-off-by: NNikolay Shirokovskiy <nshirokovskiy@parallels.com>
      2f1f2888
    • Z
      qemuMigrationPrepareAny: Drop useless variable @now · 7eb5b4bf
      zhang bo 提交于
      As of eeb008db the variable is not used anymore. Drop it.
      Signed-off-by: NWang Yufei <james.wangyufei@huawei.com>
      Signed-off-by: NZhang Bo <oscar.zhangbo@huawei.com>
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      7eb5b4bf
    • A
      maint: Ignore Vim swap files · 10525df6
      Andrea Bolognani 提交于
      This removes some noise when you're working on the repository
      and also have a bunch of source files open in Vim in another
      terminal.
      10525df6
    • M
      Fix build --without-network · 564dd537
      Martin Kletzander 提交于
      In order not to bring in any link dependencies, bridge driver doesn't
      use the usual stubs as other conditionally-built code does.  However,
      having the function as a macro imposes a problem with possibly unused
      variables if just defined as "0".  This was worked around by using
      (dom=dom, iface=iface, 0) which should act like a 0 if used in a
      condition.  However, gcc still bugs about that, so I came up with
      another way how to fix that.
      
      Using static inline functions in the header won't collide with anything,
      it fixes the bug and does one thing that the macro didn't do.  It checks
      whenther passed variables are pointers of compatible type.  It has only
      one downside, and that is that we need to either a) define it with
      ATTRIBUTE_UNUSED, which needs an exception in cfg.mk or b) do something
      like ignore_value(variable); in the function body.  I went with the
      first variant.
      Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
      564dd537
    • J
      Assign virtio-serial addresses after coldplugging a device · 083c33b3
      Ján Tomko 提交于
      Otherwise we might allow coldplugging a device
      that uses an address that is already occupied, creating
      an unstartable domain.
      
      https://bugzilla.redhat.com/show_bug.cgi?id=1220195
      083c33b3
    • P
      qemu: vnc: error out for invalid port number · afaffeb8
      Pavel Hrdina 提交于
      In the XML we have the vnc port number, but QEMU takes on command line
      a vnc screen number, it's port-5900.  We should fail with error message
      that only ports in range [5900,65535] are valid.
      
      Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1164966Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
      afaffeb8
    • M
      virSysinfoParseProcessor: Drop useless check for NULL · abac12b5
      Michal Privoznik 提交于
      VIR_STRDUP plays nicely with NULLs. Theres no need to guard its
      call with check for non-NULL.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      abac12b5
    • J
      libxl: support VNC passwd · fa33c0b8
      Jim Fehlig 提交于
      While implementing support for SPICE, I noticed VNC passwd was
      never copied to libxl_device_vfb's vnc.passwd field.
      Signed-off-by: NJim Fehlig <jfehlig@suse.com>
      fa33c0b8
    • J
      conf: Remove source host name check for iSCSI · 4b2b53f6
      John Ferlan 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=1171984
      https://bugzilla.redhat.com/show_bug.cgi?id=1188463
      
      Remove the check for the source host name for iSCSI source XML processing
      declaring duplicate sources when the source device path and if present the
      initiator of a proposed storage pool matches an existing storage pool.
      
      The backend iSCSI storage driver uses 'iscsiadm --mode session' to query
      available iscsid target sessions. The output displayed is the IP address
      and the IQN (target path) of known targets. The displayed IP address
      is a resolved address based on the session --login. Additionally, iscsid
      keeps track of the various ways to define the host name (IPv4 Address,
      IPv6 Address, /etc/hosts, etc.) for that IQN (see output of an 'iscsiadm
      --mode node'). If an incoming IQN matches and the host name provided by
      libvirt is resolved to the existing IQN, then iscsid will "reuse" the
      session. Although libvirt could do the same name resolution, if there
      is a difference, iscsid could still declare two seemingly different sources
      to be the same and not create a new session which means libvirt now has
      two storage pools looking at the same source. Thus to avoid any strange
      host name resolution issues, just rely on iscsid for that and do not
      allow multiple pools on the same host to use the same device path (IQN).
      4b2b53f6
    • J
      conf: Adjust duplicate source host port check · 6dd9297c
      John Ferlan 提交于
      Only perform the port number check if the incoming definition actually
      provides it. Since the port number is optional we could erroneously pass
      a duplicate source host check since some storage pool backends which fill
      in the default port number (e.g., iSCSI and sheepdog) for the started pool.
      6dd9297c
  3. 12 5月, 2015 10 次提交
  4. 11 5月, 2015 11 次提交
  5. 08 5月, 2015 1 次提交
    • C
      caps: Fix regression defaulting to host arch · 8910e063
      Cole Robinson 提交于
      My commit 747761a7 (v1.2.15 only) dropped this bit of logic when filling
      in a default arch in the XML:
      
      -    /* First try to find one matching host arch */
      -    for (i = 0; i < caps->nguests; i++) {
      -        if (caps->guests[i]->ostype == ostype) {
      -            for (j = 0; j < caps->guests[i]->arch.ndomains; j++) {
      -                if (caps->guests[i]->arch.domains[j]->type == domain &&
      -                    caps->guests[i]->arch.id == caps->host.arch)
      -                    return caps->guests[i]->arch.id;
      -            }
      -        }
      -    }
      
      That attempt to match host.arch is important, otherwise we end up
      defaulting to i686 on x86_64 host for KVM, which is not intended.
      Duplicate it in the centralized CapsLookup function.
      
      Additionally add some testcases that would have caught this.
      
      https://bugzilla.redhat.com/show_bug.cgi?id=1219191
      8910e063
  6. 07 5月, 2015 4 次提交
    • C
      tests: Remove redundant aarch64 tests · fd74e231
      Cole Robinson 提交于
      My commit 7b9de914 added some aarch64 CPU test cases. I wanted to test
      two different code paths but inadvertently added two of the same test
      cases.
      
      The second code path (using <cpu><model>host</model</cpu>) isn't easily
      exercised via the qemu tests anyways, I'll need to look elsewhere.
      
      Regardless, remove the redundant tests for now
      fd74e231
    • M
      processSerialChangedEvent: Close agent monitor early · 2af51483
      Michal Privoznik 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=890648
      
      So, imagine you've issued an API that involves guest agent. For
      instance, you want to query guest's IP addresses. So the API acquires
      QUERY_JOB, locks the guest agent and issues the agent command.
      However, for some reason, guest agent replies to initial ping
      correctly, but then crashes tragically while executing real command
      (in this case guest-network-get-interfaces). Since initial ping went
      well, libvirt thinks guest agent is accessible and awaits reply to the
      real command. But it will never come. What will is a monitor event.
      Our handler (processSerialChangedEvent) will try to acquire
      MODIFY_JOB, which will fail obviously because the other thread that's
      executing the API already holds a job. So the event handler exits
      early, and the QUERY_JOB is never released nor ended.
      
      The way how to solve this is to put flag somewhere in the monitor
      internals. The flag is called @running and agent commands are issued
      iff the flag is set. The flag itself is set when we connect to the
      agent socket. And unset whenever we see DISCONNECT event from the
      agent. Moreover, we must wake up all the threads waiting for the
      agent. This is done by signalizing the condition they're waiting on.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      2af51483
    • M
      qemuDomainShutdownFlags: check for domain activeness prior to guest presence · 21e8fc36
      Michal Privoznik 提交于
      Running shutdown with mode agent on a shutoff domain gives cryptic
      error message:
      
          virsh # shutdown --mode agent gentoo
          error: Failed to shutdown domain gentoo
          error: Guest agent is not responding: QEMU guest agent is not connected
      
      After this patch, the error is more clear:
      
          virsh # shutdown --mode agent gentoo
          error: Failed to shutdown domain gentoo
          error: Requested operation is not valid: domain is not running
      Reported-by: NMartin Kletzander <mkletzan@redhat.com>
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      21e8fc36
    • L
      lxc: don't up the veth interfaces unless explicitly asked to · c3cf3c43
      Lubomir Rintel 提交于
      Upping an interface for no reason and not configuring it is a cardinal sin.
      
      With the default addrgenmode if eui64 it sticks a link-local address to the
      interface. That is not good, as NetworkManager would see an address configured,
      assume the interface is already configured and won't touch it iself and the
      interface might stay unconfigured until the end of the days.
      
      Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1124721Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      c3cf3c43
  7. 06 5月, 2015 2 次提交