Fix the hanging issue in deleting ISO referenced by some user vms.
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/95e7e270 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/95e7e270 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/95e7e270 Branch: refs/heads/object_store Commit: 95e7e270d4b375e4d42e13e951a983c7d22aa3a3 Parents: 03c2550 Author: Min Chen <[email protected]> Authored: Tue May 14 14:48:34 2013 -0700 Committer: Min Chen <[email protected]> Committed: Tue May 14 14:57:02 2013 -0700 ---------------------------------------------------------------------- .../driver/CloudStackImageStoreDriverImpl.java | 6 ++++++ .../datastore/driver/S3ImageStoreDriverImpl.java | 6 ++++++ .../driver/SwiftImageStoreDriverImpl.java | 6 ++++++ 3 files changed, 18 insertions(+), 0 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/95e7e270/plugins/storage/image/default/src/org/apache/cloudstack/storage/datastore/driver/CloudStackImageStoreDriverImpl.java ---------------------------------------------------------------------- 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 177d8d8..31fab32 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); } } http://git-wip-us.apache.org/repos/asf/cloudstack/blob/95e7e270/plugins/storage/image/s3/src/org/apache/cloudstack/storage/datastore/driver/S3ImageStoreDriverImpl.java ---------------------------------------------------------------------- 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 29cafdb..cbf55b6 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); } } http://git-wip-us.apache.org/repos/asf/cloudstack/blob/95e7e270/plugins/storage/image/swift/src/org/apache/cloudstack/storage/datastore/driver/SwiftImageStoreDriverImpl.java ---------------------------------------------------------------------- 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 db3b225..003152a 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); } }
