Merge pull request #32764 from liewegas/fix-43552

mon/Session: only index osd ids >= 0

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
This commit is contained in:
Kefu Chai 2020-01-26 11:53:40 +08:00 committed by GitHub
commit 6b19e3d4d9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -139,7 +139,8 @@ struct MonSessionMap {
}
s->sub_map.clear();
s->item.remove_myself();
if (s->name.is_osd()) {
if (s->name.is_osd() &&
s->name.num() >= 0) {
for (auto p = by_osd.find(s->name.num());
p->first == s->name.num();
++p)
@ -168,7 +169,8 @@ struct MonSessionMap {
void add_session(MonSession *s) {
sessions.push_back(&s->item);
s->get();
if (s->name.is_osd()) {
if (s->name.is_osd() &&
s->name.num() >= 0) {
by_osd.insert(std::pair<int,MonSession*>(s->name.num(), s));
}
if (s->con_features) {