This is an automated email from the ASF dual-hosted git repository.

rohit pushed a commit to branch 4.18
in repository https://gitbox.apache.org/repos/asf/cloudstack.git


The following commit(s) were added to refs/heads/4.18 by this push:
     new f049d4d189f Increase reserve on ScaleIO disk formatting for 
fragmentation (#7955)
f049d4d189f is described below

commit f049d4d189f5e5abe7ff64e6c4bd45151f95012e
Author: Marcus Sorensen <[email protected]>
AuthorDate: Thu Sep 14 05:13:16 2023 -0600

    Increase reserve on ScaleIO disk formatting for fragmentation (#7955)
    
    Signed-off-by: Marcus Sorensen <[email protected]>
    Co-authored-by: Marcus Sorensen <[email protected]>
---
 .../com/cloud/hypervisor/kvm/storage/ScaleIOStorageAdaptor.java     | 4 ++--
 .../com/cloud/hypervisor/kvm/storage/ScaleIOStorageAdaptorTest.java | 6 +++---
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git 
a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/ScaleIOStorageAdaptor.java
 
b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/ScaleIOStorageAdaptor.java
index 607dd620f61..b85be041e48 100644
--- 
a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/ScaleIOStorageAdaptor.java
+++ 
b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/ScaleIOStorageAdaptor.java
@@ -552,12 +552,12 @@ public class ScaleIOStorageAdaptor implements 
StorageAdaptor {
 
     /**
      * Calculates usable size from raw size, assuming qcow2 requires 192k/1GB 
for metadata
-     * We also remove 32MiB for potential encryption/safety factor.
+     * We also remove 128MiB for encryption/fragmentation/safety factor.
      * @param raw size in bytes
      * @return usable size in bytesbytes
      */
     public static long getUsableBytesFromRawBytes(Long raw) {
-        long usable = raw - (32 << 20) - ((raw >> 30) * 200704);
+        long usable = raw - (128 << 20) - ((raw >> 30) * 200704);
         if (usable < 0) {
             usable = 0L;
         }
diff --git 
a/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/storage/ScaleIOStorageAdaptorTest.java
 
b/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/storage/ScaleIOStorageAdaptorTest.java
index c06442c6ae3..6115dade07c 100644
--- 
a/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/storage/ScaleIOStorageAdaptorTest.java
+++ 
b/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/storage/ScaleIOStorageAdaptorTest.java
@@ -23,9 +23,9 @@ import org.junit.Test;
 public class ScaleIOStorageAdaptorTest {
     @Test
     public void getUsableBytesFromRawBytesTest() {
-        Assert.assertEquals("Overhead calculated for 8Gi size", 8554774528L, 
ScaleIOStorageAdaptor.getUsableBytesFromRawBytes(8L << 30));
-        Assert.assertEquals("Overhead calculated for 4Ti size", 
4294130925568L, ScaleIOStorageAdaptor.getUsableBytesFromRawBytes(4000L << 30));
-        Assert.assertEquals("Overhead calculated for 500Gi size", 
536737005568L, ScaleIOStorageAdaptor.getUsableBytesFromRawBytes(500L << 30));
+        Assert.assertEquals("Overhead calculated for 8Gi size", 8454111232L, 
ScaleIOStorageAdaptor.getUsableBytesFromRawBytes(8L << 30));
+        Assert.assertEquals("Overhead calculated for 4Ti size", 
4294030262272L, ScaleIOStorageAdaptor.getUsableBytesFromRawBytes(4000L << 30));
+        Assert.assertEquals("Overhead calculated for 500Gi size", 
536636342272L, ScaleIOStorageAdaptor.getUsableBytesFromRawBytes(500L << 30));
         Assert.assertEquals("Unsupported small size", 0, 
ScaleIOStorageAdaptor.getUsableBytesFromRawBytes(1L));
     }
 }

Reply via email to