Loading fs_mgr/libsnapshot/include/libsnapshot/snapuserd_client.h +2 −0 Original line number Diff line number Diff line Loading @@ -69,6 +69,8 @@ class SnapuserdClient { // must ONLY be called if the control device has already been deleted. bool WaitForDeviceDelete(const std::string& control_device); void CloseConnection() { sockfd_ = {}; } // Detach snapuserd. This shuts down the listener socket, and will cause // snapuserd to gracefully exit once all handler threads have terminated. // This should only be used on first-stage instances of snapuserd. Loading fs_mgr/libsnapshot/snapshot.cpp +11 −0 Original line number Diff line number Diff line Loading @@ -2297,6 +2297,17 @@ bool SnapshotManager::UnmapAllSnapshots(LockedFile* lock) { return false; } } // Terminate the daemon and release the snapuserd_client_ object. // If we need to re-connect with the daemon, EnsureSnapuserdConnected() // will re-create the object and establish the socket connection. if (snapuserd_client_) { LOG(INFO) << "Shutdown snapuserd daemon"; snapuserd_client_->DetachSnapuserd(); snapuserd_client_->CloseConnection(); snapuserd_client_ = nullptr; } return true; } Loading fs_mgr/libsnapshot/snapshot_test.cpp +2 −0 Original line number Diff line number Diff line Loading @@ -2019,6 +2019,8 @@ TEST_F(SnapshotUpdateTest, MapAllSnapshots) { // Read bytes back and verify they match the cache. ASSERT_TRUE(IsPartitionUnchanged("sys_b")); ASSERT_TRUE(sm->UnmapAllSnapshots()); } TEST_F(SnapshotUpdateTest, CancelOnTargetSlot) { Loading Loading
fs_mgr/libsnapshot/include/libsnapshot/snapuserd_client.h +2 −0 Original line number Diff line number Diff line Loading @@ -69,6 +69,8 @@ class SnapuserdClient { // must ONLY be called if the control device has already been deleted. bool WaitForDeviceDelete(const std::string& control_device); void CloseConnection() { sockfd_ = {}; } // Detach snapuserd. This shuts down the listener socket, and will cause // snapuserd to gracefully exit once all handler threads have terminated. // This should only be used on first-stage instances of snapuserd. Loading
fs_mgr/libsnapshot/snapshot.cpp +11 −0 Original line number Diff line number Diff line Loading @@ -2297,6 +2297,17 @@ bool SnapshotManager::UnmapAllSnapshots(LockedFile* lock) { return false; } } // Terminate the daemon and release the snapuserd_client_ object. // If we need to re-connect with the daemon, EnsureSnapuserdConnected() // will re-create the object and establish the socket connection. if (snapuserd_client_) { LOG(INFO) << "Shutdown snapuserd daemon"; snapuserd_client_->DetachSnapuserd(); snapuserd_client_->CloseConnection(); snapuserd_client_ = nullptr; } return true; } Loading
fs_mgr/libsnapshot/snapshot_test.cpp +2 −0 Original line number Diff line number Diff line Loading @@ -2019,6 +2019,8 @@ TEST_F(SnapshotUpdateTest, MapAllSnapshots) { // Read bytes back and verify they match the cache. ASSERT_TRUE(IsPartitionUnchanged("sys_b")); ASSERT_TRUE(sm->UnmapAllSnapshots()); } TEST_F(SnapshotUpdateTest, CancelOnTargetSlot) { Loading