[sheepdog] [PATCH] sheep: fix to handle the variable type of data_length
Teruaki Ishizaki
ishizaki.teruaki at lab.ntt.co.jp
Tue Jan 27 10:45:57 CET 2015
Previously, data_length was handled as integer in some places.
But, data_length of a request/response data type is uint32_t,
so there were some bad behaviors.
This patch fixes to handle data_length as uint32_t.
Signed-off-by: Teruaki Ishizaki <ishizaki.teruaki at lab.ntt.co.jp>
---
include/net.h | 2 +-
lib/net.c | 3 ++-
sheep/request.c | 3 ++-
3 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/include/net.h b/include/net.h
index b8c6ab8..ee2bacb 100644
--- a/include/net.h
+++ b/include/net.h
@@ -39,7 +39,7 @@ int conn_tx_off(struct connection *conn);
int conn_tx_on(struct connection *conn);
int conn_rx_off(struct connection *conn);
int conn_rx_on(struct connection *conn);
-int do_read(int sockfd, void *buf, int len,
+int do_read(int sockfd, void *buf, uint32_t len,
bool (*need_retry)(uint32_t), uint32_t, uint32_t);
int rx(struct connection *conn, enum conn_state next_state);
int tx(struct connection *conn, enum conn_state next_state);
diff --git a/lib/net.c b/lib/net.c
index 02b328e..5b34a1c 100644
--- a/lib/net.c
+++ b/lib/net.c
@@ -210,7 +210,8 @@ success:
return fd;
}
-int do_read(int sockfd, void *buf, int len, bool (*need_retry)(uint32_t epoch),
+int do_read(int sockfd, void *buf, uint32_t len,
+ bool (*need_retry)(uint32_t epoch),
uint32_t epoch, uint32_t max_count)
{
int ret, repeat = max_count;
diff --git a/sheep/request.c b/sheep/request.c
index af68fbf..2f86c67 100644
--- a/sheep/request.c
+++ b/sheep/request.c
@@ -683,7 +683,8 @@ worker_fn int exec_local_req_async(struct sd_req *rq, void *data,
return SD_RES_SUCCESS;
}
-static struct request *alloc_request(struct client_info *ci, int data_length)
+static struct request *alloc_request(struct client_info *ci,
+ uint32_t data_length)
{
struct request *req;
--
1.7.1
More information about the sheepdog
mailing list