From 1bb56365c382233447daa32e3ac0f61f7a646137 Mon Sep 17 00:00:00 2001 From: Thomas Schoebel-Theuer Date: Thu, 10 May 2018 10:04:28 +0200 Subject: [PATCH] all: introduce traffic types --- kernel/mars_net.h | 7 +++++++ kernel/mars_server.c | 16 +++++++--------- kernel/sy_old/mars_main.c | 11 ++++++++--- 3 files changed, 22 insertions(+), 12 deletions(-) diff --git a/kernel/mars_net.h b/kernel/mars_net.h index 0748a2ba..0c50d4b4 100644 --- a/kernel/mars_net.h +++ b/kernel/mars_net.h @@ -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, diff --git a/kernel/mars_server.c b/kernel/mars_server.c index ebc12dfc..20dcbd04 100644 --- a/kernel/mars_server.c +++ b/kernel/mars_server.c @@ -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; diff --git a/kernel/sy_old/mars_main.c b/kernel/sy_old/mars_main.c index fc41bc7a..f82b91aa 100644 --- a/kernel/sy_old/mars_main.c +++ b/kernel/sy_old/mars_main.c @@ -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