forked from vitalif/vitastor
Remove range port selection (leads to races)
parent
6a21ea207e
commit
2a640ba2e8
25
osd.cpp
25
osd.cpp
|
@ -126,10 +126,6 @@ void osd_t::parse_config(blockstore_config_t & config)
|
|||
bind_port = stoull_full(config["bind_port"]);
|
||||
if (bind_port <= 0 || bind_port > 65535)
|
||||
bind_port = 0;
|
||||
if (config.find("bind_port_range_start") != config.end())
|
||||
bind_port_range_start = stoull_full(config["bind_port_range_start"]);
|
||||
if (config.find("bind_port_range_end") != config.end())
|
||||
bind_port_range_end = stoull_full(config["bind_port_range_end"]);
|
||||
if (config["immediate_commit"] == "all")
|
||||
immediate_commit = IMMEDIATE_ALL;
|
||||
else if (config["immediate_commit"] == "small")
|
||||
|
@ -175,26 +171,6 @@ void osd_t::bind_socket()
|
|||
}
|
||||
addr.sin_family = AF_INET;
|
||||
|
||||
if (bind_port == 0 && bind_port_range_start > 0 &&
|
||||
bind_port_range_end > bind_port_range_start && bind_port_range_end < 65535)
|
||||
{
|
||||
for (listening_port = bind_port_range_start; listening_port != bind_port_range_end; listening_port++)
|
||||
{
|
||||
addr.sin_port = htons(listening_port);
|
||||
if (bind(listen_fd, (sockaddr*)&addr, sizeof(addr)) == 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (listening_port == bind_port_range_end)
|
||||
{
|
||||
listening_port = 0;
|
||||
close(listen_fd);
|
||||
throw std::runtime_error(std::string("bind: ") + strerror(errno));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addr.sin_port = htons(bind_port);
|
||||
if (bind(listen_fd, (sockaddr*)&addr, sizeof(addr)) < 0)
|
||||
{
|
||||
|
@ -215,7 +191,6 @@ void osd_t::bind_socket()
|
|||
{
|
||||
listening_port = bind_port;
|
||||
}
|
||||
}
|
||||
|
||||
if (listen(listen_fd, listen_backlog) < 0)
|
||||
{
|
||||
|
|
1
osd.h
1
osd.h
|
@ -203,7 +203,6 @@ class osd_t
|
|||
bool run_primary = false;
|
||||
std::string bind_address;
|
||||
int bind_port, listen_backlog;
|
||||
int bind_port_range_start = 11200, bind_port_range_end = 12000;
|
||||
int client_queue_depth = 128;
|
||||
bool allow_test_ops = true;
|
||||
int receive_buffer_size = 9000;
|
||||
|
|
|
@ -237,7 +237,7 @@ void osd_t::repeer_pgs(osd_num_t peer_osd)
|
|||
if (repeer)
|
||||
{
|
||||
// Repeer this pg
|
||||
printf("Repeer PG %d because of OSD %lu\n", p.second.pg_num, peer_osd);
|
||||
printf("[PG %u] Repeer because of OSD %lu\n", p.second.pg_num, peer_osd);
|
||||
start_pg_peering(p.second.pg_num);
|
||||
peering_state |= OSD_PEERING_PGS;
|
||||
}
|
||||
|
|
|
@ -358,7 +358,7 @@ void pg_t::calc_object_states()
|
|||
void pg_t::print_state()
|
||||
{
|
||||
printf(
|
||||
"PG %u is %s%s%s%s%s%s%s%s%s (%lu objects)\n", pg_num,
|
||||
"[PG %u] is %s%s%s%s%s%s%s%s%s (%lu objects)\n", pg_num,
|
||||
(state & PG_OFFLINE) ? "offline" : "",
|
||||
(state & PG_PEERING) ? "peering" : "",
|
||||
(state & PG_INCOMPLETE) ? "incomplete" : "",
|
||||
|
|
Loading…
Reference in New Issue