Use qCeil to set used sectors for luks file systems.

When using LUKS encrypted LVM logical volumes sector size is large and
we cannot assume that result of division is integer. Without this, number of
used extents can be underestimated by one.
This commit is contained in:
Andrius Štikonas 2017-01-26 17:40:41 +00:00
parent 901d01185f
commit b5b3af4b22
1 changed files with 2 additions and 1 deletions

View File

@ -32,6 +32,7 @@
#include <QPointer>
#include <QRegularExpression>
#include <QString>
#include <QtMath>
#include <QUuid>
#include <KDiskFreeSpaceInfo>
@ -333,7 +334,7 @@ void luks::loadInnerFileSystem(const QString& mapperNode)
setLabel(m_innerFs->readLabel(mapperNode));
setUUID(m_innerFs->readUUID(mapperNode));
if (m_innerFs->supportGetUsed() == FileSystem::cmdSupportFileSystem)
setSectorsUsed((m_innerFs->readUsedCapacity(mapperNode) + payloadOffset()) / m_logicalSectorSize );
setSectorsUsed(qCeil((m_innerFs->readUsedCapacity(mapperNode) + payloadOffset()) / static_cast<float>(m_logicalSectorSize) ));
m_innerFs->scan(mapperNode);
}