diff --git a/server/src/com/cloud/storage/StorageManagerImpl.java b/server/src/com/cloud/storage/StorageManagerImpl.java index e64d129e69f..23ae816bf45 100755 --- a/server/src/com/cloud/storage/StorageManagerImpl.java +++ b/server/src/com/cloud/storage/StorageManagerImpl.java @@ -713,7 +713,7 @@ public class StorageManagerImpl implements StorageManager, Manager, ClusterManag } catch (StorageUnavailableException e) { s_logger.error(basicErrMsg); } finally { - if (snapshot.getSwiftId() != null) { + if (snapshot.getSwiftId() != null && snapshot.getSwiftId() != 0) { _snapshotMgr.deleteSnapshotsDirForVolume(secondaryStoragePoolUrl, dcId, accountId, volumeId); } _snapshotDao.unlockFromLockTable(snapshotId.toString()); diff --git a/setup/db/db/schema-304to305.sql b/setup/db/db/schema-304to305.sql index 1cd73fa60f8..d079731b3fa 100755 --- a/setup/db/db/schema-304to305.sql +++ b/setup/db/db/schema-304to305.sql @@ -379,3 +379,5 @@ INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Usage', 'DEFAULT', 'manageme INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Usage', 'DEFAULT', 'management-server', 'traffic.sentinel.exclude.zones', '', 'Traffic going into specified list of zones is not metered'); DROP TABLE IF EXISTS `cloud`.`ovs_tunnel_account`; +UPDATE `cloud`.`snapshots` set swift_id=null where swift_id=0; +