Repository: cloudstack Updated Branches: refs/heads/4.3 2aabcc11d -> 76f5f3048
CLOUDSTACK-6371: Set snapshot size in copycommand answer during snapshot backup (cherry picked from commit 295fa84d4d3bb100055d7124bb0d0d68491328fc) Signed-off-by: Rohit Yadav <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/83df80b7 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/83df80b7 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/83df80b7 Branch: refs/heads/4.3 Commit: 83df80b715c76bf4db38d20eac9bff8b3f27eacb Parents: 2aabcc1 Author: Kishan Kavala <[email protected]> Authored: Thu Apr 10 12:59:04 2014 +0530 Committer: Rohit Yadav <[email protected]> Committed: Fri Nov 14 00:12:16 2014 +0530 ---------------------------------------------------------------------- .../com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java | 7 +++++++ 1 file changed, 7 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/83df80b7/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java ---------------------------------------------------------------------- diff --git a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java index 8d237cc..3d1ca55 100644 --- a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java +++ b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java @@ -689,6 +689,7 @@ public class KVMStorageProcessor implements StorageProcessor { primaryStore.getUuid(), volumePath); primaryPool = snapshotDisk.getPool(); + long size = 0; /** * RBD snapshots can't be copied using qemu-img, so we have to use * the Java bindings for librbd here. @@ -733,6 +734,7 @@ public class KVMStorageProcessor implements StorageProcessor { offset += bytes; } s_logger.debug("Completed backing up RBD snapshot " + snapshotName + " to " + snapFile.getAbsolutePath() + ". Bytes written: " + offset); + size = offset; bos.close(); s_logger.debug("Attempting to remove snapshot RBD " + snapshotName + " from image " + snapshotDisk.getName()); @@ -763,10 +765,15 @@ public class KVMStorageProcessor implements StorageProcessor { s_logger.debug("Failed to backup snaptshot: " + result); return new CopyCmdAnswer(result); } + File snapFile = new File(snapshotDestPath + "/" + snapshotName); + if(snapFile.exists()){ + size = snapFile.length(); + } } SnapshotObjectTO newSnapshot = new SnapshotObjectTO(); newSnapshot.setPath(snapshotRelPath + File.separator + snapshotName); + newSnapshot.setPhysicalSize(size); return new CopyCmdAnswer(newSnapshot); } catch (LibvirtException e) { s_logger.debug("Failed to backup snapshot: " + e.toString());
