Add ErrorCode::kNotEnoughSpace.
Virtual A/B now requires space in userdata, which may not be enough
during OTA. A kNotEnoughSpace error code is added to indicate such case.
Bug: 138808328
Test: builds
Change-Id: I6bf7964911c8eb3b9df9b8752018925a99876d0f
diff --git a/common/error_code.h b/common/error_code.h
index 3dd7402..1edbba3 100644
--- a/common/error_code.h
+++ b/common/error_code.h
@@ -83,6 +83,7 @@
kInternalLibCurlError = 57,
kUnresolvedHostError = 58,
kUnresolvedHostRecovered = 59,
+ kNotEnoughSpace = 60,
// VERY IMPORTANT! When adding new error codes:
//
diff --git a/common/error_code_utils.cc b/common/error_code_utils.cc
index 5bcbaa4..645adc5 100644
--- a/common/error_code_utils.cc
+++ b/common/error_code_utils.cc
@@ -167,6 +167,8 @@
return "ErrorCode::kUnresolvedHostError";
case ErrorCode::kUnresolvedHostRecovered:
return "ErrorCode::kUnresolvedHostRecovered";
+ case ErrorCode::kNotEnoughSpace:
+ return "ErrorCode::kNotEnoughSpace";
// Don't add a default case to let the compiler warn about newly added
// error codes which should be added here.
}
diff --git a/metrics_utils.cc b/metrics_utils.cc
index ca3b5c9..1f70874 100644
--- a/metrics_utils.cc
+++ b/metrics_utils.cc
@@ -72,6 +72,7 @@
case ErrorCode::kFilesystemCopierError:
case ErrorCode::kFilesystemVerifierError:
case ErrorCode::kVerityCalculationError:
+ case ErrorCode::kNotEnoughSpace:
return metrics::AttemptResult::kOperationExecutionError;
case ErrorCode::kDownloadMetadataSignatureMismatch:
@@ -236,6 +237,7 @@
case ErrorCode::kRollbackNotPossible:
case ErrorCode::kFirstActiveOmahaPingSentPersistenceError:
case ErrorCode::kVerityCalculationError:
+ case ErrorCode::kNotEnoughSpace:
break;
// Special flags. These can't happen (we mask them out above) but
diff --git a/payload_state.cc b/payload_state.cc
index 355552e..23ff3e2 100644
--- a/payload_state.cc
+++ b/payload_state.cc
@@ -368,6 +368,7 @@
case ErrorCode::kInternalLibCurlError:
case ErrorCode::kUnresolvedHostError:
case ErrorCode::kUnresolvedHostRecovered:
+ case ErrorCode::kNotEnoughSpace:
LOG(INFO) << "Not incrementing URL index or failure count for this error";
break;
diff --git a/update_manager/chromeos_policy.cc b/update_manager/chromeos_policy.cc
index 8056f06..22e5094 100644
--- a/update_manager/chromeos_policy.cc
+++ b/update_manager/chromeos_policy.cc
@@ -152,6 +152,7 @@
case ErrorCode::kInternalLibCurlError:
case ErrorCode::kUnresolvedHostError:
case ErrorCode::kUnresolvedHostRecovered:
+ case ErrorCode::kNotEnoughSpace:
LOG(INFO) << "Not changing URL index or failure count due to error "
<< chromeos_update_engine::utils::ErrorCodeToString(err_code)
<< " (" << static_cast<int>(err_code) << ")";