From 755eb6b6069efb3edbbaa335899d34369ddea83a Mon Sep 17 00:00:00 2001 From: Yifan Hong Date: Fri, 12 Jun 2020 14:19:46 -0700 Subject: [PATCH] libsnapshot_test: hardcode alignment. SnapshotUpdateTest uses a relatively small super partition, which requires a small alignment and 0 alignment offset to work. For the purpose of this test, hardcode the alignment and offset. This test isn't about testing liblp or libdm. Fixes: 154355449 Fixes: 157437632 Bug: 158718136 Bug: 157633441 Bug: 154646936 Test: atest on devices with alignment of data partition >= 512KiB Change-Id: I1d0474f028cc824bd4197d0228350395239b3b81 (cherry picked from commit 31739669e91c7a3afc5bee23e43bc45fb4154667) Merged-In: I1d0474f028cc824bd4197d0228350395239b3b81 --- fs_mgr/libsnapshot/test_helpers.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/fs_mgr/libsnapshot/test_helpers.cpp b/fs_mgr/libsnapshot/test_helpers.cpp index f82a60275..de3d91246 100644 --- a/fs_mgr/libsnapshot/test_helpers.cpp +++ b/fs_mgr/libsnapshot/test_helpers.cpp @@ -52,10 +52,19 @@ android::base::unique_fd TestPartitionOpener::Open(const std::string& partition_ bool TestPartitionOpener::GetInfo(const std::string& partition_name, android::fs_mgr::BlockDeviceInfo* info) const { - if (partition_name == "super") { - return PartitionOpener::GetInfo(fake_super_path_, info); + if (partition_name != "super") { + return PartitionOpener::GetInfo(partition_name, info); } - return PartitionOpener::GetInfo(partition_name, info); + + if (PartitionOpener::GetInfo(fake_super_path_, info)) { + // SnapshotUpdateTest uses a relatively small super partition, which requires a small + // alignment and 0 offset to work. For the purpose of this test, hardcode the alignment + // and offset. This test isn't about testing liblp or libdm. + info->alignment_offset = 0; + info->alignment = std::min(info->alignment, static_cast(128_KiB)); + return true; + } + return false; } std::string TestPartitionOpener::GetDeviceString(const std::string& partition_name) const {