Patchwork posix-aio-compat: Fix error check

login
register
mail settings
Submitter Kevin Wolf
Date Nov. 18, 2009, 11:15 a.m.
Message ID <1258542910-724-1-git-send-email-kwolf@redhat.com>
Download mbox | patch
Permalink /patch/38740/
State New
Headers show

Comments

Kevin Wolf - Nov. 18, 2009, 11:15 a.m.
Checking for nbytes < 0 is pointless as long as it's a size_t. If we want to
use negative numbers for error codes, we should use signed types.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
 posix-aio-compat.c |   18 +++++++++---------
 1 files changed, 9 insertions(+), 9 deletions(-)
Christoph Hellwig - Nov. 18, 2009, 7:04 p.m.
On Wed, Nov 18, 2009 at 12:15:10PM +0100, Kevin Wolf wrote:
> Checking for nbytes < 0 is pointless as long as it's a size_t. If we want to
> use negative numbers for error codes, we should use signed types.

Indeed, patch looks good.


Reviewed-by: Christoph Hellwig <hch@lst.de>

Patch

diff --git a/posix-aio-compat.c b/posix-aio-compat.c
index ac247e1..dc14f53 100644
--- a/posix-aio-compat.c
+++ b/posix-aio-compat.c
@@ -117,7 +117,7 @@  static void thread_create(pthread_t *thread, pthread_attr_t *attr,
     if (ret) die2(ret, "pthread_create");
 }
 
-static size_t handle_aiocb_ioctl(struct qemu_paiocb *aiocb)
+static ssize_t handle_aiocb_ioctl(struct qemu_paiocb *aiocb)
 {
 	int ret;
 
@@ -136,7 +136,7 @@  static size_t handle_aiocb_ioctl(struct qemu_paiocb *aiocb)
 	return aiocb->aio_nbytes;
 }
 
-static size_t handle_aiocb_flush(struct qemu_paiocb *aiocb)
+static ssize_t handle_aiocb_flush(struct qemu_paiocb *aiocb)
 {
     int ret;
 
@@ -176,7 +176,7 @@  qemu_pwritev(int fd, const struct iovec *iov, int nr_iov, off_t offset)
 
 #endif
 
-static size_t handle_aiocb_rw_vector(struct qemu_paiocb *aiocb)
+static ssize_t handle_aiocb_rw_vector(struct qemu_paiocb *aiocb)
 {
     size_t offset = 0;
     ssize_t len;
@@ -199,10 +199,10 @@  static size_t handle_aiocb_rw_vector(struct qemu_paiocb *aiocb)
     return len;
 }
 
-static size_t handle_aiocb_rw_linear(struct qemu_paiocb *aiocb, char *buf)
+static ssize_t handle_aiocb_rw_linear(struct qemu_paiocb *aiocb, char *buf)
 {
-    size_t offset = 0;
-    size_t len;
+    ssize_t offset = 0;
+    ssize_t len;
 
     while (offset < aiocb->aio_nbytes) {
          if (aiocb->aio_type & QEMU_AIO_WRITE)
@@ -230,9 +230,9 @@  static size_t handle_aiocb_rw_linear(struct qemu_paiocb *aiocb, char *buf)
     return offset;
 }
 
-static size_t handle_aiocb_rw(struct qemu_paiocb *aiocb)
+static ssize_t handle_aiocb_rw(struct qemu_paiocb *aiocb)
 {
-    size_t nbytes;
+    ssize_t nbytes;
     char *buf;
 
     if (!(aiocb->aio_type & QEMU_AIO_MISALIGNED)) {
@@ -308,7 +308,7 @@  static void *aio_thread(void *unused)
 
     while (1) {
         struct qemu_paiocb *aiocb;
-        size_t ret = 0;
+        ssize_t ret = 0;
         qemu_timeval tv;
         struct timespec ts;