DO NOT MERGE: libsnapshot: Fix test failures on certain configurations. am: 3f96053b38

Original change: https://android-review.googlesource.com/c/platform/system/core/+/2577014

Change-Id: Ib5a3310a0d0903240140455acc321db67c0258be
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
David Anderson 2023-05-17 19:00:27 +00:00 committed by Automerger Merge Worker
commit c287a094af
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();