You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by we...@apache.org on 2013/10/30 15:25:35 UTC

[3/3] git commit: updated refs/heads/4.2 to 4b8d636

remove unused file lock codes from LibvirtStorageAdaptor.java


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/4b8d636c
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/4b8d636c
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/4b8d636c

Branch: refs/heads/4.2
Commit: 4b8d636ce66fa8e4ed9cc56e44f4fa88e0e18cb8
Parents: 46e4cfd
Author: Wei Zhou <w....@leaseweb.com>
Authored: Wed Oct 30 15:13:14 2013 +0100
Committer: Wei Zhou <w....@leaseweb.com>
Committed: Wed Oct 30 15:13:14 2013 +0100

----------------------------------------------------------------------
 .../kvm/storage/LibvirtStorageAdaptor.java      | 36 --------------------
 1 file changed, 36 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4b8d636c/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java
index 51e3363..0760e51 100644
--- a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java
+++ b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java
@@ -20,13 +20,10 @@ import java.io.File;
 import java.io.FileInputStream;
 import java.io.BufferedInputStream;
 import java.io.IOException;
-import java.net.URI;
-import java.net.URISyntaxException;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.UUID;
 import java.util.Map;
-import java.util.HashMap;
 import org.apache.log4j.Logger;
 import org.apache.commons.codec.binary.Base64;
 import org.apache.cloudstack.utils.qemu.QemuImg;
@@ -37,7 +34,6 @@ import org.libvirt.Connect;
 import org.libvirt.LibvirtException;
 import org.libvirt.Secret;
 import org.libvirt.StoragePool;
-import org.libvirt.StoragePoolInfo;
 import org.libvirt.StorageVol;
 import org.libvirt.StoragePoolInfo.StoragePoolState;
 import com.ceph.rados.Rados;
@@ -48,7 +44,6 @@ import com.ceph.rbd.RbdImage;
 import com.ceph.rbd.RbdException;
 import com.ceph.rbd.jna.RbdSnapInfo;
 
-import com.cloud.agent.api.ManageSnapshotCommand;
 import com.cloud.hypervisor.kvm.resource.LibvirtConnection;
 import com.cloud.hypervisor.kvm.resource.LibvirtSecretDef;
 import com.cloud.hypervisor.kvm.resource.LibvirtSecretDef.usage;
@@ -63,7 +58,6 @@ import com.cloud.exception.InternalErrorException;
 import com.cloud.storage.Storage.StoragePoolType;
 import com.cloud.storage.StorageLayer;
 import com.cloud.utils.exception.CloudRuntimeException;
-import com.cloud.utils.script.OutputInterpreter;
 import com.cloud.utils.script.Script;
 
 public class LibvirtStorageAdaptor implements StorageAdaptor {
@@ -72,8 +66,6 @@ public class LibvirtStorageAdaptor implements StorageAdaptor {
     private StorageLayer _storageLayer;
     private String _mountPoint = "/mnt";
     private String _manageSnapshotPath;
-    private String _lockfile = "KVMFILELOCK" + File.separator + ".lock";
-    private static final int ACQUIRE_GLOBAL_FILELOCK_TIMEOUT_FOR_KVM = 300; // 300 seconds
 
     private String rbdTemplateSnapName = "cloudstack-base-snap";
     private int rbdFeatures = (1<<0); /* Feature 1<<0 means layering in RBD format 2 */
@@ -1175,10 +1167,6 @@ public class LibvirtStorageAdaptor implements StorageAdaptor {
         return deleteStoragePool(pool.getUuid());
     }
 
-    // refreshPool and deleteVol are used to fix CLOUDSTACK-2729/CLOUDSTACK-2780
-    // They are caused by a libvirt bug (https://bugzilla.redhat.com/show_bug.cgi?id=977706)
-    // However, we also need to fix the issues in CloudStack source code.
-    // A file lock is used to prevent deleting a volume from a KVM storage pool when refresh it.
     private void refreshPool(StoragePool pool) throws LibvirtException {
         pool.refresh(0);
         return;
@@ -1188,28 +1176,4 @@ public class LibvirtStorageAdaptor implements StorageAdaptor {
         vol.delete(0);
     }
 
-    private boolean lock(String path, int wait) {
-        File lockFile = new File(path);
-        lockFile.getParentFile().mkdir();
-        boolean havelock = false;
-        try {
-            while (wait > 0) {
-                if (lockFile.createNewFile()) {
-                    havelock = true;
-                    break;
-                }
-                s_logger.debug("lockFile " + _lockfile + " already exists, waiting 1000 ms");
-                Thread.sleep(1000);
-                wait--;
-            }
-        } catch (IOException e) {
-        } catch (InterruptedException e) {
-        }
-        return havelock;
-    }
-
-    private void unlock(String path) {
-        File lockFile = new File(path);
-        lockFile.delete();
-    }
 }