From 95e7e270d4b375e4d42e13e951a983c7d22aa3a3 Mon Sep 17 00:00:00 2001 From: Min Chen Date: Tue, 14 May 2013 14:48:34 -0700 Subject: [PATCH] Fix the hanging issue in deleting ISO referenced by some user vms. --- .../datastore/driver/CloudStackImageStoreDriverImpl.java | 6 ++++++ .../storage/datastore/driver/S3ImageStoreDriverImpl.java | 6 ++++++ .../storage/datastore/driver/SwiftImageStoreDriverImpl.java | 6 ++++++ 3 files changed, 18 insertions(+) diff --git a/plugins/storage/image/default/src/org/apache/cloudstack/storage/datastore/driver/CloudStackImageStoreDriverImpl.java b/plugins/storage/image/default/src/org/apache/cloudstack/storage/datastore/driver/CloudStackImageStoreDriverImpl.java index 177d8d8d36e..31fab32eb7a 100644 --- a/plugins/storage/image/default/src/org/apache/cloudstack/storage/datastore/driver/CloudStackImageStoreDriverImpl.java +++ b/plugins/storage/image/default/src/org/apache/cloudstack/storage/datastore/driver/CloudStackImageStoreDriverImpl.java @@ -309,6 +309,12 @@ public class CloudStackImageStoreDriverImpl implements ImageStoreDriver { } } } + } else{ + // cannot delete iso due to some VMs are using this + s_logger.debug("Cannot delete iso since some user vms are referencing it"); + CommandResult result = new CommandResult(); + result.setResult("Cannot delete iso since some user vms are referencing it"); + callback.complete(result); } } diff --git a/plugins/storage/image/s3/src/org/apache/cloudstack/storage/datastore/driver/S3ImageStoreDriverImpl.java b/plugins/storage/image/s3/src/org/apache/cloudstack/storage/datastore/driver/S3ImageStoreDriverImpl.java index 29cafdbb73c..cbf55b66fc6 100644 --- a/plugins/storage/image/s3/src/org/apache/cloudstack/storage/datastore/driver/S3ImageStoreDriverImpl.java +++ b/plugins/storage/image/s3/src/org/apache/cloudstack/storage/datastore/driver/S3ImageStoreDriverImpl.java @@ -323,6 +323,12 @@ public class S3ImageStoreDriverImpl implements ImageStoreDriver { } } } + } else{ + // cannot delete iso due to some VMs are using this + s_logger.debug("Cannot delete iso since some user vms are referencing it"); + CommandResult result = new CommandResult(); + result.setResult("Cannot delete iso since some user vms are referencing it"); + callback.complete(result); } } diff --git a/plugins/storage/image/swift/src/org/apache/cloudstack/storage/datastore/driver/SwiftImageStoreDriverImpl.java b/plugins/storage/image/swift/src/org/apache/cloudstack/storage/datastore/driver/SwiftImageStoreDriverImpl.java index db3b225c1ef..003152a309c 100644 --- a/plugins/storage/image/swift/src/org/apache/cloudstack/storage/datastore/driver/SwiftImageStoreDriverImpl.java +++ b/plugins/storage/image/swift/src/org/apache/cloudstack/storage/datastore/driver/SwiftImageStoreDriverImpl.java @@ -315,6 +315,12 @@ public class SwiftImageStoreDriverImpl implements ImageStoreDriver { } } } + } else{ + // cannot delete iso due to some VMs are using this + s_logger.debug("Cannot delete iso since some user vms are referencing it"); + CommandResult result = new CommandResult(); + result.setResult("Cannot delete iso since some user vms are referencing it"); + callback.complete(result); } }