mirror of
https://github.com/ceph/ceph
synced 2024-12-18 09:25:49 +00:00
mgr/Mgr: drop lock while fetching config-keys
This avoids a deadlock if some other message arrives before the command reply and needs to take the mgr lock in dispatch. Signed-off-by: Sage Weil <sage@redhat.com>
This commit is contained in:
parent
6d5e0132d9
commit
025934423f
@ -193,6 +193,7 @@ void Mgr::init()
|
||||
}
|
||||
|
||||
dout(4) << "waiting for config-keys..." << dendl;
|
||||
|
||||
// Preload config keys (`get` for plugins is to be a fast local
|
||||
// operation, we we don't have to synchronize these later because
|
||||
// all sets will come via mgr)
|
||||
@ -305,8 +306,9 @@ void Mgr::load_config()
|
||||
dout(10) << "listing keys" << dendl;
|
||||
JSONCommand cmd;
|
||||
cmd.run(monc, "{\"prefix\": \"config-key list\"}");
|
||||
|
||||
lock.Unlock();
|
||||
cmd.wait();
|
||||
lock.Lock();
|
||||
assert(cmd.r == 0);
|
||||
|
||||
std::map<std::string, std::string> loaded;
|
||||
|
Loading…
Reference in New Issue
Block a user