[partition] Add support for filesystem-specific features

This commit is contained in:
Gaël PORTAY 2020-03-16 17:25:55 -04:00
parent 2eb84e2de1
commit 15cce29a51
7 changed files with 36 additions and 2 deletions

View file

@ -120,6 +120,7 @@ bool
PartitionLayout::addEntry( const QString& label,
const QString& mountPoint,
const QString& fs,
const QVariantMap& features,
const QString& size,
const QString& min,
const QString& max )
@ -144,6 +145,7 @@ PartitionLayout::addEntry( const QString& label,
{
entry.partFileSystem = m_defaultFsType;
}
entry.partFeatures = features;
m_partLayout.append( entry );
@ -239,6 +241,15 @@ PartitionLayout::execute( Device* dev,
{
currentPartition->fileSystem().setLabel( part.partLabel );
}
if ( !part.partFeatures.isEmpty() )
{
#if defined( WITH_KPMCORE42API )
for ( const auto& k : part.partFeatures.keys() )
currentPartition->fileSystem().addFeature( k, part.partFeatures.value(k) );
#else
cWarning() << "Ignoring features; requires KPMcore >= 4.2.0.";
#endif
}
// Some buggy (legacy) BIOSes test if the bootflag of at least one partition is set.
// Otherwise they ignore the device in boot-order, so add it here.
partList.append( currentPartition );