1. 09 7月, 2014 23 次提交
    • P
      security: AppArmor: Implement per-image seclabel restore · 15cad657
      Peter Krempa 提交于
      Refactor the existing code to allow re-using it for the per-image label
      restore too.
      15cad657
    • P
      security: DAC: Implement per-image seclabel set · 7077cfef
      Peter Krempa 提交于
      Refactor the code and reuse it to implement the functionality.
      7077cfef
    • P
      security: DAC: Implement per-image seclabel restore · 4f2170dc
      Peter Krempa 提交于
      Refactor the existing code to allow re-using it for the per-image label
      restore too.
      4f2170dc
    • P
      security: selinux: Implement per-image seclabel set · 49839317
      Peter Krempa 提交于
      Refactor the code and reuse it to implement the functionality.
      49839317
    • P
      security: selinux: Implement per-image seclabel restore · b2790e33
      Peter Krempa 提交于
      Refactor the existing code to allow re-using it for the per-image label
      restore too.
      b2790e33
    • P
      security: Introduce APIs to label single images · 1797128e
      Peter Krempa 提交于
      Add security driver functions to label separate storage images using the
      virStorageSource definition. This will help to avoid the need to do ugly
      changes to the disk struct and use the source directly.
      1797128e
    • P
      locking: Add APIs to lock individual image files · 68f0deb0
      Peter Krempa 提交于
      Add helper APIs to manage individual image files rather than disks. To
      simplify the addition some parts of the code were refactored in this
      patch.
      68f0deb0
    • P
      qemu: cgroup: Setup only the top level disk image for read-write access · 1ba14d6d
      Peter Krempa 提交于
      Only the top level gets writes, so the rest of the backing chain
      requires only read-only access.
      1ba14d6d
    • P
      qemu: cgroup: Add functions to set cgroup image stuff on individual imgs · aa53c77e
      Peter Krempa 提交于
      Add functions that will allow to set all the required cgroup stuff on
      individual images taking a virStorageSourcePtr. Also convert functions
      designed to setup whole backing chain to take advantage of the change.
      aa53c77e
    • M
      virEventPollDispatchHandles: Honour array boundaries · 52f50a71
      Michal Privoznik 提交于
      When dispatching events from the event loop, the array of registered
      handles is searched to see what handles happened an event on. However,
      the array is searched in weird way: the check for the array boundaries
      is at the end, so we may touch the elements after the end of the
      array:
      
      ==10434== Invalid read of size 4
      ==10434==    at 0x52D06B6: virEventPollDispatchHandles (vireventpoll.c:486)
      ==10434==    by 0x52D10E4: virEventPollRunOnce (vireventpoll.c:660)
      ==10434==    by 0x52CF207: virEventRunDefaultImpl (virevent.c:308)
      ==10434==    by 0x1639D1: virNetServerRun (virnetserver.c:1139)
      ==10434==    by 0x1220DC: main (libvirtd.c:1507)
      ==10434==  Address 0xc11ff04 is 4 bytes after a block of size 960 alloc'd
      ==10434==    at 0x4C2CA5E: realloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
      ==10434==    by 0x52AD378: virReallocN (viralloc.c:245)
      ==10434==    by 0x52AD46E: virExpandN (viralloc.c:294)
      ==10434==    by 0x52AD5B1: virResizeN (viralloc.c:352)
      ==10434==    by 0x52CF2EC: virEventPollAddHandle (vireventpoll.c:116)
      ==10434==    by 0x52CEF5B: virEventAddHandle (virevent.c:78)
      ==10434==    by 0x11F69A90: nodeStateInitialize (node_device_udev.c:1797)
      ==10434==    by 0x53C3C89: virStateInitialize (libvirt.c:743)
      ==10434==    by 0x120563: daemonRunStateInit (libvirtd.c:919)
      ==10434==    by 0x5317719: virThreadHelper (virthread.c:197)
      ==10434==    by 0x8376F39: start_thread (in /lib64/libpthread-2.17.so)
      ==10434==    by 0x8A7F9FC: clone (in /lib64/libc-2.17.so)
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      52f50a71
    • P
      util: XML: Avoid forward function declaration · 036dd423
      Peter Krempa 提交于
      Recursive functions apparently don't need them, but I originally thought
      they do.
      036dd423
    • P
      util: cgroup: Fix build on non-cgroup platforms · 464f7678
      Peter Krempa 提交于
      Commit a48f4451 introduced a helper
      function to convert cgroup device mode to string. The function was only
      conditionally compiled on platforms that support cgroup. This broke the
      build when attempting to export the symbol:
      
        CCLD     libvirt.la
        Cannot export virCgroupGetDevicePermsString: symbol not defined
      
      Move the function out of the ifdef, as it doesn't really depend on the
      cgroup code being present.
      464f7678
    • J
      Allow updating names in DHCP hosts by matching IPs. · 2d49518a
      Ján Tomko 提交于
      Also fix the error message if an IPv6 host with no MAC
      is not found.
      
      https://bugzilla.redhat.com/show_bug.cgi?id=991290
      2d49518a
    • J
    • J
    • J
      Actually fix the spec file · a3a2080e
      Ján Tomko 提交于
      There was a '%' missing before the last {rhel}.
      Tested on RHEL-7 this time.
      a3a2080e
    • J
      libxl: fix crash in migrate confirm for transient domains · 72a84539
      Jim Fehlig 提交于
      In libxlDomainMigrationConfirm(), a transient domain is removed
      from the domain list after successful migration.  Later in cleanup,
      the domain object is unlocked, resulting in a crash
      
      Program received signal SIGSEGV, Segmentation fault.
      [Switching to Thread 0x7fb4208ed700 (LWP 12044)]
      0x00007fb4267251e6 in virClassIsDerivedFrom (klass=0xdeadbeef,
        parent=0x7fb42830d0c0) at util/virobject.c:169
      169	        if (klass->magic == parent->magic)
      (gdb) bt
      0  0x00007fb4267251e6 in virClassIsDerivedFrom (klass=0xdeadbeef,
        parent=0x7fb42830d0c0) at util/virobject.c:169
      1  0x00007fb42672591b in virObjectIsClass (anyobj=0x7fb4100082b0,
        klass=0x7fb42830d0c0) at util/virobject.c:365
      2  0x00007fb42672583c in virObjectUnlock (anyobj=0x7fb4100082b0)
        at util/virobject.c:338
      3  0x00007fb41a8c7d7a in libxlDomainMigrationConfirm (driver=0x7fb4100404c0,
        vm=0x7fb4100082b0, flags=1, cancelled=0) at libxl/libxl_migration.c:583
      
      Fix by setting the virDomainObjPtr to NULL after removing it from
      the domain list.
      72a84539
    • J
      libxl: acquire job though begin phase only · bab7ad4c
      Jim Fehlig 提交于
      During migration, the libxl driver starts a modify job in the
      begin phase, ending the job in the confirm phase.  This is
      essentially VIR_MIGRATE_CHANGE_PROTECTION semantics, but the
      driver does not support that flag.  Without CHANGE_PROTECTION
      support, the job would never be terminated in error conditions
      where migrate confirm phase is not executed.  Further attempts
      to modify the domain would result in failure to acquire a job
      after LIBXL_JOB_WAIT_TIME.
      
      Similar to the qemu driver, end the job in the begin phase.
      Protecting the domain object across all phases of migration can
      be done in a future patch adding CHANGE_PROTECTION support.
      bab7ad4c
    • J
      libxl: remove domain when migration prepare fails · c4f66bb8
      Jim Fehlig 提交于
      In libxlDomainMigrationPrepare(), a new virDomainObj is created
      from the incoming domain def and added to the driver's domain
      list, but never removed if there are subsequent failures during
      the prepare phase.
      
      targethost# virsh list --all
      
      sourcehost# virsh migrate --live dom xen+ssh://targethost/system
         error: operation failed: Fail to create socket for incoming migration.
      
      targethost# virsh list --all
      error: Failed to list domains
      error: name in virGetDomain must not be NULL
      
      After adding code to remove the domain on prepare failure, noticed
      that libvirtd crashed due to double free of the virDomainDef.  Similar
      to the qemu driver, pass a pointer to virDomainDefPtr so it can be set
      to NULL once a virDomainObj is created from it.
      c4f66bb8
    • J
      libxl: rename goto label · 92cd6b67
      Jim Fehlig 提交于
      In libxlDomainMigrationPrepare(), the cleanup label handles error
      conditions and should be renamed as such for clarity.
      92cd6b67
    • C
      LXC: fix an improper comments for lxcDomainDestroyFlags · 110b959f
      Chen Hanxiao 提交于
      Currently @flag is not used yet.
      Signed-off-by: NChen Hanxiao <chenhanxiao@cn.fujitsu.com>
      110b959f
    • G
      qemu: raise an eror when using aio=native without cache=none · 05838400
      Giuseppe Scrivano 提交于
      Qemu will fallback to aio=threads when the cache mode doesn't use
      O_DIRECT, even if aio=native was explictly set.
      
      Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1086704Signed-off-by: NGiuseppe Scrivano <gscrivan@redhat.com>
      05838400
    • E
      maint: update to latest gnulib · 0ea6512d
      Eric Blake 提交于
      When run under an environment that inherits an ignored SIGPIPE
      (hello, annoying buildbots), a syntax-check was producing quite
      a bit of noise, such as:
      
      > prohibit_argmatch_without_use
      > grep: write error
      > grep: write error
      > /bin/sed: couldn't write 25 items to stdout: Broken pipe
      > sed: couldn't write 1 item to stdout: Broken pipe
      > 0.46 prohibit_argmatch_without_use
      
      This has been fixed upstream in gnulib.  There are several other
      portability improvements in our regular submodule update.
      
      * .gnulib: Update to latest, in part for quieter syntax-check.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      0ea6512d
  2. 08 7月, 2014 17 次提交