Browse Source

Cancel outbound operations after re-peering PGs

tags/v0.5.1
Vitaliy Filippov 2 months ago
parent
commit
1e8f0328e0
2 changed files with 12 additions and 7 deletions
  1. +11
    -6
      messenger.cpp
  2. +1
    -1
      mon/mon.js

+ 11
- 6
messenger.cpp View File

@@ -340,8 +340,6 @@ void osd_messenger_t::stop_client(int peer_fd)
if (cl->osd_num)
{
osd_peer_fds.erase(cl->osd_num);
// Cancel outbound operations
cancel_osd_ops(cl);
}
if (cl->read_op)
{
@@ -367,14 +365,21 @@ void osd_messenger_t::stop_client(int peer_fd)
free(cl->in_buf);
cl->in_buf = NULL;
close(peer_fd);
if (cl->refs <= 0)
{
delete cl;
}
if (repeer_osd)
{
// First repeer PGs as canceling OSD ops may push new operations
// and we need correct PG states when we do that
repeer_pgs(repeer_osd);
}
if (cl->osd_num)
{
// Cancel outbound operations
cancel_osd_ops(cl);
}
if (cl->refs <= 0)
{
delete cl;
}
}

void osd_messenger_t::accept_connections(int listen_fd)


+ 1
- 1
mon/mon.js View File

@@ -1067,7 +1067,7 @@ class Mon
}
catch (e)
{
console.log('Bad key in etcd: '+kv.key+' = '+kv.value);
console.log('Bad value in etcd: '+kv.key+' = '+kv.value);
return;
}
key = key.split('/');


Loading…
Cancel
Save