Uploaded image for project: 'CloudStack'
  1. CloudStack
  2. CLOUDSTACK-7641

Do not always ask libvirt to refresh storage pools

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments


    • Type: Improvement
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: Future
    • Fix Version/s: 4.5.0
    • Component/s: KVM
    • Security Level: Public (Anyone can view this level - this is the default.)
    • Labels:


      When getStoragePool() in the LibvirtStorageAdapter is called it asks libvirt for information regarding that storage pool.

      In the process the StorageAdapter asks libvirt to 'refresh' the storage pool.

      Refreshing a storage pool means that libvirt will scan the whole pool and get information about all the volumes which it then caches.

      getStoragePool() is called for almost every storage operation in KVM and that causes delays.

      On big (RBD) storage pools such a refresh can take up to 2 or 3 minutes.

      The StatsCollector in the Management Server asks all the hosts about the storage pools as well, so we should only refresh the pool when the StatsCollector wants storage statistics.

      This way we keep the information in libvirt up to date, but we also speed up storage tasks on KVM.




            • Assignee:
              widodh Wido den Hollander
              widodh Wido den Hollander


              • Created:

                Issue deployment