From 6013b5887cf8a82666ece5a68e4326f81d7d6dd4 Mon Sep 17 00:00:00 2001 From: Teo Mrnjavac Date: Thu, 5 May 2016 14:15:39 +0200 Subject: [PATCH] Always use outer UUID for mapper name. --- src/fs/luks.cpp | 7 ++++++- src/fs/luks.h | 3 +++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/fs/luks.cpp b/src/fs/luks.cpp index 3d51077..9637eba 100644 --- a/src/fs/luks.cpp +++ b/src/fs/luks.cpp @@ -454,7 +454,7 @@ FileSystem::Type luks::type() const QString luks::suggestedMapperName(const QString& deviceNode) const { - return QStringLiteral("luks-") + readUUID(deviceNode); + return QStringLiteral("luks-") + readOuterUUID(deviceNode); } QString luks::readLabel(const QString& deviceNode) const @@ -507,6 +507,11 @@ QString luks::readUUID(const QString& deviceNode) const { if (m_isCryptOpen && m_innerFs) return m_innerFs->readUUID(mapperName(deviceNode)); + return readOuterUUID(deviceNode); +} + +QString luks::readOuterUUID(const QString &deviceNode) const +{ ExternalCommand cmd(QStringLiteral("cryptsetup"), { QStringLiteral("luksUUID"), deviceNode }); if (cmd.run()) { diff --git a/src/fs/luks.h b/src/fs/luks.h index 1fb1573..f6c13f8 100644 --- a/src/fs/luks.h +++ b/src/fs/luks.h @@ -149,6 +149,9 @@ public: static QString getPayloadOffset(const QString& deviceNode); static bool canEncryptType(FileSystem::Type type); +protected: + virtual QString readOuterUUID(const QString& deviceNode) const; + public: static CommandSupportType m_GetUsed; static CommandSupportType m_GetLabel;