summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Anderson <dvander@google.com>2021-01-21 20:13:35 -0800
committerDavid Anderson <dvander@google.com>2021-01-25 13:54:45 -0800
commit71ab9dbebaa19a800b6fd64ea34432db900d570c (patch)
tree71bec2b44ff602418acfe543e69a329004397cdc
parentad7d1d13a4f79ad2a5341023b9fc746b3868d10b (diff)
libsnapshot: Do not attempt compression features in recovery.
Test: adb sideload Change-Id: Ic69fc2f5c37a5d4fc0fcd0819ebf58e0249f7773
-rw-r--r--fs_mgr/libsnapshot/snapshot.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/fs_mgr/libsnapshot/snapshot.cpp b/fs_mgr/libsnapshot/snapshot.cpp
index b55d9a0b1..34c684c8b 100644
--- a/fs_mgr/libsnapshot/snapshot.cpp
+++ b/fs_mgr/libsnapshot/snapshot.cpp
@@ -2130,10 +2130,6 @@ bool SnapshotManager::UnmapCowDevices(LockedFile* lock, const std::string& name)
bool SnapshotManager::UnmapDmUserDevice(const std::string& snapshot_name) {
auto& dm = DeviceMapper::Instance();
- if (!EnsureSnapuserdConnected()) {
- return false;
- }
-
auto dm_user_name = GetDmUserCowName(snapshot_name);
if (dm.GetState(dm_user_name) == DmDeviceState::INVALID) {
return true;
@@ -2144,6 +2140,9 @@ bool SnapshotManager::UnmapDmUserDevice(const std::string& snapshot_name) {
return false;
}
+ if (!EnsureSnapuserdConnected()) {
+ return false;
+ }
if (!snapuserd_client_->WaitForDeviceDelete(dm_user_name)) {
LOG(ERROR) << "Failed to wait for " << dm_user_name << " control device to delete";
return false;
@@ -2585,8 +2584,9 @@ Return SnapshotManager::CreateUpdateSnapshots(const DeltaArchiveManifest& manife
// these devices.
AutoDeviceList created_devices;
- bool use_compression =
- IsCompressionEnabled() && manifest.dynamic_partition_metadata().vabc_enabled();
+ bool use_compression = IsCompressionEnabled() &&
+ manifest.dynamic_partition_metadata().vabc_enabled() &&
+ !device_->IsRecovery();
PartitionCowCreator cow_creator{
.target_metadata = target_metadata.get(),