1. 07 2月, 2018 1 次提交
  2. 06 2月, 2018 1 次提交
  3. 05 2月, 2018 1 次提交
    • P
      util: bitmap: Use VIR_SHRINK_N in virBitmapShrink · e88a08e8
      Peter Krempa 提交于
      The function only reduces the size of the bitmap thus we can use the
      appropriate shrinking function which also does not have any return
      value.
      
      Since virBitmapShrink now does not return any value callers need to be
      fixed as well.
      e88a08e8
  4. 03 2月, 2018 1 次提交
  5. 02 2月, 2018 1 次提交
  6. 01 2月, 2018 4 次提交
  7. 31 1月, 2018 1 次提交
  8. 30 1月, 2018 1 次提交
  9. 29 1月, 2018 10 次提交
  10. 26 1月, 2018 4 次提交
  11. 25 1月, 2018 1 次提交
  12. 12 1月, 2018 1 次提交
  13. 10 1月, 2018 2 次提交
    • J
      storage: Complete implementation volume by hash object · be1bb6c9
      John Ferlan 提交于
      Alter the volume logic to use the hash tables instead of forward
      linked lists. There are three hash tables to allow for fast lookup
      by name, target.path, and key.
      
      Modify the virStoragePoolObjAddVol to place the object in all 3
      tables if possible using self locking RWLock on the volumes object.
      Conversely when removing the volume, it's a removal of the object
      from the various hash tables.
      
      Implement functions to handle remote ForEach and Search Volume
      type helpers. These are used by the disk backend in order to
      facilitate adding a primary, extended, or logical partition.
      
      Implement the various VolDefFindBy* helpers as simple (and fast)
      hash lookups. The NumOfVolumes, GetNames, and ListExport helpers
      are all implemented using standard for each hash table calls.
      be1bb6c9
    • J
      storage: Introduce _virStorageVolObj[List] · f77c898d
      John Ferlan 提交于
      Prepare for hash table volume lists by creating the object infrastructure
      for a Volume Object and Volume Object List
      
      The _virStorageVolObj will contain just a pointer to the "current"
      (and live) volume definition.
      
      The _virStorageVolObjList will contain three hash tables, one for
      each of the lookup options allowed for a volume.
      f77c898d
  14. 04 1月, 2018 5 次提交
    • J
      conf: Use bool for @check_active parameter · 607524af
      John Ferlan 提交于
      Use a bool as that's how the variable is used in the function.
      607524af
    • J
      conf: Need to unlock pools on object allocation failure · c00643f8
      John Ferlan 提交于
      The RW pool could be left locked if allocation fails.
      c00643f8
    • P
      conf: include x86 microcode version in virsh capabilities · d2440f3b
      Paolo Bonzini 提交于
      A microcode update can cause the CPUID bits to change; an example
      from the past was the update that disabled TSX on several Haswell and
      Broadwell machines.
      
      In order to track the x86 microcode version in the QEMU capabilities,
      we have to fetch it and store it in the host CPU.  This also makes the
      version visible in "virsh capabilities", which is a nice side effect.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      d2440f3b
    • J
      conf: Fix generating addresses for SCSI hostdev · 8d424f1b
      John Ferlan 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=1519130
      
      Commit id 'dc692438' reverted the automagic addition of a SCSI
      controller attempt during virDomainHostdevAssignAddress; however,
      the logic to determine where to place the next_unit depended upon
      the "new" controller being added.  Without the new controller the
      the next time through the call for the next SCSI hostdev found
      would result in the "next_unit" never changing from 0 (zero) and
      as a result the addition of the device will fail due to being a
      duplicate unit number of the first with the error message:
      
        virDomainDefCheckDuplicateDriveAddresses:$line : unsupported
            configuration: SCSI host address controller='0' bus='1'
            target='0' unit='0' in use by another SCSI host device
      
      So instead of walking the controller list looking for SCSI
      controllers, all we can do is "pretend" that they exist and
      allow other code to create them later as necessary.
      8d424f1b
    • J
      conf: Use existing SCSI hostdev model to create new · c52dbafe
      John Ferlan 提交于
      In virDomainDefMaybeAddHostdevSCSIcontroller when we add a new
      controller because someone neglected to add one or we're adding
      one because the existing one is full, we should copy over the
      model number from the existing controller since whatever we
      create should at least have the same characteristics as the one
      we cannot use because it's full.
      
      NB: This affects the existing hostdev-scsi-autogen-address test
      which would add a default ('lsi') SCSI controller for the various
      scsi_host's that would create a controller for the hostdev.
      c52dbafe
  15. 02 1月, 2018 1 次提交
  16. 14 12月, 2017 3 次提交
    • P
      conf: Add infrastructure for disk source private data XML · aed3d038
      Peter Krempa 提交于
      VM drivers may need to store additional private data to the status XML
      so that it can be restored after libvirtd restart. Since not everything
      is needed add a callback infrastructure, where VM drivers can add only
      stuff they need.
      
      Note that the private data is formatted as a <privateData> sub-element
      of the <disk> or <backingStore> <source> sub-element. This is done since
      storing it out of band (in the VM private data) would require a complex
      matching process to allow to put the data into correct place.
      aed3d038
    • J
      storage: Convert virStoragePoolObjList to use virObjectRWLockable · 4b2e0ed6
      John Ferlan 提交于
      Now that we have a private storage pool list, we can take the next
      step and convert to using objects. In this case, we're going to use
      RWLockable objects (just like every other driver) with two hash
      tables for lookup by UUID or Name.
      
      Along the way the ForEach and Search API's will be adjusted to use
      the related Hash API's and the various FindBy functions altered and
      augmented to allow for HashLookup w/ and w/o the pool lock already
      taken.
      
      After virStoragePoolObjRemove we will need to virObjectUnref(obj)
      after to indicate the caller is "done" with it's reference. The
      Unlock occurs during the Remove.
      
      The NumOf, GetNames, and Export functions all have their own callback
      functions to return the required data and the FindDuplicate code
      can use the HashSearch function callbacks.
      4b2e0ed6
    • J
      storage: Privatize virStoragePoolObjListPtr · 90e65353
      John Ferlan 提交于
      Move the structure into virstorageobj.c.
      
      Use the virStoragePoolObjListNew allocator to fill in the @pools for
      the storage driver and test driver.
      90e65353
  17. 01 12月, 2017 2 次提交