From 5befd7484ef41f6673377fab19ef890b103a500e Mon Sep 17 00:00:00 2001 From: Chantara Tith Date: Mon, 8 Aug 2016 10:43:52 +0700 Subject: [PATCH] Decouple VG scan and system scan. --- src/core/lvmdevice.cpp | 23 ++++++++++++++--------- src/core/lvmdevice.h | 1 + 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/src/core/lvmdevice.cpp b/src/core/lvmdevice.cpp index 9cb6846..37faa65 100644 --- a/src/core/lvmdevice.cpp +++ b/src/core/lvmdevice.cpp @@ -182,13 +182,8 @@ Partition* LvmDevice::scanPartition(const QString& lvpath, PartitionTable* pTabl QList LvmDevice::scanSystemLVM() { QList lvmList; - - QString output = getField(QStringLiteral("vg_name")); - if (!output.isEmpty()) { - QStringList vgnameList = output.split(QStringLiteral("\n"), QString::SkipEmptyParts); - foreach(QString vgname, vgnameList) { - lvmList.append(new LvmDevice(vgname.trimmed())); - } + foreach (QString vgname, getVGs()) { + lvmList.append(new LvmDevice(vgname)); } return lvmList; } @@ -218,8 +213,18 @@ QStringList LvmDevice::lvPathList() const return *LVPathList(); } - - +QStringList LvmDevice::getVGs() +{ + QStringList vgList; + QString output = getField(QStringLiteral("vg_name")); + if (!output.isEmpty()) { + QStringList vgnameList = output.split(QStringLiteral("\n"), QString::SkipEmptyParts); + foreach(QString vgname, vgnameList) { + vgList.append(vgname.trimmed()); + } + } + return vgList; +} QStringList LvmDevice::getPVs(const QString& vgname) { diff --git a/src/core/lvmdevice.h b/src/core/lvmdevice.h index 27b90ed..6cb210b 100644 --- a/src/core/lvmdevice.h +++ b/src/core/lvmdevice.h @@ -68,6 +68,7 @@ public: static QStringList getPVs(const QString& vgname); static QStringList getLVs(const QString& vgname); + static QStringList getVGs(); static bool removeLV(Report& report, LvmDevice& dev, Partition& part); static bool createLV(Report& report, LvmDevice& dev, Partition& part, const QString& lvname);