Project

General

Profile

Bug #14374

MDS asok handlers trigger lock cycle assertion if they take mds_lock

Added by John Spray about 8 years ago. Updated about 8 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
% Done:

0%

Source:
other
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(FS):
Labels (FS):
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

http://pulpito.ceph.com/gregf-2016-01-12_23:29:42-fs-greg-fs-speculative---basic-mira/26556

The asok handler is correct to be taking the lock, but it's in conflict with initialization where we do MDSDaemon::mds_lock -> AdminSocket::m_lock.

There are other commands that take the lock (i.e. we already had a bug, but the new status command gets called frequently enough to expose it, whereas the others not so).

Associated revisions

Revision 9588efe2 (diff)
Added by John Spray about 8 years ago

mds: Fix lock ordering around asok registration

Because we acquire mds_lock inside asok handlers,
we must not hold mds_lock while registering our commands.

Fixes: #14374
Signed-off-by: John Spray <>

Revision 26d10326 (diff)
Added by John Spray about 8 years ago

mds: Fix lock ordering around asok registration

Because we acquire mds_lock inside asok handlers,
we must not hold mds_lock while registering our commands.

Fixes: #14374
Signed-off-by: John Spray <>

History

#1 Updated by John Spray about 8 years ago

  • Status changed from New to Fix Under Review

#2 Updated by Zheng Yan about 8 years ago

  • Status changed from Fix Under Review to Resolved

Also available in: Atom PDF