diff --git a/src/modules/partition/core/KPMHelpers.cpp b/src/modules/partition/core/KPMHelpers.cpp index eba4a41b6..8caca3dbb 100644 --- a/src/modules/partition/core/KPMHelpers.cpp +++ b/src/modules/partition/core/KPMHelpers.cpp @@ -299,6 +299,24 @@ cryptVersion( Partition* partition ) return luksVersion; } +FileSystem::Type +luksGenerationToFSName( Config::LuksGeneration luksGeneration ) +{ + // Convert luksGenerationChoice from partition.conf into its + // corresponding file system type from KPMCore. + switch ( luksGeneration ) + { + case Config::LuksGeneration::Luks2: + return FileSystem::Type::Luks2; + case Config::LuksGeneration::Luks1: + return FileSystem::Type::Luks; + default: + cWarning() << "luksGeneration not supported, defaulting to \"luks\""; + return FileSystem::Type::Luks; + } +} + + Calamares::JobResult execute( Operation& operation, const QString& failureMessage ) { diff --git a/src/modules/partition/core/KPMHelpers.h b/src/modules/partition/core/KPMHelpers.h index 7e3316cd6..0ab33790d 100644 --- a/src/modules/partition/core/KPMHelpers.h +++ b/src/modules/partition/core/KPMHelpers.h @@ -11,6 +11,7 @@ #ifndef KPMHELPERS_H #define KPMHELPERS_H +#include "Config.h" #include "Job.h" #include @@ -120,6 +121,17 @@ bool cryptLabel( Partition* partition, const QString& label ); */ int cryptVersion( Partition* partition ); +/** @brief Convert a luksGeneration into its FS type for KPMCore. + * + * Will convert Luks1 into FileSystem::Type::luks and Luks2 into + * FileSystem::Type::luks2 for KPMCore partitioning functions. + * + * @return The LUKS FS type (default @c luks ) + */ +FileSystem::Type +luksGenerationToFSName( Config::LuksGeneration luksGeneration ); + + /** @brief Return a result for an @p operation * * Executes the operation, and if successful, returns a success result.