From f72f7bd8fef1247c8c971af4190416055ded9855 Mon Sep 17 00:00:00 2001 From: Caio Carvalho Date: Thu, 10 May 2018 18:37:37 -0300 Subject: [PATCH] [partition] Only bootloader model should ignore devices that are not of Disk_Device type. --- src/modules/partition/core/DeviceList.cpp | 7 +------ src/modules/partition/core/PartitionCoreModule.cpp | 13 ++++++++++++- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/modules/partition/core/DeviceList.cpp b/src/modules/partition/core/DeviceList.cpp index 3695193b4..d7e6bab29 100644 --- a/src/modules/partition/core/DeviceList.cpp +++ b/src/modules/partition/core/DeviceList.cpp @@ -129,12 +129,7 @@ QList< Device* > getDevices( DeviceType which, qint64 minimumSize ) // Remove the device which contains / from the list for ( DeviceList::iterator it = devices.begin(); it != devices.end(); ) - if ( (*it)->type() != Device::Type::Disk_Device ) - { - cDebug() << " .. Removing device that is not a Disk_Device from list " << it; - it = erase(devices, it ); - } - else if ( ! ( *it ) || + if ( ! ( *it ) || ( *it )->deviceNode().startsWith( "/dev/zram" ) ) { diff --git a/src/modules/partition/core/PartitionCoreModule.cpp b/src/modules/partition/core/PartitionCoreModule.cpp index c508e04ef..43ba33d7b 100644 --- a/src/modules/partition/core/PartitionCoreModule.cpp +++ b/src/modules/partition/core/PartitionCoreModule.cpp @@ -164,7 +164,18 @@ PartitionCoreModule::doInit() for ( auto deviceInfo : m_deviceInfos ) deviceInfo->partitionModel->init( deviceInfo->device.data(), m_osproberLines ); - m_bootLoaderModel->init( devices ); + DeviceList bootLoaderDevices; + + for ( DeviceList::Iterator it = devices.begin(); it != devices.end(); ++it) + if ( (*it)->type() != Device::Type::Disk_Device ) + { + cDebug() << "Ignoring device that is not Disk_Device to bootLoaderDevices list."; + continue; + } + else + bootLoaderDevices.append(*it); + + m_bootLoaderModel->init( bootLoaderDevices ); //FIXME: this should be removed in favor of // proper KPM support for EFI