summaryrefslogtreecommitdiff
path: root/src/libcalamares/utils/Units.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libcalamares/utils/Units.h')
-rw-r--r--src/libcalamares/utils/Units.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/libcalamares/utils/Units.h b/src/libcalamares/utils/Units.h
index 74c809362..e6d46aaed 100644
--- a/src/libcalamares/utils/Units.h
+++ b/src/libcalamares/utils/Units.h
@@ -78,5 +78,19 @@ constexpr int BytesToMiB( qint64 b )
return int( b / 1024 / 1024 );
}
+constexpr qint64 alignBytesToBlockSize( qint64 bytes, qint64 blocksize )
+{
+ qint64 blocks = bytes / blocksize;
+
+ if ( blocks * blocksize != bytes )
+ ++blocks;
+ return blocks * blocksize;
+}
+
+constexpr qint64 bytesToSectors( qint64 bytes, qint64 blocksize )
+{
+ return alignBytesToBlockSize( alignBytesToBlockSize( bytes, blocksize), MiBtoBytes(1ULL) ) / blocksize;
+}
+
} // namespace
#endif