From dca3405b8b0bf23e71ef166d392c48b4340940da Mon Sep 17 00:00:00 2001 From: Edison Su Date: Wed, 15 Jun 2011 14:38:37 -0400 Subject: [PATCH] bug 10293: don't destroy volume if it's not created status 10293: resolved fixed --- .../com/cloud/storage/StorageManagerImpl.java | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/server/src/com/cloud/storage/StorageManagerImpl.java b/server/src/com/cloud/storage/StorageManagerImpl.java index 57b61be8f14..f8be4abf1c9 100755 --- a/server/src/com/cloud/storage/StorageManagerImpl.java +++ b/server/src/com/cloud/storage/StorageManagerImpl.java @@ -755,18 +755,8 @@ public class StorageManagerImpl implements StorageManager, StorageService, Manag s_logger.debug("Retrying the create because it failed on pool " + pool); } - Transaction txn = Transaction.currentTxn(); - txn.start(); if (created == null) { - if (s_logger.isDebugEnabled()) { - s_logger.debug("Unable to create a volume for " + volume); - } - volume.setState(Volume.State.Destroy); - _volsDao.persist(volume); - _volsDao.remove(volume.getId()); - UsageEventVO usageEvent = new UsageEventVO(EventTypes.EVENT_VOLUME_DELETE, volume.getAccountId(), volume.getDataCenterId(), volume.getId(), volume.getName()); - _usageEventDao.persist(usageEvent); - volume = null; + return null; } else { volume.setFolder(pool.getPath()); volume.setPath(created.getPath()); @@ -775,10 +765,8 @@ public class StorageManagerImpl implements StorageManager, StorageService, Manag volume.setPoolId(pool.getId()); volume.setPodId(pod.getId()); volume.setState(Volume.State.Ready); - _volsDao.persist(volume); + return _volsDao.persist(volume); } - txn.commit(); - return volume; } public Long chooseHostForStoragePool(StoragePoolVO poolVO, List avoidHosts, boolean sendToVmResidesOn, Long vmId) {