From 3612fc12c8f8408b0281558d7f755bfb51902f90 Mon Sep 17 00:00:00 2001 From: Kelven Yang Date: Tue, 17 Jan 2012 16:10:20 -0800 Subject: [PATCH] bug 11428: remove the constraint based on customer's feedback, we will allow creating volume from a snapshot that was originally taken from root volume. Customers should be aware that when the volume is attached as a data volume, some partitions that were originally created as a root volume may not be recognized by the guest OS --- server/src/com/cloud/storage/StorageManagerImpl.java | 4 +++- server/src/com/cloud/vm/UserVmManagerImpl.java | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/server/src/com/cloud/storage/StorageManagerImpl.java b/server/src/com/cloud/storage/StorageManagerImpl.java index f125b4646b2..24910beae91 100755 --- a/server/src/com/cloud/storage/StorageManagerImpl.java +++ b/server/src/com/cloud/storage/StorageManagerImpl.java @@ -1696,12 +1696,14 @@ public class StorageManagerImpl implements StorageManager, StorageService, Manag //check snapshot permissions _accountMgr.checkAccess(caller, null, true, snapshotCheck); - + +/* // bug #11428. Operation not supported if vmware and snapshots parent volume = ROOT if(snapshotCheck.getHypervisorType() == HypervisorType.VMware && _volumeDao.findByIdIncludingRemoved(snapshotCheck.getVolumeId()).getVolumeType() == Type.ROOT){ throw new UnsupportedServiceException("operation not supported, snapshot with id " + snapshotId + " is created from ROOT volume"); } +*/ } // Verify that zone exists diff --git a/server/src/com/cloud/vm/UserVmManagerImpl.java b/server/src/com/cloud/vm/UserVmManagerImpl.java index b15ec1eedb7..6e44261cbeb 100755 --- a/server/src/com/cloud/vm/UserVmManagerImpl.java +++ b/server/src/com/cloud/vm/UserVmManagerImpl.java @@ -1370,11 +1370,13 @@ public class UserVmManagerImpl implements UserVmManager, UserVmService, Manager throw new InvalidParameterValueException("Snapshot id=" + snapshotId + " is not in " + Snapshot.Status.BackedUp + " state yet and can't be used for template creation"); } +/* // bug #11428. Operation not supported if vmware and snapshots parent volume = ROOT if(snapshot.getHypervisorType() == HypervisorType.VMware && snapshotVolume.getVolumeType() == Type.DATADISK){ throw new UnsupportedServiceException("operation not supported, snapshot with id " + snapshotId + " is created from Data Disk"); } - +*/ + hyperType = snapshot.getHypervisorType(); }