summaryrefslogtreecommitdiffstats
path: root/src/kernel/net.c
diff options
context:
space:
mode:
authorFrederic Robra2019-11-14 15:18:32 +0100
committerFrederic Robra2019-11-14 15:18:32 +0100
commitfff87d1c3e19c0a24a3b0d4cff3e9a8f6f140e34 (patch)
tree54de680b694fb5a8b7ea02821f95d1fe8e530127 /src/kernel/net.c
parentbug when sending and release at the same time (diff)
downloaddnbd3-ng-fff87d1c3e19c0a24a3b0d4cff3e9a8f6f140e34.tar.gz
dnbd3-ng-fff87d1c3e19c0a24a3b0d4cff3e9a8f6f140e34.tar.xz
dnbd3-ng-fff87d1c3e19c0a24a3b0d4cff3e9a8f6f140e34.zip
added check for rid and discovery now takes bigger test block
Diffstat (limited to 'src/kernel/net.c')
-rw-r--r--src/kernel/net.c53
1 files changed, 27 insertions, 26 deletions
diff --git a/src/kernel/net.c b/src/kernel/net.c
index 838aafb..e8c7cad 100644
--- a/src/kernel/net.c
+++ b/src/kernel/net.c
@@ -237,30 +237,31 @@ static struct dnbd3_server **dnbd3_sort_server(struct dnbd3_device *dev) {
return sorted_servers;
}
-/**
- * dnbd3_compare_servers - comparator for the connecion plan
- * @lhs: left hand sign
- * @rhs: right hand sign
- */
-static int dnbd3_compare_plan(const void *lhs, const void *rhs)
-{
- uint64_t l, r;
- struct dnbd3_server *lhs_server = *((struct dnbd3_server **) lhs);
- struct dnbd3_server *rhs_server = *((struct dnbd3_server **) rhs);
- uint8_t *l_addr = lhs_server->host.addr;
- uint8_t *r_addr = rhs_server->host.addr;
- l = l_addr[0] + l_addr[1] + l_addr[2] + l_addr[3] + l_addr[4] +
- l_addr[5] + l_addr[6] + l_addr[7] + l_addr[8] +
- l_addr[9] + l_addr[10] + l_addr[11] + l_addr[12] +
- l_addr[13] + l_addr[14] + l_addr[15] +
- lhs_server->host.port;
- r = r_addr[0] + r_addr[1] + r_addr[2] + r_addr[3] + r_addr[4] +
- r_addr[5] + r_addr[6] + r_addr[7] + r_addr[8] +
- r_addr[9] + r_addr[10] + r_addr[11] + r_addr[12] +
- r_addr[13] + r_addr[14] + r_addr[15] +
- rhs_server->host.port;
- return l - r;
-}
+// Not used right now, plan is sorted by the rating
+///**
+// * dnbd3_compare_servers - comparator for the connecion plan
+// * @lhs: left hand sign
+// * @rhs: right hand sign
+// */
+//static int dnbd3_compare_plan(const void *lhs, const void *rhs)
+//{
+// uint64_t l, r;
+// struct dnbd3_server *lhs_server = *((struct dnbd3_server **) lhs);
+// struct dnbd3_server *rhs_server = *((struct dnbd3_server **) rhs);
+// uint8_t *l_addr = lhs_server->host.addr;
+// uint8_t *r_addr = rhs_server->host.addr;
+// l = l_addr[0] + l_addr[1] + l_addr[2] + l_addr[3] + l_addr[4] +
+// l_addr[5] + l_addr[6] + l_addr[7] + l_addr[8] +
+// l_addr[9] + l_addr[10] + l_addr[11] + l_addr[12] +
+// l_addr[13] + l_addr[14] + l_addr[15] +
+// lhs_server->host.port;
+// r = r_addr[0] + r_addr[1] + r_addr[2] + r_addr[3] + r_addr[4] +
+// r_addr[5] + r_addr[6] + r_addr[7] + r_addr[8] +
+// r_addr[9] + r_addr[10] + r_addr[11] + r_addr[12] +
+// r_addr[13] + r_addr[14] + r_addr[15] +
+// rhs_server->host.port;
+// return l - r;
+//}
/**
@@ -305,7 +306,7 @@ static int dnbd3_adjust_connections(struct dnbd3_device *dev) {
kfree(servers);
sort(plan, dev->number_connections, sizeof(struct dnbd3_server *),
- &dnbd3_compare_plan, NULL);
+ &dnbd3_compare_servers, NULL);
/* lock all mutex at once, so nothing can be send */
debug_dev(dev, "connection plan:");
@@ -450,7 +451,7 @@ static int dnbd3_meassure_rtt(struct dnbd3_device *dev,
}
result = dnbd3_receive_cmd(&sock, &reply);
if (reply.magic != dnbd3_packet_magic|| reply.cmd != CMD_GET_BLOCK
- || reply.size != RTT_BLOCK_SIZE) {
+ || reply.size != RTT_TEST_BLOCK_SIZE) {
error_sock(&sock, "receive header cmd test block failed in rtt measurement");
result = -EIO;
goto error;