1. 10 12月, 2013 19 次提交
    • C
      Created virObjectEventStateRegisterID · 6893f376
      Cédric Bosdonnat 提交于
      Keep virDomainEventStateRegisterID as a convenience wrapper around
      this new function.
      6893f376
    • C
      Renamed virDomainEventCallbackList* to virObjectEventCallbackList* · 1ee803e5
      Cédric Bosdonnat 提交于
      Keep the legacy Domain lifecycle event functions as is.
      1ee803e5
    • C
      Renamed virDomainEventState to virObjectEventState · 146434ef
      Cédric Bosdonnat 提交于
      Leave virDomainEventRegister and its Deregister brother as these are
      legacy functions only for domain lifecycle events.
      146434ef
    • C
      Renamed virDomainEventQueue to virObjectEventQueue · df328f93
      Cédric Bosdonnat 提交于
      The event queue will be generalized to hold events related
      to any object type.
      df328f93
    • C
      Renamed virDomainMeta to virObjectMeta · 9db86c87
      Cédric Bosdonnat 提交于
      The metadata struct will hold the unique identifiers for
      any type of object, though not all fields will be used
      for all types.
      9db86c87
    • C
      Rename virDomainEventCallback to virObjectEventCallback · f95b1921
      Cédric Bosdonnat 提交于
      The event callbacks will be generalized to handle events
      for any object type.
      f95b1921
    • C
      Added domain start/stop/define/undefine event unit tests · b775b48e
      Cédric Bosdonnat 提交于
      These unit tests are aiming at providing some help during the domain
      events refactoring.
      b775b48e
    • M
      spec: clean up libvirtd and virtlockd service mgmt · 81764660
      Michael Chapman 提交于
      - systemctl and the %systemd_* RPM macros can take multiple unit names
        in the one invocation. Make use of this to avoid repeated systemd
        daemon reloads.
      
      - virtlockd was only properly enabled and disabled when using systemd,
        but when systemd RPM macros were not available (e.g. on Fedora < 18).
        Make sure it's enabled when systemd RPM macros are present, or when
        using initscripts.
      
      - Always use "reload" on virtlockd, not "condrestart". This allows it to
        cleanly re-execute itself without losing running state. Ignore any
        error should the reload fail.
      
      - Move the reloading of virtlockd and libvirtd via their initscripts
        into the daemon package's %postun scriptlet. These services must be
        restarted after all of the libvirt-daemon-driver-* packages have
        been upgraded during the same RPM transaction.
      
      - Add a %triggerpostun executed only when upgrading an older
        libvirt-daemon. As an older package would only reload libvirtd during
        %post, and the newer package would only reload libvirtd during
        %postun, such an upgrade would not reload libvirtd at all without the
        trigger.
      Signed-off-by: NMichael Chapman <mike@very.puzzling.org>
      81764660
    • M
      virtlockd: use common exit path when out-of-memory · f1b17525
      Michael Chapman 提交于
      Also use a distinct, valid exit status for daemon re-execution failure.
      Signed-off-by: NMichael Chapman <mike@very.puzzling.org>
      f1b17525
    • M
      virtlockd: treat SIGHUP like SIGUSR1 · 8355d42d
      Michael Chapman 提交于
      SIGHUP is commonly used to instruct a daemon to reload its config. For
      now we should handle it in virtlockd just like SIGUSR1, rather than
      having it kill the process.
      Signed-off-by: NMichael Chapman <mike@very.puzzling.org>
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      8355d42d
    • M
      virtlockd: improve initscripts · 59d6e65d
      Michael Chapman 提交于
      - Use SIGUSR1, not SIGHUP, on reload. At present, virtlockd only
        responds to the former.
      
      - Fix PID file for virtlockd.
      
      - Do not start virtlockd in any runlevels by default. It needs to be
        explicitly selected in libvirt's qemu.conf anyway, so there is no
        need to have it running on all systems regardless.
      
      - Fix chkconfig priorities to ensure virtlockd is started before
        libvirtd is started, and stopped after libvirtd is stopped.
      
      - Add "Should-Start: virtlockd" to the libvirtd initscript's LSB header,
        for the same reason.
      
      - Add "Default-Stop" to both libvirtd and virtlockd initscripts. LSB
        does not guarantee that this defaults to the inverse of
        "Default-Start".
      Signed-off-by: NMichael Chapman <mike@very.puzzling.org>
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      59d6e65d
    • M
      virtlockd: improve systemd units · 1163fa36
      Michael Chapman 提交于
      - Pass VIRTLOCKD_ARGS through to virtlockd.
      
      - Use SIGUSR1, not SIGHUP, in ExecReload. At present, virtlockd only
        responds to the former.
      
      - Have "systemctl enable virtlockd.service" enable virtlockd.socket,
        rather than throw an error.
      
      - Make virtlockd.socket wanted by sockets.target, rather than
        multi-user.target. This is consistent with other socket units in
        Fedora, and it ensures that the socket is available before libvirtd is
        started.
      Signed-off-by: NMichael Chapman <mike@very.puzzling.org>
      1163fa36
    • M
      conf: don't format memtune with unlimited values · ea130e3b
      Martin Kletzander 提交于
      When changing memtune limits to unlimited with AFFECT_CONFIG, the
      values in virDomainDef are set to PARAM_UNLIMITED, which causes the
      whole <memtune> to be formatted.  This can be changed in all drivers,
      but it also makes sense to use the default (0) as another value for
      "unlimited", since zero memory limit makes no sense.
      Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
      ea130e3b
    • M
      8d7c668e
    • M
      qemu: Report VIR_DOMAIN_MEMORY_PARAM_UNLIMITED properly · 0c2fdd7b
      Martin Kletzander 提交于
      For dead domains that have no memtune limits, we return 0 instead of
      "unlimited", this patch fixes it to return PARAM_UNLIMITED.
      Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
      0c2fdd7b
    • M
      cgroups: Redefine what "unlimited" means wrt memory limits · 231656bb
      Martin Kletzander 提交于
      Since kernel 3.12 (commit 34ff8dc08956098563989d8599840b130be81252 in
      linux-stable.git in particular) the value for 'unlimited' in cgroup
      memory limits changed from LLONG_MAX to ULLONG_MAX.  Due to rather
      unfortunate choice of our VIR_DOMAIN_MEMORY_PARAM_UNLIMITED constant
      (which we transfer as an unsigned long long in Kibibytes), we ended up
      with the situation described below (applies to x86_64):
      
       - 2^64-1 (ULLONG_MAX) -- "unlimited" in kernel = 3.12
      
       - 2^63-1 (LLONG_MAX) -- "unlimited" in kernel < 3.12
       - 2^63-1024 -- our PARAM_UNLIMITED scaled to Bytes
      
       - 2^53-1 -- our PARAM_UNLIMITED unscaled (in Kibibytes)
      
      This means that when any number within (2^63-1, 2^64-1] is read from
      memory cgroup, we are transferring that number instead of "unlimited".
      Unfortunately, changing VIR_DOMAIN_MEMORY_PARAM_UNLIMITED would break
      ABI compatibility and thus we have to resort to a different solution.
      
      With this patch every value greater than PARAM_UNLIMITED means
      "unlimited".  Even though this may seem misleading, we are already in
      such unclear situation when running 3.12 kernel with memory limits set
      to 2^63.
      
      One example showing most of the problems at once (with kernel 3.12.2):
       # virsh memtune asdf --hard-limit 9007199254740991 --swap-hard-limit -1
       # echo 12345678901234567890 >\
      /sys/fs/cgroup/memory/machine/asdf.libvirt-qemu/memory.soft_limit_in_bytes
       # virsh memtune asdf
       hard_limit     : 18014398509481983
       soft_limit     : 12056327051986884
       swap_hard_limit: 18014398509481983
      Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
      231656bb
    • C
      qemu: hotplug: Fix adding USB devices to the driver list · 586b0ed8
      Cole Robinson 提交于
      We were unconditionally removing the device from the host list, when it
      should only be done on error.
      
      This fixes USB collision detection when hotplugging the same device to
      two guests.
      586b0ed8
    • C
      qemu: hotplug: Fix double free on USB collision · 5953a737
      Cole Robinson 提交于
      If we hit a collision, we free the USB device while it is still part
      of our temporary USBDeviceList. When the list is unref'd, the device
      is free'd again.
      
      Make the initial device freeing dependent on whether it is present
      in the temporary list or not.
      5953a737
    • C
      qemu: hotplug: Only label hostdev after checking device conflicts · ee414b5d
      Cole Robinson 提交于
      Similar to what Jiri did for cgroup setup/teardown in 05e149f9, push
      it all into the device handler functions so we can do the necessary prep
      work before claiming the device.
      
      This also fixes hotplugging USB devices by product/vendor (virt-manager's
      default behavior):
      
      https://bugzilla.redhat.com/show_bug.cgi?id=1016511
      ee414b5d
  2. 09 12月, 2013 1 次提交
  3. 07 12月, 2013 6 次提交
  4. 06 12月, 2013 8 次提交
  5. 05 12月, 2013 6 次提交