From 0616cb17c2ff4eee4aa4915977cda4f7e233281f Mon Sep 17 00:00:00 2001 From: Akilesh Kailash Date: Thu, 13 Jan 2022 09:08:08 +0000 Subject: [PATCH] libsnapshot: Terminate snapuserd daemon after merge completion Bug: 214340811 Test: OTA Signed-off-by: Akilesh Kailash Change-Id: Icaed87feb7760074d743229856f23f3599e03c62 --- fs_mgr/libsnapshot/snapshot.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/fs_mgr/libsnapshot/snapshot.cpp b/fs_mgr/libsnapshot/snapshot.cpp index 18a9d2290..f3de2b4be 100644 --- a/fs_mgr/libsnapshot/snapshot.cpp +++ b/fs_mgr/libsnapshot/snapshot.cpp @@ -1467,6 +1467,14 @@ void SnapshotManager::AcknowledgeMergeSuccess(LockedFile* lock) { } RemoveAllUpdateState(lock); + + if (UpdateUsesUserSnapshots(lock) && !device()->IsTestDevice()) { + if (snapuserd_client_) { + snapuserd_client_->DetachSnapuserd(); + snapuserd_client_->CloseConnection(); + snapuserd_client_ = nullptr; + } + } } void SnapshotManager::AcknowledgeMergeFailure(MergeFailureCode failure_code) { @@ -3200,7 +3208,7 @@ Return SnapshotManager::CreateUpdateSnapshots(const DeltaArchiveManifest& manife // Terminate stale daemon if any std::unique_ptr snapuserd_client = - SnapuserdClient::Connect(kSnapuserdSocket, 10s); + SnapuserdClient::Connect(kSnapuserdSocket, 5s); if (snapuserd_client) { snapuserd_client->DetachSnapuserd(); snapuserd_client->CloseConnection();