Skip to content

Commit

Permalink
Restore optimized luks::mapperName function.
Browse files Browse the repository at this point in the history
It seems that crashes are not our fault but rather of frameworkintegration.
  • Loading branch information
stikonas committed May 12, 2016
1 parent 9b5c336 commit 3bfb0b4
Showing 1 changed file with 11 additions and 13 deletions.
24 changes: 11 additions & 13 deletions src/fs/luks.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -535,20 +535,18 @@ bool luks::updateUUID(Report& report, const QString& deviceNode) const

QString luks::mapperName(const QString& deviceNode)
{
ExternalCommand cmd(QStringLiteral("find"),
{ QStringLiteral("/dev/mapper/"),
QStringLiteral("-exec"),
QStringLiteral("cryptsetup"),
QStringLiteral("status"),
QStringLiteral("{}"),
QStringLiteral(";") });
if (cmd.run()) {
QRegExp rxDeviceName(QStringLiteral("(/dev/mapper/[A-Za-z0-9-/]+) is "
"active[A-Za-z0-9- \\.\n]+[A-Za-z0-9-: \n]+") + deviceNode);
if (rxDeviceName.indexIn(cmd.output()) > -1)
return rxDeviceName.cap(1);
ExternalCommand cmd(QStringLiteral("lsblk"),
{ QStringLiteral("--raw"),
QStringLiteral("--noheadings"),
QStringLiteral("--output"),
QStringLiteral("name"),
deviceNode });
if (cmd.run(-1) && cmd.exitCode() == 0) {
QStringList output=cmd.output().split(QStringLiteral("\n"));
output.removeFirst();
if (!output.first().isEmpty())
return QStringLiteral("/dev/mapper/") + output.first();
}

return QString();
}

Expand Down

0 comments on commit 3bfb0b4

Please sign in to comment.