From 12bc2329a228ac04057e1558348b70fbde884e37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Fri, 20 May 2016 19:17:52 +0100 Subject: [PATCH] Used space is larger for luks volumes due to payload. --- src/fs/luks.cpp | 6 +++--- src/fs/luks.h | 2 +- src/plugins/libparted/libpartedbackend.cpp | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/fs/luks.cpp b/src/fs/luks.cpp index c9ec79d..aaf958f 100644 --- a/src/fs/luks.cpp +++ b/src/fs/luks.cpp @@ -262,7 +262,7 @@ bool luks::cryptOpen(QWidget* parent, const QString& deviceNode) if (mapperNode.isEmpty()) return false; - loadInnerFileSystem(mapperNode); + loadInnerFileSystem(deviceNode, mapperNode); m_isCryptOpen = (m_innerFs != nullptr); if (m_isCryptOpen) @@ -309,7 +309,7 @@ bool luks::cryptClose(const QString& deviceNode) return false; } -void luks::loadInnerFileSystem(const QString& mapperNode) +void luks::loadInnerFileSystem(const QString& deviceNode, const QString& mapperNode) { Q_ASSERT(!m_innerFs); FileSystem::Type innerFsType = detectFileSystem(mapperNode); @@ -318,7 +318,7 @@ void luks::loadInnerFileSystem(const QString& mapperNode) setLabel(m_innerFs->readLabel(mapperNode)); setUUID(m_innerFs->readUUID(mapperNode)); if (m_innerFs->supportGetUsed() == FileSystem::cmdSupportFileSystem) // FIXME:also implement checking space if partition is mounted - setSectorsUsed(m_innerFs->readUsedCapacity(mapperNode)/m_logicalSectorSize); + setSectorsUsed(m_innerFs->readUsedCapacity(mapperNode)/m_logicalSectorSize + getPayloadOffset(deviceNode).toInt()); } void luks::createInnerFileSystem(FileSystem::Type type) diff --git a/src/fs/luks.h b/src/fs/luks.h index 2bd9d2f..612923b 100644 --- a/src/fs/luks.h +++ b/src/fs/luks.h @@ -139,7 +139,7 @@ public: bool cryptOpen(QWidget* parent, const QString& deviceNode); bool cryptClose(const QString& deviceNode); - void loadInnerFileSystem(const QString& mapperNode); + void loadInnerFileSystem(const QString& deviceNode, const QString& mapperNode); void createInnerFileSystem(Type type); bool mount(Report& report, const QString& deviceNode, const QString& mountPoint) override; diff --git a/src/plugins/libparted/libpartedbackend.cpp b/src/plugins/libparted/libpartedbackend.cpp index 8b9674c..76b870d 100644 --- a/src/plugins/libparted/libpartedbackend.cpp +++ b/src/plugins/libparted/libpartedbackend.cpp @@ -367,7 +367,7 @@ void LibPartedBackend::scanDevicePartitions(Device& d, PedDisk* pedDisk) luksFs->setLogicalSectorSize(d.logicalSectorSize()); if (isCryptOpen) { - luksFs->loadInnerFileSystem(mapperNode); + luksFs->loadInnerFileSystem(node, mapperNode); mountPoint = mountPoints.findByDevice(mapperNode) ? mountPoints.findByDevice(mapperNode)->mountPoint() :