Merge "DO NOT MERGE: libsnapshot: Fix test failures on certain configurations." into android13-tests-dev

This commit is contained in:
David Anderson 2023-05-17 18:22:26 +00:00 committed by Gerrit Code Review
commit 1264f39449
4 changed files with 12 additions and 3 deletions

View file

@ -3166,7 +3166,8 @@ Return SnapshotManager::CreateUpdateSnapshots(const DeltaArchiveManifest& manife
<< " writer.GetCowVersion(): " << writer.GetCowVersion();
bool use_compression = IsCompressionEnabled() && dap_metadata.vabc_enabled() &&
!device_->IsRecovery() && cow_format_support;
!device_->IsRecovery() && cow_format_support &&
KernelSupportsCompressedSnapshots();
std::string compression_algorithm;
if (use_compression) {

View file

@ -2760,7 +2760,7 @@ bool IsDaemonRequired() {
return true;
}
return IsUserspaceSnapshotsEnabled();
return IsUserspaceSnapshotsEnabled() && KernelSupportsCompressedSnapshots();
}
bool ShouldUseCompression() {
@ -2770,7 +2770,7 @@ bool ShouldUseCompression() {
if (FLAGS_force_config == "vabc") {
return true;
}
return IsCompressionEnabled();
return IsCompressionEnabled() && KernelSupportsCompressedSnapshots();
}
} // namespace snapshot

View file

@ -26,7 +26,9 @@
#include <android-base/properties.h>
#include <android-base/strings.h>
#include <fs_mgr/roots.h>
#include <libdm/dm.h>
using android::dm::DeviceMapper;
using android::dm::kSectorSize;
using android::fiemap::FiemapStatus;
using android::fs_mgr::EnsurePathMounted;
@ -208,5 +210,10 @@ bool IsDmSnapshotTestingEnabled() {
return android::base::GetBoolProperty("snapuserd.test.dm.snapshots", false);
}
bool KernelSupportsCompressedSnapshots() {
auto& dm = DeviceMapper::Instance();
return dm.GetTargetByName("user", nullptr);
}
} // namespace snapshot
} // namespace android

View file

@ -129,6 +129,7 @@ std::ostream& operator<<(std::ostream& os, const Now&);
void AppendExtent(google::protobuf::RepeatedPtrField<chromeos_update_engine::Extent>* extents,
uint64_t start_block, uint64_t num_blocks);
bool KernelSupportsCompressedSnapshots();
bool IsCompressionEnabled();
bool IsUserspaceSnapshotsEnabled();