CLOUDSTACK-4459: need to sychronize create storage pool, otherwise, we can create the same pool with the same uuid in parallel
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/3c697107 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/3c697107 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/3c697107 Branch: refs/heads/4.2 Commit: 3c69710778a49b19452b7ec6837d306d42be39c7 Parents: a034413 Author: Edison Su <[email protected]> Authored: Mon Aug 26 11:15:30 2013 -0700 Committer: Edison Su <[email protected]> Committed: Mon Aug 26 11:15:30 2013 -0700 ---------------------------------------------------------------------- .../com/cloud/hypervisor/kvm/storage/KVMStoragePoolManager.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3c697107/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStoragePoolManager.java ---------------------------------------------------------------------- diff --git a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStoragePoolManager.java b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStoragePoolManager.java index 71bbc15..7fef6ff 100644 --- a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStoragePoolManager.java +++ b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStoragePoolManager.java @@ -173,7 +173,8 @@ public class KVMStoragePoolManager { return createStoragePool(name, host, port, path, userInfo, type, true); } - private KVMStoragePool createStoragePool( String name, String host, int port, + //Note: due to bug CLOUDSTACK-4459, createStoragepool can be called in parallel, so need to be synced. + private synchronized KVMStoragePool createStoragePool( String name, String host, int port, String path, String userInfo, StoragePoolType type, boolean primaryStorage) { StorageAdaptor adaptor = getStorageAdaptor(type);
