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));
}
}