mirror of https://github.com/schoebel/mars
all: introduce traffic types
This commit is contained in:
parent
5b7a73a39d
commit
1bb56365c3
|
@ -88,6 +88,13 @@ struct mars_tcp_params {
|
|||
|
||||
extern struct mars_tcp_params default_tcp_params;
|
||||
|
||||
enum mars_traffic_types {
|
||||
MARS_TRAFFIC_META,
|
||||
MARS_TRAFFIC_REPLICATION,
|
||||
MARS_TRAFFIC_SYNC,
|
||||
MARS_TRAFFIC_MAX /* this must come last */
|
||||
};
|
||||
|
||||
enum {
|
||||
CMD_NOP,
|
||||
CMD_NOTIFY,
|
||||
|
|
|
@ -47,21 +47,19 @@ struct server_cookie {
|
|||
struct mars_tcp_params *server_params;
|
||||
};
|
||||
|
||||
#define NR_SOCKETS 3
|
||||
|
||||
static struct server_cookie server_cookie[NR_SOCKETS] = {
|
||||
[0] = {
|
||||
static struct server_cookie server_cookie[MARS_TRAFFIC_MAX] = {
|
||||
[MARS_TRAFFIC_META] = {
|
||||
.server_params = &default_tcp_params,
|
||||
},
|
||||
[1] = {
|
||||
[MARS_TRAFFIC_REPLICATION] = {
|
||||
.server_params = &default_tcp_params,
|
||||
},
|
||||
[2] = {
|
||||
[MARS_TRAFFIC_SYNC] = {
|
||||
.server_params = &default_tcp_params,
|
||||
},
|
||||
};
|
||||
|
||||
static struct task_struct *server_thread[NR_SOCKETS] = {};
|
||||
static struct task_struct *server_thread[MARS_TRAFFIC_MAX] = {};
|
||||
|
||||
atomic_t server_handler_count = ATOMIC_INIT(0);
|
||||
EXPORT_SYMBOL_GPL(server_handler_count);
|
||||
|
@ -961,7 +959,7 @@ void exit_mars_server(void)
|
|||
MARS_INF("exit_server()\n");
|
||||
server_unregister_brick_type();
|
||||
|
||||
for (i = 0; i < NR_SOCKETS; i++) {
|
||||
for (i = 0; i < MARS_TRAFFIC_MAX; i++) {
|
||||
if (server_thread[i]) {
|
||||
MARS_INF("stopping server thread %d...\n", i);
|
||||
brick_thread_stop(server_thread[i]);
|
||||
|
@ -977,7 +975,7 @@ int __init init_mars_server(void)
|
|||
|
||||
MARS_INF("init_server()\n");
|
||||
|
||||
for (i = 0; i < NR_SOCKETS; i++) {
|
||||
for (i = 0; i < MARS_TRAFFIC_MAX; i++) {
|
||||
struct sockaddr_storage sockaddr = {};
|
||||
char tmp[16];
|
||||
int status;
|
||||
|
|
|
@ -1825,7 +1825,7 @@ int _update_file(struct mars_dent *parent, const char *switch_path, const char *
|
|||
struct mars_rotate *rot = parent->d_private;
|
||||
struct mars_global *global = rot->global;
|
||||
#ifdef CONFIG_MARS_SEPARATE_PORTS
|
||||
const char *tmp = path_make("%s@%s:%d", file, peer, mars_net_default_port + 1);
|
||||
const char *tmp = path_make("%s@%s:%d", file, peer, mars_net_default_port + MARS_TRAFFIC_REPLICATION);
|
||||
#else
|
||||
const char *tmp = path_make("%s@%s", file, peer);
|
||||
#endif
|
||||
|
@ -2203,6 +2203,7 @@ static
|
|||
int peer_thread(void *data)
|
||||
{
|
||||
struct mars_peerinfo *peer = data;
|
||||
const char *real_host;
|
||||
const char *real_peer;
|
||||
struct sockaddr_storage sockaddr = {};
|
||||
struct key_value_pair peer_pairs[] = {
|
||||
|
@ -2217,7 +2218,11 @@ int peer_thread(void *data)
|
|||
if (!peer || !mars_net_is_alive)
|
||||
return -1;
|
||||
|
||||
real_peer = mars_translate_hostname(peer->peer);
|
||||
real_host = mars_translate_hostname(peer->peer);
|
||||
real_peer = path_make("%s:%d",
|
||||
real_host,
|
||||
mars_net_default_port + MARS_TRAFFIC_META);
|
||||
brick_string_free(real_host);
|
||||
MARS_INF("-------- peer thread starting on peer '%s' (%s)\n", peer->peer, real_peer);
|
||||
|
||||
status = mars_create_sockaddr(&sockaddr, real_peer);
|
||||
|
@ -4878,7 +4883,7 @@ static int make_sync(void *buf, struct mars_dent *dent)
|
|||
/* Start copy
|
||||
*/
|
||||
#ifdef CONFIG_MARS_SEPARATE_PORTS
|
||||
src = path_make("data-%s@%s:%d", peer, peer, mars_net_default_port + 2);
|
||||
src = path_make("data-%s@%s:%d", peer, peer, mars_net_default_port + MARS_TRAFFIC_SYNC);
|
||||
#else
|
||||
src = path_make("data-%s@%s", peer, peer);
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue