From 34e091833db99f4434432f4291f8b4e9d21f0204 Mon Sep 17 00:00:00 2001 From: Caio Carvalho Date: Tue, 9 Apr 2019 23:12:31 -0600 Subject: [PATCH 1/3] [partition] Fixing LVM scanning according to new kpmcore API --- src/modules/partition/core/PartitionCoreModule.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/modules/partition/core/PartitionCoreModule.cpp b/src/modules/partition/core/PartitionCoreModule.cpp index 5d9b21bb0..1ee63c1b5 100644 --- a/src/modules/partition/core/PartitionCoreModule.cpp +++ b/src/modules/partition/core/PartitionCoreModule.cpp @@ -55,6 +55,7 @@ #include #include #include +#include #include #include #include @@ -686,12 +687,13 @@ PartitionCoreModule::scanForLVMPVs() } } - // Update LVM::pvList - LvmDevice::scanSystemLVM( physicalDevices ); - #ifdef WITH_KPMCOREGT33 + VolumeManagerDevice::scanDevices( physicalDevices ); + for ( auto p : LVM::pvList::list() ) #else + LvmDevice::scanSystemLVM( physicalDevices ); + for ( auto p : LVM::pvList ) #endif { From 2c33535ee8800b5d77916e05baa10da560f57dd2 Mon Sep 17 00:00:00 2001 From: Caio Carvalho Date: Tue, 9 Apr 2019 23:14:34 -0600 Subject: [PATCH 2/3] [partition] Using std::find_if to search in container for elements according to a condition --- .../partition/core/PartitionCoreModule.cpp | 22 ++++++++----------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/src/modules/partition/core/PartitionCoreModule.cpp b/src/modules/partition/core/PartitionCoreModule.cpp index 1ee63c1b5..e06d191b8 100644 --- a/src/modules/partition/core/PartitionCoreModule.cpp +++ b/src/modules/partition/core/PartitionCoreModule.cpp @@ -551,26 +551,22 @@ PartitionCoreModule::lvmPVs() const bool PartitionCoreModule::hasVGwithThisName( const QString& name ) const { - for ( DeviceInfo* d : m_deviceInfos ) - if ( dynamic_cast(d->device.data()) && - d->device.data()->name() == name) - return true; + auto condition = [ name ]( DeviceInfo* d ) { + return dynamic_cast(d->device.data()) && d->device.data()->name() == name; + }; - return false; + return std::find_if( m_deviceInfos.begin(), m_deviceInfos.end(), condition ) != m_deviceInfos.end(); } bool PartitionCoreModule::isInVG( const Partition *partition ) const { - for ( DeviceInfo* d : m_deviceInfos ) - { - LvmDevice* vg = dynamic_cast( d->device.data() ); + auto condition = [ partition ]( DeviceInfo* d ) { + LvmDevice* vg = dynamic_cast( d->device.data()); + return vg && vg->physicalVolumes().contains( partition ); + }; - if ( vg && vg->physicalVolumes().contains( partition )) - return true; - } - - return false; + return std::find_if( m_deviceInfos.begin(), m_deviceInfos.end(), condition ) != m_deviceInfos.end(); } void From 4d1522a82004ba21995ce8808a47501a08c2cd4f Mon Sep 17 00:00:00 2001 From: Caio Carvalho Date: Tue, 9 Apr 2019 23:16:29 -0600 Subject: [PATCH 3/3] Documentation: update AUTHORS --- AUTHORS | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS b/AUTHORS index a1c1bae5b..36ffdcdab 100644 --- a/AUTHORS +++ b/AUTHORS @@ -11,6 +11,7 @@ Andrius Štikonas Bernhard Landauer Bezzy1999 bill-auger +Caio Jordão Carvalho crispg72 demmm Gabriel Craciunescu