mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 13:45:38 +00:00
storage: Initialize pool size parameters for refresh thread
If the pool creation thread happens to detect the luns in the scsi target, the size parameters will be calculated as part of the refreshPool called from storagePoolCreate(). This means the virStoragePoolFCRefreshThread (commit id '512b874') waiting to run and "refresh" the pool will essentially double the allocation and capacity values. A separate refresh would correct the values. To avoid this, the FCRefreshThread needs to reinitialize the pool size values prior to calling virStorageBackendSCSIFindLUs which eventually calls virStorageBackendSCSINewLun and updates the size values for each volume found.
This commit is contained in:
parent
98033a8b94
commit
3e19b5d53d
@ -614,6 +614,9 @@ virStoragePoolFCRefreshThread(void *opaque)
|
||||
*/
|
||||
VIR_DEBUG("Attempt FC Refresh for pool='%s' name='%s' tries='%d'",
|
||||
pool->def->name, fchost_name, tries);
|
||||
|
||||
pool->def->allocation = pool->def->capacity = pool->def->available = 0;
|
||||
|
||||
if (virStoragePoolObjIsActive(pool) &&
|
||||
virGetSCSIHostNumber(fchost_name, &host) == 0 &&
|
||||
virStorageBackendSCSITriggerRescan(host) == 0) {
|
||||
|
Loading…
Reference in New Issue
Block a user