[sheepdog] [PATCH 1/2] sheepdog: correct signedness of comparison
Liu Yuan
namei.unix at gmail.com
Thu Jul 25 07:25:34 CEST 2013
When signed int compared to unsigned int, signed int will be converted to
unsigned int.
For example, (-1 < sizeof(structure)) always true because -1 in the left is
converted into unsigned int, thus this restule in unexpected true.
Signed-off-by: Liu Yuan <namei.unix at gmail.com>
---
block/sheepdog.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/block/sheepdog.c b/block/sheepdog.c
index 58e03c8..8c6c8f1 100644
--- a/block/sheepdog.c
+++ b/block/sheepdog.c
@@ -616,7 +616,7 @@ static coroutine_fn void do_co_req(void *opaque)
if (*rlen) {
ret = qemu_co_recv(sockfd, data, *rlen);
- if (ret < *rlen) {
+ if (ret < (int)*rlen) {
error_report("failed to get the data, %s", strerror(errno));
ret = -errno;
goto out;
@@ -755,7 +755,7 @@ static void coroutine_fn aio_read_response(void *opaque)
/* read a header */
ret = qemu_co_recv(fd, &rsp, sizeof(rsp));
- if (ret < sizeof(rsp)) {
+ if (ret < (int)sizeof(rsp)) {
error_report("failed to get the header, %s", strerror(errno));
goto err;
}
@@ -806,7 +806,7 @@ static void coroutine_fn aio_read_response(void *opaque)
case AIOCB_READ_UDATA:
ret = qemu_co_recvv(fd, acb->qiov->iov, acb->qiov->niov,
aio_req->iov_offset, rsp.data_length);
- if (ret < rsp.data_length) {
+ if (ret < (int)rsp.data_length) {
error_report("failed to get the data, %s", strerror(errno));
goto err;
}
@@ -1116,7 +1116,7 @@ static void coroutine_fn add_aio_request(BDRVSheepdogState *s, AIOReq *aio_req,
{
int nr_copies = s->inode.nr_copies;
SheepdogObjReq hdr;
- unsigned int wlen = 0;
+ int wlen = 0;
int ret;
uint64_t oid = aio_req->oid;
unsigned int datalen = aio_req->data_len;
@@ -1173,7 +1173,7 @@ static void coroutine_fn add_aio_request(BDRVSheepdogState *s, AIOReq *aio_req,
/* send a header */
ret = qemu_co_send(s->fd, &hdr, sizeof(hdr));
- if (ret < sizeof(hdr)) {
+ if (ret < (int)sizeof(hdr)) {
error_report("failed to send a req, %s", strerror(errno));
goto out;
}
--
1.7.9.5
More information about the sheepdog
mailing list