Cancel outbound operations after re-peering PGs

Vitaliy Filippov 2020-10-22 22:54:38 +00:00
부모 f011e0c675
커밋 1e8f0328e0
2개의 변경된 파일12개의 추가작업 그리고 7개의 파일을 삭제

파일 보기

@ -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 (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;
}
if (repeer_osd)
{
repeer_pgs(repeer_osd);
}
}
void osd_messenger_t::accept_connections(int listen_fd)

파일 보기

@ -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('/');