1. 13 11月, 2010 7 次提交
  2. 12 11月, 2010 24 次提交
    • C
      rpm: Fix summary wording · 34d8ca2b
      Cole Robinson 提交于
      34d8ca2b
    • J
      90afacb3
    • M
      phyp: Don't do a flags check in the storage driver · d941eb13
      Matthias Bolte 提交于
      This makes the storage driver fail when the connection is
      opened with the VIR_CONNECT_RO flag, resulting in a read-only
      connection with no storage driver.
      d941eb13
    • M
      qemu: Add qemu-system-s390x to the emulators list · f6d9a3e2
      Matthias Bolte 提交于
      f6d9a3e2
    • S
      macvtap: convert nl msg construction to use libnl · 77e7c13b
      Stefan Berger 提交于
      In a first step I am converting the netlink message construction in
      macvtap code to use libnl. It's pretty much a 1:1 conversion except that
      now the message needs to be allocated and deallocated.
      77e7c13b
    • L
      Do a better job of validating IP and MAC addresses in network.rng · 76654409
      Laine Stump 提交于
      IP addresses and MAC addresses had been defined in the RNG simply as
      <text/> meaning that, according to the RNG, any string could go in
      there. Of course the C parsing code does a much better job of
      validating, but we may as well have this describing the contents
      accurately (even though it's currently only used during "make check").
      76654409
    • L
      re-indent network.rng following structural change · 5983f2d2
      Laine Stump 提交于
      This commit is whitespace changes only, do avoid obscuring actual code
      changes.
      5983f2d2
    • L
      Put network.rng contents inside <grammar> for uniformity with other RNGs · 3d10d348
      Laine Stump 提交于
      All the other RNG files in libvirt are enclosed within <grammar>. This
      commit makes the syntactical changes necessary to make network.rng fit
      that pattern. (This is the first step in adding some data type
      definitions to network.rng for more exact validation of IP and MAC
      addresses).
      
      Formatting changes (indentation) will be done in a subsequent commit,
      so that actual changes to the code won't be obscured by whitespace.
      3d10d348
    • J
      virt-aa-helper should require <uuid> in XML · 29318e17
      Jamie Strandboge 提交于
      When <uuid> is not in the XML, a virUUIDGenerate() ends up being called which
      is unnecessary and can lead to crashes if /dev/urandom isn't available
      because virRandomInitialize() is not called within virt-aa-helper. This patch
      adds verify_xpath_context() and updates caps_mockup() to use it.
      
      Bug-Ubuntu: https://launchpad.net/bugs/672943
      29318e17
    • M
      esx: Support SMBIOS host mode · 52888813
      Matthias Bolte 提交于
      52888813
    • L
      45dc5a14
    • L
      ignore SELinuxSetFilecon error in SELinuxSetSecurityFileLabel if on nfs · 5b04f42c
      Laine Stump 提交于
      If virDomainAttachDevice() was called with an image that was located
      on a root-squashed NFS server, and in a directory that was unreadable
      by root on the machine running libvirtd, the attach would fail due to
      an attempt to change the selinux label of the image with EACCES (which
      isn't covered as an ignore case in SELinuxSetFilecon())
      
      NFS doesn't support SELinux labelling anyway, so we mimic the failure
      handling of commit 93a18bba, which
      just ignores the errors if the target is on an NFS filesystem (in
      SELinuxSetSecurityAllLabel() only, though.)
      
      This can be seen as a follow-on to commit
      347d266c, which ignores file open
      failures of files on NFS that occur directly in
      virDomainDiskDefForeachPath() (also necessary), but does not ignore
      failures in functions that are called from there (eg
      SELinuxSetSecurityFileLabel()).
      5b04f42c
    • D
      Fix reference counting bug in virsh console · a9261567
      Daniel P. Berrange 提交于
      The event watches need to be removed before the event loop
      terminates, otherwise they cause a dangling reference to
      be held on the virStreamPtr, which in turns holds a reference
      on virConnectPtr, which in turn causes errors like
      
        "Failed to disconnect from the hypervisor"
      
      * tools/console.c: Remove watches before event loop quits
      * tools/virsh.c: Print out dangling reference count
      a9261567
    • D
      Wire up virDomainOpenConsole for LXC, Xen and UML · 5fb9db27
      Daniel P. Berrange 提交于
      Introduce implementations of the virDomainOpenConsole() API
      for LXC, Xen and UML drivers.
      
      * src/lxc/lxc_driver.c, src/lxc/lxc_driver.c,
        src/xen/xen_driver.c: Wire up virDomainOpenConsole
      5fb9db27
    • D
      Fix busy-wait loop on closed file descriptor · c5d1a995
      Daniel P. Berrange 提交于
      When closing open streams after a client quits, the event
      callback was not removed. This mean that poll() was using
      a closed FD and returning POLLNVAL in a busy-wait loop.
      
      * daemon/stream.c: Disconnect stream callbacks
      c5d1a995
    • D
      Re-write virsh console to use streams · dad4b5d4
      Daniel P. Berrange 提交于
      This re-writes the 'virsh console' command so that it uses
      the new streams API. This lets it run remotely and/or as a
      non-root user. This requires that virsh be linked against
      the simple event loop from libvirtd in daemon/event.c
      As an added bonus, it can now connect to any console device,
      not just the first one.
      
      * tools/Makefile.am: Link to event.c
      * tools/console.c, tools/console.h: Rewrite to use the
        virDomainOpenConsole() APIs with streams
      * tools/virsh.c: Support choosing the console name
        via --devname $NAME
      dad4b5d4
    • D
      Convert daemon/events.c to use virMutex and virThread · 77960c0e
      Daniel P. Berrange 提交于
      The code currently uses pthreads APIs directly. This is not
      portable to Win32 threads. Switch it over to use the portability
      APIs. Also add a wrapper for pipe() which is subtely different
      on Win32
      
      * daemon/event.c: Switch to use virMutex & virThread.
      77960c0e
    • D
      Introduce portability APIs for creating threads · 64d67507
      Daniel P. Berrange 提交于
      The util/threads.c/h code already has APIs for mutexes,
      condition variables and thread locals. This commit adds
      in code for actually creating threads.
      
      * src/libvirt_private.syms: Export new symbols
      * src/util/threads.h: Define APIs virThreadCreate, virThreadSelf,
        virThreadIsSelf and virThreadJoin
      * src/util/threads-win32.c, src/util/threads-win32.h: Win32
        impl of threads
      * src/util/threads-pthread.c, src/util/threads-pthread.h: POSIX
        impl of threads
      64d67507
    • D
      Support virDomainOpenConsole with QEMU · bdb28f44
      Daniel P. Berrange 提交于
      This provides an implementation of the virDomainOpenConsole
      API with the QEMU driver. For the streams code, this reuses
      most of the code previously added for the tunnelled migration
      streams since it is generic.
      
      * src/qemu/qemu_driver.c: Support virDomainOpenConsole
      bdb28f44
    • D
      Add a generic internal API for handling any FD based stream · 7c08fcc4
      Daniel P. Berrange 提交于
      To avoid the need for duplicating implementations of virStream
      drivers, provide a generic implementation that can handle any
      FD based stream. This code is copied from the existing impl
      in the QEMU driver, with the locking moved into the stream
      impl, and addition of a read callback
      
      The FD stream code will refuse to operate on regular files or
      block devices, since those can't report EAGAIN properly when
      they would block on I/O
      
      * include/libvirt/virterror.h, include/libvirt/virterror.h: Add
        VIR_FROM_STREAM error domain
      * src/qemu/qemu_driver.c: Remove code obsoleted by the new
        generic streams driver.
      * src/fdstream.h, src/fdstream.c, src/fdstream.c,
        src/libvirt_private.syms: Generic reusable FD based streams
      7c08fcc4
    • D
      Lower logging level in remote driver streams · 4ef40df1
      Daniel P. Berrange 提交于
      Now that bi-directional, non-blocking streams are supported
      in the remote driver, some of the VIR_WARN statements need
      to be reduced to VIR_DEBUG.
      
      * src/remote/remote_driver.c: Lower logging level
      4ef40df1
    • D
      Remote driver client and server for virDomainOpenConsole · 73d8b03c
      Daniel P. Berrange 提交于
      This provides an implementation of the virDomainOpenConsole
      API for the remote driver client and server.
      
      * daemon/remote.c: Server side impl
      * src/remote/remote_driver.c: Client impl
      * src/remote/remote_protocol.x: Wire definition
      73d8b03c
    • D
      Introduce a virDomainOpenConsole API · 88a9b382
      Daniel P. Berrange 提交于
      To enable virsh console (or equivalent) to be used remotely
      it is necessary to provide remote access to the /dev/pts/XXX
      pseudo-TTY associated with the console/serial/parallel device
      in the guest. The virStream API provide a bi-directional I/O
      stream capability that can be used for this purpose. This
      patch thus introduces a virDomainOpenConsole API that uses
      the stream APIs.
      
      * src/libvirt.c, src/libvirt_public.syms,
        include/libvirt/libvirt.h.in, src/driver.h: Define the
        new virDomainOpenConsole API
      * src/esx/esx_driver.c, src/lxc/lxc_driver.c,
        src/opennebula/one_driver.c, src/openvz/openvz_driver.c,
        src/phyp/phyp_driver.c, src/qemu/qemu_driver.c,
        src/remote/remote_driver.c, src/test/test_driver.c,
        src/uml/uml_driver.c, src/vbox/vbox_tmpl.c,
        src/xen/xen_driver.c, src/xenapi/xenapi_driver.c: Stub
        API entry point
      88a9b382
    • D
      Support callbacks on virStream APIs in remote driver client · 51269265
      Daniel P. Berrange 提交于
      The current remote driver code for streams only supports
      blocking I/O mode. This is fine for the usage with migration
      but is a problem for more general use cases, in particular
      bi-directional streams.
      
      This adds supported for the stream callbacks and non-blocking
      I/O. with the minor caveat is that it doesn't actually do
      non-blocking I/O for sending stream data, only receiving it.
      A future patch will try to do non-blocking sends, but this is
      quite tricky to get right.
      
      * src/remote/remote_driver.c: Allow non-blocking I/O for
        streams and support callbacks
      51269265
  3. 11 11月, 2010 4 次提交
    • D
      Fix LXC container console device setup · 2fbec002
      Daniel P. Berrange 提交于
      The /dev/console device inside the container must NOT map
      to the real /dev/console device node, since this allows the
      container control over the current host console. A fun side
      effect of this is that starting a container containing a
      real Fedora OS will kill off your X server.
      
      Remove the /dev/console node, and replace it with a symlink
      to the primary console TTY
      
      * src/lxc/lxc_container.c: Replace /dev/console with a
        symlink to /dev/pty/0
      * src/lxc/lxc_controller.c: Remove /dev/console from cgroups
        ACL
      2fbec002
    • E
      virsh: supply long option for -V · 51c83a2b
      Eric Blake 提交于
      * tools/virsh.c (vshParseArgv): Use NULL instead of 0 for pointer,
      and symbolic names for has_arg.  Give --version an optional arg.
      (vshUsage): Document this.
      * tools/virsh.pod: Likewise.
      51c83a2b
    • C
      qemu: Add flag to force a CDROM eject · 96d52fcf
      Cole Robinson 提交于
      QEMU allows forcing a CDROM eject even if the guest has locked the device.
      Expose this via a new UpdateDevice flag, VIR_DOMAIN_DEVICE_MODIFY_FORCE.
      
      This has been requested for RHEV:
      
      https://bugzilla.redhat.com/show_bug.cgi?id=626305
      
      v2: Change flag name, bool cleanups
      96d52fcf
    • E
      rpm: fix /var/lib/libvirt permissions · f970d802
      Eric Blake 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=649511
      
      Regression of forcing 0700 permissions (which breaks guest startup
      because the qemu user can't see /var/lib/libvirt/*.monitor) was
      introduced in commit 66823690, as part of libvirt 0.8.2.
      
      * libvirt.spec.in (%files): Drop %{_localstatedir}/lib/libvirt,
      since libvirt depends on libvirt-client.
      (%files client): Guarantee 755 permissions on
      %(_localstatedir}/lib/libvirt, since the qemu user must be able to
      do pathname resolution to a subdirectory.
      f970d802
  4. 10 11月, 2010 5 次提交
    • D
      Augment bug reporting documentation · dc844b90
      Daniel Veillard 提交于
      With some instruction on how to attach useful gdb backtraces
      dc844b90
    • A
      Allow non-file disk backingStores · 9c7c4a4f
      Adam Litke 提交于
      I am trying to use a qcow image with libvirt where the backing 'file' is a
      qemu-nbd server.  Unfortunately virDomainDiskDefForeachPath() assumes that
      backingStore is always a real file so something like 'nbd:0:3333' is rejected
      because a file with that name cannot be accessed.  Note that I am not worried
      about directly using nbd images.  That would require a new disk type with XML
      markup, etc.  I only want it to be permitted as a backingStore
      
      The following patch implements danpb's suggestion:
      > I think I'm inclined to push the logic for skipping NBD one stage higher.
      > I'd rather expect virStorageFileGetMetadata() to return all backing
      > stores, even if not files. The virDomainDiskDefForeachPath() method
      > should definitely ignore non-file backing stores though.
      >
      > So what I'm thinking is to extend the virStorageFileMetadata struct and
      > just add a 'bool isFile' field to it. Default this field to true, unless
      > you see the prefix of nbd: in which case set it to false. The
      > virDomainDiskDefForeachPath() method can then skip over any backing
      > store with isFile == false
      Signed-off-by: NAdam Litke <agl@us.ibm.com>
      Cc: Daniel P. Berrange <berrange@redhat.com>
      9c7c4a4f
    • M
      xencapstest: Don't fail when Xen is installed · c2e9e907
      Matthias Bolte 提交于
      xencapstest calls xenHypervisorMakeCapabilitiesInternal with conn == NULL
      which calls xenDaemonNodeGetTopology with conn == NULL when a recent
      enough Xen was detected (sys_interface_version >= SYS_IFACE_MIN_VERS_NUMA).
      But xenDaemonNodeGetTopology insists in having conn != NULL and fails,
      because it expects to be able to talk to an actual xend.
      
      We cannot do that in a 'make check' test. Therefore, only call the xend
      subdriver function when conn isn't NULL.
      
      Reported by Andy Howell and Jim Fehlig.
      c2e9e907
    • L
      virsh: fix non-literal string format · ff4a31d9
      Laine Stump 提交于
      These are in the newly added -V output.
      ff4a31d9
    • S
      bye to close(), welcome to VIR_(FORCE_)CLOSE() · 60ae1c34
      Stefan Berger 提交于
      Using automated replacement with sed and editing I have now replaced all
      occurrences of close() with VIR_(FORCE_)CLOSE() except for one, of
      course. Some replacements were straight forward, others I needed to pay
      attention. I hope I payed attention in all the right places... Please
      have a look. This should have at least solved one more double-close
      error.
      60ae1c34