LVM support #6
|
@ -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();
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
Loading…
Reference in New Issue