1. 10 10月, 2017 1 次提交
  2. 06 10月, 2017 1 次提交
  3. 05 10月, 2017 1 次提交
  4. 19 9月, 2017 4 次提交
    • J
      storage: Introduce APIs to search/scan storage pool volumes list · 5bf9b655
      John Ferlan 提交于
      Introduce virStoragePoolObjForEachVolume to scan each volume
      calling the passed callback function until all volumes have been
      processed in the storage pool volume list, unless the callback
      function returns an error.
      
      Introduce virStoragePoolObjSearchVolume to search each volume
      calling the passed callback function until it returns true
      indicating that the desired volume was found.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      5bf9b655
    • J
      storage: Introduce storage volume add, delete, count APIs · 40630a8e
      John Ferlan 提交于
      Create/use virStoragePoolObjAddVol in order to add volumes onto list.
      
      Create/use virStoragePoolObjRemoveVol in order to remove volumes from list.
      
      Create/use virStoragePoolObjGetVolumesCount to get count of volumes on list.
      
      For the storage driver, the logic alters when the volumes.obj list grows
      to after we've fetched the volobj. This is an optimization of sorts, but
      also doesn't "needlessly" grow the volumes.objs list and then just decr
      the count if the virGetStorageVol fails.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      40630a8e
    • J
      storage: Introduce virStoragePoolObjNew · 407e6a36
      John Ferlan 提交于
      Create/use a helper to perform object allocation.
      
      Adjust storagevolxml2argvtest.c in order to use the allocator and
      setting of the obj->def.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      407e6a36
    • J
      storage: Create accessor API's for virStoragePoolObj · b3198286
      John Ferlan 提交于
      In preparation for making a private object, create accessor API's for
      consumer storage functions to use:
      
          virStoragePoolObjGetDef
          virStoragePoolObjSetDef
          virStoragePoolObjGetNewDef
          virStoragePoolObjDefUseNewDef
          virStoragePoolObjGetConfigFile
          virStoragePoolObjSetConfigFile
          virStoragePoolObjGetAutostartLink
          virStoragePoolObjIsActive
          virStoragePoolObjSetActive
          virStoragePoolObjIsAutostart
          virStoragePoolObjSetAutostart
          virStoragePoolObjGetAsyncjobs
          virStoragePoolObjIncrAsyncjobs
          virStoragePoolObjDecrAsyncjobs
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      b3198286
  5. 18 9月, 2017 3 次提交
  6. 15 9月, 2017 1 次提交
  7. 12 9月, 2017 1 次提交
  8. 28 8月, 2017 1 次提交
  9. 27 8月, 2017 1 次提交
  10. 18 8月, 2017 1 次提交
  11. 17 8月, 2017 11 次提交
  12. 15 8月, 2017 3 次提交
    • J
      util: Introduce and use virObjectRWUnlock · 045d712c
      John Ferlan 提交于
      Rather than overload virObjectUnlock as commit id '77f4593b' has
      done, create a separate virObjectRWUnlock API that will force the
      consumers to make the proper decision regarding unlocking the
      RWLock's. Similar to the RWLockRead and RWLockWrite, use the
      virObjectGetRWLockableObj helper. This restores the virObjectUnlock
      code to using the virObjectGetLockableObj.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      045d712c
    • J
      util: Introduce and use virObjectRWLockWrite · 908b3364
      John Ferlan 提交于
      Instead of making virObjectLock be the entry point for two
      different types of locks, let's create a virObjectRWLockWrite API
      which will only handle the virObjectRWLockableClass objects.
      
      Use the new virObjectRWLockWrite for the virdomainobjlist code
      in order to handle the Add, Remove, Rename, and Load operations
      that need to be very synchronous.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      908b3364
    • J
      util: Rename virObjectLockRead to virObjectRWLockRead · 99a72b3e
      John Ferlan 提交于
      Since the class it represents is based on virObjectRWLockableClass
      and in order to make sure we differentiate just in case anyone somehow
      believes they could use virObjectLockRead for a virObjectLockableClass,
      let's rename the API to use the RW in the name. Besides the RW locks
      refer to pthread_rwlock_{init|rdlock|wrlock|unlock|destroy} while the
      other locks refer to pthread_mutex_{init|lock|unlock|destroy}.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      99a72b3e
  13. 14 8月, 2017 2 次提交
  14. 12 8月, 2017 1 次提交
    • L
      util: new function virNetDevGetPhysPortID() · 48f33bb5
      Laine Stump 提交于
      On Linux each network device *can* (but not necessarily *does*) have
      an attribute called phys_port_id which can be read from the file of
      that name in the netdev's sysfs directory. The examples I've seen have
      been a many-digit hexadecimal number (as an ASCII string).
      
      This value can be useful when a single PCI device is associated with
      multiple netdevs (e.g a dual port Mellanox SR-IOV NIC - this card has
      a single PCI Physical Function (PF), and that PF has two netdevs
      associated with it (the "net" subdirectory of the PF in sysfs has two
      links rather than the usual single link to a netdev directory). Each
      of the PF netdevs has a different phys_port_id. The Virtual Functions
      (VF) are similar - the PF (a PCI device) has "n" VFs (also each of
      these is a PCI device), each VF has two netdevs, and each of the VF
      netdevs points back to the VF PCI device (with the "device" entry in
      its sysfs directory) as well as having a phys_port_id matching the PF
      netdev it is associated with.
      
      virNetDevGetPhysPortID() simply attempts to read the phys_port_id for
      the given netdev and return it to the caller. If this particular
      netdev driver doesn't support phys_port_id, it returns NULL (*not* a
      NULL-terminated string, but a NULL pointer) but still counts it as a
      success.
      48f33bb5
  15. 08 8月, 2017 1 次提交
    • J
      introduce virConfReadString · e9f32227
      Ján Tomko 提交于
      Rewrite virConfReadMem to take a null-terminated string.
      All the callers were calling strlen on it anyway.
      e9f32227
  16. 03 8月, 2017 1 次提交
  17. 02 8月, 2017 1 次提交
  18. 27 7月, 2017 1 次提交
  19. 26 7月, 2017 1 次提交
    • P
      util: introduce virFileCache · ac3eb2ab
      Pavel Hrdina 提交于
      The new virFileCache will nicely handle the caching logic for any data
      that we would like to cache.  For each type of data we will just need
      to implement few handlers that will take care of creating, validating,
      loading and saving the cached data.
      
      The cached data must be an instance of virObject.
      
      Currently we cache QEMU capabilities which will start using
      virFileCache.
      Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
      Reviewed-by: NJiri Denemark <jdenemar@redhat.com>
      ac3eb2ab
  20. 25 7月, 2017 3 次提交