Move lvm2_pv functions to static.

This commit is contained in:
Chantara Tith 2016-07-08 16:19:33 +07:00
parent d216ffaaea
commit 786bf82935
2 changed files with 55 additions and 10 deletions

View File

@ -173,30 +173,72 @@ bool lvm2_pv::canUnmount(const QString& deviceNode) const
return true;
}
qint64 lvm2_pv::getTotalPE(const QString& deviceNode) const
qint64 lvm2_pv::getTotalPE(const QString& deviceNode)
{
QString val = getpvField(QStringLiteral("pv_pe_count"), deviceNode);
return val.isEmpty() ? -1 : val.toLongLong();
}
qint64 lvm2_pv::getFreePE(const QString& deviceNode) const
qint64 lvm2_pv::getTotalPE(const QStringList& deviceNodeList)
{
qint64 sum = 0;
foreach (QString deviceNode, deviceNodeList) {
qint64 totalPE = getTotalPE(deviceNode);
if (totalPE < 0) {
sum = -1;
break;
}
sum += totalPE;
}
return sum;
}
qint64 lvm2_pv::getFreePE(const QString& deviceNode)
{
return getTotalPE(deviceNode) - getAllocatedPE(deviceNode);
}
qint64 lvm2_pv::getAllocatedPE(const QString& deviceNode) const
qint64 lvm2_pv::getFreePE(const QStringList& deviceNodeList)
{
qint64 sum = 0;
foreach (QString deviceNode, deviceNodeList) {
qint64 freePE = getFreePE(deviceNode);
if (freePE < 0) {
sum = -1;
break;
}
sum += freePE;
}
return sum;
}
qint64 lvm2_pv::getAllocatedPE(const QString& deviceNode)
{
QString val = getpvField(QStringLiteral("pv_pe_alloc_count"), deviceNode);
return val.isEmpty() ? -1 : val.toLongLong();
}
qint64 lvm2_pv::getPVSize(const QString& deviceNode) const
qint64 lvm2_pv::getAllocatedPE(const QStringList& deviceNodeList)
{
qint64 sum = 0;
foreach (QString deviceNode, deviceNodeList) {
qint64 allocatedPE = getAllocatedPE(deviceNode);
if (allocatedPE < 0) {
sum = -1;
break;
}
sum += allocatedPE;
}
return sum;
}
qint64 lvm2_pv::getPVSize(const QString& deviceNode)
{
QString val = getpvField(QStringLiteral("pv_size"), deviceNode);
return val.isEmpty() ? -1 : val.toLongLong();
}
qint64 lvm2_pv::getPESize(const QString& deviceNode) const
qint64 lvm2_pv::getPESize(const QString& deviceNode)
{
QString val = getpvField(QStringLiteral("vg_extent_size"), deviceNode);
return val.isEmpty() ? -1 : val.toLongLong();

View File

@ -100,11 +100,14 @@ public:
SupportTool supportToolName() const override;
bool supportToolFound() const override;
qint64 getTotalPE(const QString& deviceNode) const;
qint64 getFreePE(const QString& deviceNode) const;
qint64 getAllocatedPE(const QString& deviceNode) const;
qint64 getPESize(const QString& deviceNode) const; // return PE size in bytes
qint64 getPVSize(const QString& deviceNode) const; // return PV size in bytes
static qint64 getTotalPE(const QString& deviceNode);
static qint64 getTotalPE(const QStringList& deviceNodeList);
static qint64 getFreePE(const QString& deviceNode);
static qint64 getFreePE(const QStringList& deviceNodeList);
static qint64 getAllocatedPE(const QString& deviceNode);
static qint64 getAllocatedPE(const QStringList& deviceNodeList);
static qint64 getPESize(const QString& deviceNode); // return PE size in bytes
static qint64 getPVSize(const QString& deviceNode); // return PV size in bytes
static bool isUsed(const QString& pvNode);