From ee1cefcb8e7db0917e7317f3d90a440e4a65fbe4 Mon Sep 17 00:00:00 2001 From: Edison Su Date: Wed, 8 Feb 2012 20:16:34 -0800 Subject: [PATCH] bug 13551: in some case, libvirt returns storage pool available, but mount point is not there status 13551: resolved fixed Reviewed-by: anthony --- .../resource/computing/LibvirtStorageResource.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/agent/src/com/cloud/agent/resource/computing/LibvirtStorageResource.java b/agent/src/com/cloud/agent/resource/computing/LibvirtStorageResource.java index f04c2ff773b..1fafbe2388d 100644 --- a/agent/src/com/cloud/agent/resource/computing/LibvirtStorageResource.java +++ b/agent/src/com/cloud/agent/resource/computing/LibvirtStorageResource.java @@ -339,8 +339,18 @@ public class LibvirtStorageResource { StoragePool sp = null; try { sp = conn.storagePoolLookupByUUIDString(spt.getUuid()); + //double check the mount point + String targetPath = _mountPoint + File.separator + spt.getUuid(); + if (!_storageLayer.exists(targetPath)) { + try { + sp.destroy(); + sp.undefine(); + } catch(LibvirtException e) { + + } + sp = null; + } } catch (LibvirtException e) { - } if (sp == null) {