mirror of
https://github.com/ceph/ceph
synced 2025-01-01 16:42:29 +00:00
mds: reset heartbeat in each MDSContext complete()
Before we switching the mds_lock to a fair mutex, the Finisher could always successfully acquire the mds_lock if there has a number of contextes finished. So it may take a long time to finish and will delay kicking the heartbeat. While even we have fix the mds_lock issue, it may still will happen in case the complete() itself will take a long time to finish or there has a number of contextes keep comming, which could make the Finisher thread keep running. Signed-off-by: Xiubo Li <xiubli@redhat.com>
This commit is contained in:
parent
0c021eb69b
commit
9f7110501f
@ -26,6 +26,7 @@ void MDSContext::complete(int r) {
|
||||
ceph_assert(mds != nullptr);
|
||||
ceph_assert(ceph_mutex_is_locked_by_me(mds->mds_lock));
|
||||
dout(10) << "MDSContext::complete: " << typeid(*this).name() << dendl;
|
||||
mds->heartbeat_reset();
|
||||
return Context::complete(r);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user