diff options
author | David Anderson <dvander@google.com> | 2021-01-21 20:13:35 -0800 |
---|---|---|
committer | David Anderson <dvander@google.com> | 2021-01-25 13:54:45 -0800 |
commit | 71ab9dbebaa19a800b6fd64ea34432db900d570c (patch) | |
tree | 71bec2b44ff602418acfe543e69a329004397cdc | |
parent | ad7d1d13a4f79ad2a5341023b9fc746b3868d10b (diff) |
libsnapshot: Do not attempt compression features in recovery.
Test: adb sideload
Change-Id: Ic69fc2f5c37a5d4fc0fcd0819ebf58e0249f7773
-rw-r--r-- | fs_mgr/libsnapshot/snapshot.cpp | 12 |
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(), |