From e7c5a2b1a5894ae4227d043a61794eabf5756b3c Mon Sep 17 00:00:00 2001 From: Teo Mrnjavac Date: Fri, 17 Jun 2016 12:07:57 +0200 Subject: [PATCH] Try running fsck twice before giving up. --- .../partition/jobs/CheckFileSystemJob.cpp | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) 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(); }