diff --git a/src/modules/partition/jobs/CheckFileSystemJob.cpp b/src/modules/partition/jobs/CheckFileSystemJob.cpp index 7ceb0805a..686621db1 100644 --- a/src/modules/partition/jobs/CheckFileSystemJob.cpp +++ b/src/modules/partition/jobs/CheckFileSystemJob.cpp @@ -18,6 +18,8 @@ #include "jobs/CheckFileSystemJob.h" +#include + // KPMcore #include #include @@ -54,11 +56,18 @@ CheckFileSystemJob::exec() Report report( nullptr ); bool ok = fs.check( report, partition()->partitionPath() ); if ( !ok ) - return Calamares::JobResult::error( - tr( "The file system check on partition %1 failed." ) - .arg( partition()->partitionPath() ), - report.toText() - ); + { + cDebug() << "Filesystem check failed for" << partition()->partitionPath() + << ", retrying..."; + ok = fs.check( report, partition()->partitionPath() ); + + if ( !ok ) + return Calamares::JobResult::error( + tr( "The file system check on partition %1 failed." ) + .arg( partition()->partitionPath() ), + report.toText() + ); + } return Calamares::JobResult::ok(); }