1. 26 8月, 2011 21 次提交
    • M
      hyperv: Add OpenWSMAN based client for the Hyper-V WMI API · e224b6f8
      Matthias Bolte 提交于
      Add a generator script to generate the structs and serialization
      information for OpenWSMAN.
      
      openwsman.h collects workarounds for problems in OpenWSMAN <= 2.2.6.
      There are also disabled sections that would use ws_serializer_free_mem
      but can't because it's broken in OpenWSMAN <= 2.2.6. Patches to fix
      this have been posted upstream.
      e224b6f8
    • M
      hyperv: Add driver skeleton · 4d6e6f4a
      Matthias Bolte 提交于
      4d6e6f4a
    • M
      hyperv: Add configure check for OpenWSMAN · f2e70643
      Matthias Bolte 提交于
      f2e70643
    • T
      schedinfo: update man page about virsh schedinfo command · 5f57c485
      Taku Izumi 提交于
      This patch updates the man page about virsh schedinfo command.
      
       - fix typo: 1844674407370955 -> 18446744073709551
       - describe the value 0 of vcpu_period and vcpu_quota parameters
      Signed-off-by: NTaku Izumi <izumi.taku@jp.fujitsu.com>
      5f57c485
    • K
      Fix persistent migration config save · 709b4c50
      KAMEZAWA Hiroyuki 提交于
      When a user migrates a domain by command as
      
      libvirt saves vm's domain XML config in destination host after migration.
      But it saves vm->def. Then, the saved XML contains some garbage.
      
        <domain type='kvm' id='50'>
                           ^^^^^^^^
        ...
         <console type='pty' tty='/dev/pts/5'>
                             ^^^^^^^^^^^^^^^^^
      
      Avoid saving unnecessary things by saving persistent vm definition.
      709b4c50
    • J
      rpc: Don't close connection if program is unknown · 22d744d0
      Jiri Denemark 提交于
      In case we add a new program in the future (we did that in the past and
      we are going to do it again soon) current daemon will behave badly with
      new client that wants to use the new program. Before the RPC rewrite we
      used to just send an error reply to any request with unknown program.
      With the RPC rewrite in 0.9.3 the daemon just closes the connection
      through which such request was sent. This patch fixes this regression.
      22d744d0
    • M
      remote: Refuse connecting to remote socket · c4f91b14
      Michal Privoznik 提交于
      If users wants to connect to remote unix socket, e.g.
      'qemu+unix://<remote>/system' currently the <remote> part is ignored,
      ending up connecting to localhost. Connecting to remote socket is not
      supported and user should have used TLS/TCP/SSH instead.
      c4f91b14
    • M
      virterror: Fix error message for VIR_ERR_INVALID_ARG · 6c7299d4
      Michal Privoznik 提交于
      When a detail message is presented, nobody expects prefix 'invalid
      argument in' but something more general, like 'invalid argument:'.
      6c7299d4
    • D
      Detect errors from the 'sendkey' command · 6b434da6
      Daniel P. Berrange 提交于
      On success, the 'sendkey' command does not return any data, so
      any data in the reply should be considered to be an error
      message
      
      * src/qemu/qemu_monitor_text.c: Treat non-"" reply data as an
        error message for 'sendkey' command
      6b434da6
    • D
      Fix keymap used to talk with QEMU · ce93f64b
      Daniel P. Berrange 提交于
      The QEMU 'sendkey' command expects keys to be encoded in the same
      way as the RFB extended keycode set. Specifically it wants extended
      keys to have the high bit of the first byte set, while the Linux
      XT KBD driver codeset uses the low bit of the second byte. To deal
      with this we introduce a new keymap 'RFB' and use that in the QEMU
      driver
      
      * include/libvirt/libvirt.h.in: Add VIR_KEYCODE_SET_RFB
      * src/qemu/qemu_driver.c: Use RFB keycode set instead of XT KBD
      * src/util/virkeycode-mapgen.py: Auto-generate the RFB keycode
        set from the XT KBD set
      * src/util/virkeycode.c: Add RFB keycode entry to table. Add a
        verify check on cardinality of the codeOffset table
      ce93f64b
    • J
      virsh: Clarify documentation of -d option · 7ac78e32
      Jiri Denemark 提交于
      The default is 4, not 0.
      7ac78e32
    • J
      qemu: Correctly label migration TCP socket · 855f7689
      Jiri Denemark 提交于
      855f7689
    • J
      security: Introduce SetSocketLabel · 520d91f8
      Jiri Denemark 提交于
      This API labels all sockets created until ClearSocketLabel is called in
      a way that a vm can access them (i.e., they are labeled with svirt_t
      based label in SELinux).
      520d91f8
    • J
      security: Rename SetSocketLabel APIs to SetDaemonSocketLabel · 4c85d96f
      Jiri Denemark 提交于
      The APIs are designed to label a socket in a way that the libvirt daemon
      itself is able to access it (i.e., in SELinux the label is virtd_t based
      as opposed to svirt_* we use for labeling resources that need to be
      accessed by a vm). The new name reflects this.
      4c85d96f
    • J
      Ignore unused streams in virStreamAbort · b136266d
      Jiri Denemark 提交于
      When virStreamAbort is called on a stream that has not been used yet,
      quite confusing error is returned: "this function is not supported by
      the connection driver". Let's just ignore such streams as there's
      nothing to abort anyway.
      b136266d
    • J
      Do not try to cancel non-existent migration on source · 3398eeda
      Jiri Denemark 提交于
      If migration failed on source daemon, the migration is automatically
      canceled by the daemon itself. Thus we don't need to call
      virDomainMigrateConfirm3(cancelled=1). Calling it doesn't cause any harm
      but the resulting error message printed in logs may confuse people.
      3398eeda
    • E
      snapshot: track current snapshot across restarts · 6766ff10
      Eric Blake 提交于
      Audit all changes to the qemu vm->current_snapshot, and make them
      update the saved xml file for both the previous and the new
      snapshot, so that there is always at most one snapshot with
      <active>1</active> in the xml, and that snapshot is used as the
      current snapshot even across libvirtd restarts.
      
      This patch does not fix the case of virDomainSnapshotDelete(,CHILDREN)
      where one of the children is the current snapshot; that will be later.
      
      * src/conf/domain_conf.h (_virDomainSnapshotDef): Alter member
      type and name.
      * src/conf/domain_conf.c (virDomainSnapshotDefParseString)
      (virDomainSnapshotDefFormat): Update clients.
      * docs/schemas/domainsnapshot.rng: Tighten rng.
      * src/qemu/qemu_driver.c (qemuDomainSnapshotLoad): Reload current
      snapshot.
      (qemuDomainSnapshotCreateXML, qemuDomainRevertToSnapshot)
      (qemuDomainSnapshotDiscard): Track current snapshot.
      6766ff10
    • E
      snapshot: only pass snapshot to qemu command line when reverting · 5e47785b
      Eric Blake 提交于
      Changing the current vm, and writing that change to the file
      system, all before a new qemu starts, is risky; it's hard to
      roll back if starting the new qemu fails for some reason.
      Instead of abusing vm->current_snapshot and making the command
      line generator decide whether the current snapshot warrants
      using -loadvm, it is better to just directly pass a snapshot all
      the way through the call chain if it is to be loaded.
      
      This frees up the last use of snapshot->def->active for qemu's
      use, so the next patch can repurpose that field for tracking
      which snapshot is current.
      
      * src/qemu/qemu_command.c (qemuBuildCommandLine): Don't use active
      field of snapshot.
      * src/qemu/qemu_process.c (qemuProcessStart): Add a parameter.
      * src/qemu/qemu_process.h (qemuProcessStart): Update prototype.
      * src/qemu/qemu_migration.c (qemuMigrationPrepareAny): Update
      callers.
      * src/qemu/qemu_driver.c (qemudDomainCreate)
      (qemuDomainSaveImageStartVM, qemuDomainObjStart)
      (qemuDomainRevertToSnapshot): Likewise.
      (qemuDomainSnapshotSetCurrentActive)
      (qemuDomainSnapshotSetCurrentInactive): Delete unused functions.
      5e47785b
    • E
      snapshot: don't leak resources on qemu snapshot failure · 861dc84b
      Eric Blake 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=727709
      mentions that if qemu fails to create the snapshot (such as what
      happens on Fedora 15 qemu, which has qmp but where savevm is only
      in hmp, and where libvirt is old enough to not try the hmp fallback),
      then 'virsh snapshot-list dom' will show a garbage snapshot entry,
      and the libvirt internal directory for storing snapshot metadata
      will have a bogus file.
      
      This fixes the fallout bug of polluting the snapshot-list with
      garbage on failure (the root cause of the F15 bug of not having
      fallback to hmp has already been fixed in newer libvirt releases).
      
      * src/qemu/qemu_driver.c (qemuDomainSnapshotCreateXML): Allocate
      memory before making snapshot, and cleanup on failure.  Don't
      dereference NULL if transient domain exited during snapshot creation.
      861dc84b
    • A
      libvirt: avoid dead store in virDomainMigrateVersion3 · 5495e45e
      Alex Jia 提交于
      * src/qemu/qemu_migration.c: avoid dead 'ret' assignment and silence
        clang warning.
      
      Detected by ccc-analyzer:
      
      libvirt.c:4277:5: warning: Value stored to 'ret' is never read
          ret = domain->conn->driver->domainMigrateConfirm3
          ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      5495e45e
    • A
      qemu: avoid dead store in doPeer2PeerMigrate3 · d69d3210
      Alex Jia 提交于
      * src/qemu/qemu_migration.c: avoid dead 'ret' assignment and silence
        clang warning.
      
      Detected by ccc-analyzer:
      
        CC     libvirt_driver_qemu_la-qemu_migration.lo
      qemu/qemu_migration.c:2046:5: warning: Value stored to 'ret' is never read
          ret = qemuMigrationConfirm(driver, sconn, vm,
          ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      d69d3210
  2. 25 8月, 2011 6 次提交
  3. 24 8月, 2011 6 次提交
    • E
      libvirt: log all flags parameters · ba0c2199
      Eric Blake 提交于
      I was testing a virsh patch, and wanted to see if I had passed the
      flags I thought.  But with LIBVIRT_DEBUG in the environment, I just
      saw:
      
      14:24:52.359: 15022: debug : virDomainSnapshotNum:15586 : dom=0xc9c180, (VM: name=rhel_6-64, uuid=48f8e8e7-e14f-0e14-02f0-ce71997bdcab),
      
      including a trailing space.  This fixes the issues.
      
      * src/libvirt.c: Log flag parameters, even if currently unused.
      (VIR_DOMAIN_DEBUG_0): Drop trailing comma in log.
      (VIR_DOMAIN_DEBUG_1): Split guts into...
      (VIR_DOMAIN_DEBUG_2): ...new macro.
      ba0c2199
    • E
      virsh: add list --managed-save · 13154027
      Eric Blake 提交于
      Knowing whether 'virsh start' will resume a saved image or do
      a fresh boot is useful enough to expose via 'virsh list'.
      
      Also, translate the state column.
      
      * tools/virsh.c (cmdList): add --managed-save flag
      * tools/virsh.pod (list): Document it.
      Based on a suggestion by Miklos Vajna.
      13154027
    • M
      6aa57af3
    • O
      qemu: Report error if qemu monitor command not found for BlockJob · 10b10024
      Osier Yang 提交于
      * src/qemu/qemu_monitor_json.c: Handle error "CommandNotFound" and
        report the error.
      
      * src/qemu/qemu_monitor_text.c: If a sub info command is not found,
        it prints the output of "help info", for other commands,
        "unknown command" is printed.
      
      Without this patch, libvirt always report:
      
        An error occurred, but the cause is unknown
      
      This patch was adapted from a patch by Osier Yang <jyang@redhat.com> to
      break out detection of unrecognized text monitor commands into a separate
      function.
      Signed-off-by: NAdam Litke <agl@us.ibm.com>
      10b10024
    • M
      esx: Refactor a repeated string in the generator · 678cd0f0
      Matthias Bolte 提交于
      678cd0f0
    • E
      maint: fix comment typos · 3a52b864
      Eric Blake 提交于
      * src/qemu/qemu_driver.c (qemuDomainSaveInternal): Fix typo.
      * src/conf/domain_event.c (virDomainEventDispatchMatchCallback):
      Likewise.
      * daemon/libvirtd.c (daemonRunStateInit): Likewise.
      * src/lxc/lxc_container.c (lxcContainerChildMountSort): Likewise.
      * src/util/virterror.c (virCopyError, virRaiseErrorFull): Likewise.
      * src/xenxs/xen_sxpr.c (xenParseSxprSound): Likewise.
      3a52b864
  4. 23 8月, 2011 7 次提交