From 3b6c764f753f92cac394c4b57b371719b8c2cc5c Mon Sep 17 00:00:00 2001 From: Caio Carvalho Date: Mon, 11 Jun 2018 18:38:57 -0300 Subject: [PATCH] [partition] Fixing revert device loop error in PartitionCoreModule::revertAllDevices. --- src/modules/partition/core/PartitionCoreModule.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/modules/partition/core/PartitionCoreModule.cpp b/src/modules/partition/core/PartitionCoreModule.cpp index fc7ce9753..1f84e55be 100644 --- a/src/modules/partition/core/PartitionCoreModule.cpp +++ b/src/modules/partition/core/PartitionCoreModule.cpp @@ -683,7 +683,7 @@ PartitionCoreModule::revertAllDevices() for ( auto it = m_deviceInfos.begin(); it != m_deviceInfos.end(); ) { // In new VGs device info, there will be always a CreateVolumeGroupJob as the first job in jobs list - if ( !( *it )->jobs.empty() ) + if ( dynamic_cast( ( *it )->device.data() ) && !( *it )->jobs.empty() ) { CreateVolumeGroupJob* vgJob = dynamic_cast( ( *it )->jobs[0].data() ); @@ -697,14 +697,12 @@ PartitionCoreModule::revertAllDevices() it = m_deviceInfos.erase( it ); - scanForLVMPVs(); + continue; } } - else - { - revertDevice( ( *it )->device.data() ); - ++it; - } + + revertDevice( ( *it )->device.data() ); + ++it; } refresh();