Skip to content

Commit f6fde09

Browse files
author
Pearl Dsilva
committed
update pool setting when modified
1 parent 40364da commit f6fde09

1 file changed

Lines changed: 8 additions & 1 deletion

File tree

plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/KVMStoragePoolManager.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,10 @@ private StorageAdaptor getStorageAdaptor(StoragePoolType type) {
7272

7373
private void addStoragePool(String uuid, StoragePoolInformation pool) {
7474
synchronized (_storagePools) {
75-
if (!_storagePools.containsKey(uuid)) {
75+
// Insert on first registration; on subsequent calls (e.g. ModifyStoragePoolCommand)
76+
// overwrite when new details are present so dynamic config changes
77+
// (e.g. clvm.secure.zero.fill) are not silently dropped.
78+
if (!_storagePools.containsKey(uuid) || MapUtils.isNotEmpty(pool.getDetails())) {
7679
_storagePools.put(uuid, pool);
7780
}
7881
}
@@ -327,6 +330,10 @@ private void updatePoolTypeIfApplicable(LibvirtStoragePool libvirtPool, KVMStora
327330
*/
328331
private void addPoolDetails(String uuid, LibvirtStoragePool pool) {
329332
StoragePoolInformation storagePoolInformation = _storagePools.get(uuid);
333+
if (storagePoolInformation == null) {
334+
logger.warn("No cached StoragePoolInformation found for pool UUID {}, pool details will not be set.", uuid);
335+
return;
336+
}
330337
Map<String, String> details = storagePoolInformation.getDetails();
331338

332339
if (MapUtils.isNotEmpty(details)) {

0 commit comments

Comments
 (0)