Signed-off-by: Jason Dillaman <dillaman@redhat.com>
assert(m_on_finish == nullptr);
m_on_finish = on_finish;
m_ret_val = 0;
- m_removing = true;
get_instance_locker();
}
void InstanceWatcher<I>::handle_remove_instance_object(int r) {
dout(10) << "r=" << r << dendl;
- if (m_removing && r == -ENOENT) {
+ if (r == -ENOENT) {
r = 0;
}
std::swap(on_finish, m_on_finish);
r = m_ret_val;
-
- if (m_removing) {
- m_removing = false;
- }
}
on_finish->complete(r);
}
librbd::ManagedLock<ImageCtxT> *m_instance_lock;
Context *m_on_finish = nullptr;
int m_ret_val = 0;
- bool m_removing = false;
std::string m_leader_instance_id;
librbd::managed_lock::Locker m_instance_locker;
std::set<std::pair<std::string, C_NotifyInstanceRequest *>> m_notify_ops;