Signed-off-by: MORITA Kazutaka <morita.kazutaka at lab.ntt.co.jp> --- sheep/store.c | 19 +++++++++++++++---- 1 files changed, 15 insertions(+), 4 deletions(-) diff --git a/sheep/store.c b/sheep/store.c index 4b653e1..53e2db5 100644 --- a/sheep/store.c +++ b/sheep/store.c @@ -594,6 +594,7 @@ static int store_queue_request_local(struct request *req, uint32_t epoch) ret = ftruncate(fd, 0); if (ret) { + eprintf("%m\n"); ret = SD_RES_EIO; goto out; } @@ -626,8 +627,10 @@ static int store_queue_request_local(struct request *req, uint32_t epoch) if (ret != SD_DATA_OBJ_SIZE) { if (errno == ENOSPC) ret = SD_RES_NO_SPACE; - else + else { + eprintf("%m\n"); ret = SD_RES_EIO; + } goto out; } free(buf); @@ -648,8 +651,10 @@ static int store_queue_request_local(struct request *req, uint32_t epoch) if (ret != size) { if (errno == ENOSPC) ret = SD_RES_NO_SPACE; - else + else { + eprintf("%m\n"); ret = SD_RES_EIO; + } goto out; } } @@ -666,8 +671,10 @@ static int store_queue_request_local(struct request *req, uint32_t epoch) if (ret) { if (errno == ENOENT) ret = SD_RES_NO_OBJ; - else + else { + eprintf("%m\n"); ret = SD_RES_EIO; + } } break; case SD_OP_READ_OBJ: @@ -684,6 +691,7 @@ static int store_queue_request_local(struct request *req, uint32_t epoch) ret = pread64(fd, req->data, hdr->data_length, hdr->offset); if (ret < 0) { + eprintf("%m\n"); ret = SD_RES_EIO; goto out; } @@ -698,6 +706,7 @@ static int store_queue_request_local(struct request *req, uint32_t epoch) if (hdr->flags & SD_FLAG_CMD_TRUNCATE) { ret = ftruncate(fd, hdr->offset + hdr->data_length); if (ret) { + eprintf("%m\n"); ret = SD_RES_EIO; goto out; } @@ -726,8 +735,10 @@ static int store_queue_request_local(struct request *req, uint32_t epoch) if (ret != hdr->data_length) { if (errno == ENOSPC) ret = SD_RES_NO_SPACE; - else + else { + eprintf("%m\n"); ret = SD_RES_EIO; + } goto out; } } -- 1.7.2.5 |