Skip to content

Commit f049d4d

Browse files
Marcus SorensenMarcus Sorensen
andauthored
Increase reserve on ScaleIO disk formatting for fragmentation (#7955)
Signed-off-by: Marcus Sorensen <mls@apple.com> Co-authored-by: Marcus Sorensen <mls@apple.com>
1 parent b8c8e17 commit f049d4d

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/ScaleIOStorageAdaptor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -552,12 +552,12 @@ public void resizeQcow2ToVolume(String volumePath, QemuImageOptions options, Lis
552552

553553
/**
554554
* Calculates usable size from raw size, assuming qcow2 requires 192k/1GB for metadata
555-
* We also remove 32MiB for potential encryption/safety factor.
555+
* We also remove 128MiB for encryption/fragmentation/safety factor.
556556
* @param raw size in bytes
557557
* @return usable size in bytesbytes
558558
*/
559559
public static long getUsableBytesFromRawBytes(Long raw) {
560-
long usable = raw - (32 << 20) - ((raw >> 30) * 200704);
560+
long usable = raw - (128 << 20) - ((raw >> 30) * 200704);
561561
if (usable < 0) {
562562
usable = 0L;
563563
}

plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/storage/ScaleIOStorageAdaptorTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@
2323
public class ScaleIOStorageAdaptorTest {
2424
@Test
2525
public void getUsableBytesFromRawBytesTest() {
26-
Assert.assertEquals("Overhead calculated for 8Gi size", 8554774528L, ScaleIOStorageAdaptor.getUsableBytesFromRawBytes(8L << 30));
27-
Assert.assertEquals("Overhead calculated for 4Ti size", 4294130925568L, ScaleIOStorageAdaptor.getUsableBytesFromRawBytes(4000L << 30));
28-
Assert.assertEquals("Overhead calculated for 500Gi size", 536737005568L, ScaleIOStorageAdaptor.getUsableBytesFromRawBytes(500L << 30));
26+
Assert.assertEquals("Overhead calculated for 8Gi size", 8454111232L, ScaleIOStorageAdaptor.getUsableBytesFromRawBytes(8L << 30));
27+
Assert.assertEquals("Overhead calculated for 4Ti size", 4294030262272L, ScaleIOStorageAdaptor.getUsableBytesFromRawBytes(4000L << 30));
28+
Assert.assertEquals("Overhead calculated for 500Gi size", 536636342272L, ScaleIOStorageAdaptor.getUsableBytesFromRawBytes(500L << 30));
2929
Assert.assertEquals("Unsupported small size", 0, ScaleIOStorageAdaptor.getUsableBytesFromRawBytes(1L));
3030
}
3131
}

0 commit comments

Comments
 (0)