1. 14 4月, 2011 8 次提交
    • D
      Add missing checks for QEMU domain state in tunables APIs · 97263cb1
      Daniel P. Berrange 提交于
      The methods qemuDomain{Get,Set}{Memory,Blkio,Scheduler}Parameters
      all forgot to do a check on virDomainIsActive(), resulting in bogus
      error messages from later parts of their impl
      
      * src/qemu/qemu_driver.c: Add missing checks on virDomainIsActive()
      97263cb1
    • M
      phyp: Fix too small buffer allocation in phypAttachDevice · 28e938a9
      Matthias Bolte 提交于
      sizeof(domain->name) is the wrong thing. Instead of using strdup here
      rewrite escape_specialcharacters to allocate the buffer itself.
      
      Add a contains_specialcharacters to be used in phypOpen, as phypOpen is
      not interested in the escaped version.
      28e938a9
    • M
    • M
      e69aa733
    • M
      phyp: Reduce code duplication in error and success paths · d765a6f0
      Matthias Bolte 提交于
      Also fix memory leaks along the way in phypCreateServerSCSIAdapter and
      phypAttachDevice.
      d765a6f0
    • M
      phyp: Remove stack allocating a 4kb volume key and fix related memory leaks · 444fd07a
      Matthias Bolte 提交于
      Don't pre-allocate 4kb per key, make phypVolumeGetKey allocate the memory.
      
      Make phypBuildVolume return the volume key instead of using pre-allocated
      memory to store it.
      
      Also fix a memory leak in phypVolumeLookupByName when phypVolumeGetKey
      fails. Fix another memory leak in phypVolumeLookupByPath in the success
      path. Fix phypVolumeGetXMLDesc leaking voldef.key.
      444fd07a
    • D
      Remove C99 variable declare in PHYP network driver · 4bfab4a0
      Daniel P. Berrange 提交于
      Move the virInterfacePtr declaration to the top of the
      function to avoid jump uninitialized variable warnings
      
      * src/phyp/phyp_driver.c: Fix var declaration
      4bfab4a0
    • E
      PHYP: Adding network interface · 67eecd16
      Eduardo Otubo 提交于
      This is the implementation of the previous patch now using virInterface*
      API. Ended up this patch got much more simpler, smaller and easier to
      review. Here is some details:
      
        * MAC size and interface name are fixed due to specifications on HMC,
          both are created automatically and CAN'T be specified from user. They
          have the following format:
      
           * MAC: 122980003002
           * Interface name: U9124.720.067BE8B-V3-C0
      
        * I did replaced all the |grep|sed following the comments Eric Blake
          did on the last patch.
      
        * According to my last email, It's not possible to create a network
          interface without assigning it to a specific lpar. Then, I am using
          this very minimalistic XML file for testing:
      
           <interface type='ethernet' name='LPAR01'>
           </interface>
      
          In this file I am using "name" as the lpar name which I am going to
          assign the new network interface. I couldn't find a better way to
          refer to it. Comments are welcome.
      
        * Regarding the fact I am sleeping one second waiting for the HMC to
          complete creation of the interface, I don't have means to check
          if the whole process is done. All I do is execute a command, wait
          until is complete (which is not enough in this case) check
          the return and the exit status. The process of actually creating
          a networking interface seems to take a little longer than just the
          return of the ssh control.
      67eecd16
  2. 13 4月, 2011 2 次提交
    • H
      qemu: fix a dead-lock problem · 30c551ab
      Hu Tao 提交于
      In qemuDomainObjBeginJobWithDriver, when virCondWaitUntil timeouts,
      the function tries to call qemuDriverLock with virDomainObj locked,
      this causes the dead-lock problem. This patch fixes this.
      30c551ab
    • J
      util: Fix crash when removing entries during hash iteration · 5c53160a
      Jiri Denemark 提交于
      Commit 9677cd33 made it possible to
      remove current entry when iterating through all hash entries. However,
      it didn't properly handle a special case of removing first entry
      assigned to a given key which contains several entries in its collision
      list.
      5c53160a
  3. 12 4月, 2011 2 次提交
    • M
      Fix possible infinite loop in remote driver · 50e4b919
      Michal Privoznik 提交于
      When we take out completed calls from queue we might end up
      in circular pointer. We don't want pointer to previous item
      point to element taken out.
      50e4b919
    • E
      maint: fix grammar errors · 99fa3080
      Eric Blake 提交于
      Jim Meyering recently improved gnulib to catch various grammar
      errors during 'make syntax-check'.
      
      * .gnulib: Update to latest, for syntax-check improvements.
      * include/libvirt/libvirt.h.in (virConnectAuthCallbackPtr): Use
      cannot rather than two words.
      * src/driver.c: Likewise.
      * src/driver.h (VIR_SECRET_GET_VALUE_INTERNAL_CALL): Likewise.
      * src/remote/remote_driver.c (initialize_gnutls): Likewise.
      * src/util/pci.c (pciBindDeviceToStub): Likewise.
      * src/storage/storage_backend.c (virStorageBackendCreateQemuImg):
      Likewise.
      (virStorageBackendUpdateVolTargetInfoFD): Avoid doubled word.
      * docs/formatdomain.html.in: Likewise.
      * src/qemu/qemu_process.c (qemuProcessStart): Likewise.
      * cfg.mk (exclude_file_name_regexp--sc_prohibit_can_not)
      (exclude_file_name_regexp--sc_prohibit_doubled_word): Exclude
      existing translation problems.
      99fa3080
  4. 10 4月, 2011 1 次提交
  5. 09 4月, 2011 3 次提交
  6. 08 4月, 2011 8 次提交
  7. 07 4月, 2011 9 次提交
    • O
      qemu: Remove the managed state file only if restoring succeeded · a73bbfc8
      Osier Yang 提交于
      1) Both "qemuDomainStartWithFlags" and "qemuAutostartDomain" try to
      restore the domain from managedsave'ed image if it exists (by
      invoking "qemuDomainObjRestore"), but it unlinks the image even
      if restoring fails, which causes data loss. (This problem exists
      for "virsh managedsave dom; virsh start dom").
      
      The fix for is to unlink the managed state file only if restoring
      succeeded.
      
      2) For "virsh save dom; virsh restore dom;", it can cause data
      corruption if one reuse the saved state file for restoring. Add
      doc to tell user about it.
      
      3) In "qemuDomainObjStart", if "managed_save" is NULL, we shouldn't
      fallback to start the domain, skipping it to cleanup as a incidental
      fix. Discovered by Eric.
      a73bbfc8
    • W
      reattach pci devices when qemuPrepareHostdevPCIDevices() failed · a4efb2e3
      Wen Congyang 提交于
      Reattach all pci devices that we detached when qemuPrepareHostdevPCIDevices()
      failed.
      a4efb2e3
    • W
      reattach pci device when pciBindDeviceToStub() failed · 4e8969eb
      Wen Congyang 提交于
      We should bind pci device to original driver when pciBindDeviceToStub() failed.
      If the pci device is not bound to any driver before calling pciBindDeviceToStub(),
      we should only unbind it from pci-stub. If it is bound to pci-stub, we should not
      unbind it from pci-stub.
      4e8969eb
    • W
      rename pciUnBindDeviceFromStub() to pciUnbindDeviceFromStub() and float it up · 9121b193
      Wen Congyang 提交于
      This patch do the following things:
      1. rename the function as 'Unbind' is better than 'UnBind'.
      2. pciUnbindDeviceFromStub() will be used in the function pciBindDeviceToStub() in
         next patch. Float it up, instead of having to have a forward declaration
      9121b193
    • W
      remove devices from driver->activePciHostdevs when qemuPrepareHostdevPCIDevices() failed · 11549859
      Wen Congyang 提交于
      We should not mark pci devices as active when qemuPrepareHostdevPCIDevices()
      failed.
      11549859
    • W
      pci: avoid invalid free, init path to NULL · d5981f1c
      Wen Congyang 提交于
      This bug was introduce by commit 57162db8, and it will cause libvirtd crashed.
      d5981f1c
    • E
      build: avoid compiler warning on cygwin · f6447e8a
      Eric Blake 提交于
      In file included from util/threads.c:31:
      util/threads-pthread.c: In function 'virThreadSelfID':
      util/threads-pthread.c:214: warning: cast from function call of type 'pthread_t' to non-matching type 'int' [-Wbad-function-cast]
      
      * src/util/threads-pthread.c (virThreadSelfID) [!SYS_gettid]:
      Add intermediate cast to silence gcc.
      f6447e8a
    • M
      Add domainIsUpdated to libxl driver · bf7f6251
      Markus Groß 提交于
      bf7f6251
    • S
      Change locking for udev monitor and callbacks · 28795828
      Serge Hallyn 提交于
      We're seeing bugs apparently resulting from thread unsafety of
      libpciaccess, such as
      https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/726099
      To prevent those, as suggested by danpb on irc, move the
      nodeDeviceLock(driverState) higher into the callers.  In
      particular:
      
        udevDeviceMonitorStartup should hold the lock while calling
        udevEnumerateDevices(), and udevEventHandleCallback should hold it
        over its entire execution.
      
      It's not clear to me whether it is ok to hold the
      nodeDeviceLock while taking the virNodeDeviceObjLock(dev) on a
      device.  If not, then the lock will need to be dropped around
      the calling of udevSetupSystemDev(), and udevAddOneDevice()
      may not actually be safe to call from higher layers with the
      driverstate lock held.
      
      libvirt 0.8.8 with this patch on it seems to work fine for me.
      Assuming it looks ok and I haven't done anything obviously dumb,
      I'll ask the bug submitters to try this patch.
      Signed-off-by: NSerge Hallyn <serge.hallyn@ubuntu.com>
      28795828
  8. 06 4月, 2011 4 次提交
    • J
      qemu: Support for overriding NPROC limit · 87e78b2b
      Jiri Denemark 提交于
      This patch adds max_processes option to qemu.conf which can be used to
      override system default limit on number of processes that are allowed to
      be running for qemu user.
      87e78b2b
    • O
      qemu: Always reserves slot 0x02 for primary VGA. · 7b2cac12
      Osier Yang 提交于
      To address https://bugzilla.redhat.com/show_bug.cgi?id=692355
      
      This fix is to reserve slot 0x02 for primary VGA even if there
      is no "video" specified in domain XML to avoid the problem.
      7b2cac12
    • E
      libxl: avoid compiler warning · 3eb869a0
      Eric Blake 提交于
      cc1: warnings being treated as errors
      libxl/libxl_driver.c: In function 'libxlDomainSetVcpusFlags':
      libxl/libxl_driver.c:1570:14: error: cast from function call of type 'double' to non-matching type 'unsigned int' [-Wbad-function-cast]
      libxl/libxl_driver.c:1578:15: error: cast from function call of type 'double' to non-matching type 'unsigned int' [-Wbad-function-cast]
      
      This was the only use of floor() and ceil(), and floating-point
      is overkill for power-of-two manipulations.
      
      * src/libxl/libxl_driver.c (libxlDomainSetVcpusFlags): Avoid -lm
      for trivial computations.
      3eb869a0
    • D
      Avoid compiler warnings about int -> void * casts · 5b099250
      Daniel P. Berrange 提交于
      GCC is a little confused about the cast of beginthread/beginthreadex
      from unsigned long -> void *. Go via an intermediate variable avoids
      the bogus warning, and makes the code a little cleaner
      
      * src/util/threads-win32.c: Avoid compiler warning in cast
      5b099250
  9. 05 4月, 2011 3 次提交
    • D
      Improve SCSI volume key generation · fdcd06ef
      Daniel P. Berrange 提交于
      The SCSI volumes get a better 'key' field based on the fully
      qualified volume path. All SCSI volumes have a unique serial
      available in hardware which can be obtained by sending a
      suitable SCSI command. Call out to udev's 'scsi_id' command
      to fetch this value
      
      * src/storage/storage_backend_scsi.c: Improve volume key
        field value stability and uniqueness
      fdcd06ef
    • J
      qemu: Ignore unusable binaries · ef264e82
      Jiri Denemark 提交于
      When initializing qemu guest capabilities, we should ignore qemu
      binaries that we are not able to extract version/help info from since
      they will be unusable for creating domains anyway. Ignoring them is also
      much better than letting initialization of qemu driver fail.
      ef264e82
    • J
      qemu: Rewrite LOOKUP_PTYS macro into a function · 69afdf14
      Jiri Denemark 提交于
      The macro is huge and gives us nothing but headache when maintaining it.
      69afdf14