all: introduce traffic types

This commit is contained in:
Thomas Schoebel-Theuer 2018-05-10 10:04:28 +02:00 committed by Thomas Schoebel-Theuer
parent 5b7a73a39d
commit 1bb56365c3
3 changed files with 22 additions and 12 deletions

View File

@ -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,

View File

@ -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;

View File

@ -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