aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com>2024-04-16 23:23:33 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2024-04-16 23:23:33 +0000
commit6ec513b15cbd6bf3b9a8e5774903780140b0066d (patch)
treee2b62305a51a61373d9fd25743b362e691643ce1
parent9e50fa0fb53815024bebf776747e84d3f72ad924 (diff)
parenta522bcb3f662cabd435ec0459daebf290f8eec9f (diff)
downloadcuttlefish-6ec513b15cbd6bf3b9a8e5774903780140b0066d.tar.gz
Merge "Preserve legacy logs on restore" into main
-rw-r--r--host/commands/assemble_cvd/assemble_cvd.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/host/commands/assemble_cvd/assemble_cvd.cc b/host/commands/assemble_cvd/assemble_cvd.cc
index e396cb0ed..5ad253b71 100644
--- a/host/commands/assemble_cvd/assemble_cvd.cc
+++ b/host/commands/assemble_cvd/assemble_cvd.cc
@@ -132,6 +132,10 @@ Result<void> CreateLegacySymlinks(
for (const auto& log_file : log_files) {
auto symlink_location = instance.PerInstancePath(log_file.c_str());
auto log_target = "logs/" + log_file; // Relative path
+ if (FileExists(symlink_location, /* follow_symlinks */ false)) {
+ CF_EXPECT(RemoveFile(symlink_location),
+ "Failed to remove symlink " << symlink_location);
+ }
if (symlink(log_target.c_str(), symlink_location.c_str()) != 0) {
return CF_ERRNO("symlink(\"" << log_target << ", " << symlink_location
<< ") failed");
@@ -244,6 +248,16 @@ Result<std::set<std::string>> PreservingOnResume(
preserving.insert("vbmeta.img");
preserving.insert("oemlock_secure");
preserving.insert("oemlock_insecure");
+ // Preserve logs if restoring from a snapshot.
+ if (!snapshot_path.empty()) {
+ preserving.insert("kernel.log");
+ preserving.insert("launcher.log");
+ preserving.insert("logcat");
+ preserving.insert("modem_simulator.log");
+ preserving.insert("crosvm_openwrt.log");
+ preserving.insert("crosvm_openwrt_boot.log");
+ preserving.insert("metrics.log");
+ }
for (int i = 0; i < modem_simulator_count; i++) {
std::stringstream ss;
ss << "iccprofile_for_sim" << i << ".xml";