Patchwork [21/21] raw-posix: fix bdrv_aio_ioctl

login
register
mail settings
Submitter Michael Roth
Date Jan. 16, 2013, 4:49 p.m.
Message ID <1358354963-9070-22-git-send-email-mdroth@linux.vnet.ibm.com>
Download mbox | patch
Permalink /patch/212825/
State New
Headers show

Comments

Michael Roth - Jan. 16, 2013, 4:49 p.m.
From: Paolo Bonzini <pbonzini@redhat.com>

When the raw-posix aio=thread code was moved from posix-aio-compat.c
to block/raw-posix.c, there was an unintended change to the ioctl code.
The code used to return the ioctl command, which posix_aio_read()
would later morph into a zero.  This hack is not necessary anymore,
and in fact breaks scsi-generic (which expects a zero return code).
Remove it.

Cc: qemu-stable@nongnu.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
(cherry picked from commit b608c8dc02c78ee95455a0989bdf1b41c768b2ef)

Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
---
 block/raw-posix.c |   10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)

Patch

diff --git a/block/raw-posix.c b/block/raw-posix.c
index 550c81f..5c6c564 100644
--- a/block/raw-posix.c
+++ b/block/raw-posix.c
@@ -456,15 +456,7 @@  static ssize_t handle_aiocb_ioctl(RawPosixAIOData *aiocb)
         return -errno;
     }
 
-    /*
-     * This looks weird, but the aio code only considers a request
-     * successful if it has written the full number of bytes.
-     *
-     * Now we overload aio_nbytes as aio_ioctl_cmd for the ioctl command,
-     * so in fact we return the ioctl command here to make posix_aio_read()
-     * happy..
-     */
-    return aiocb->aio_nbytes;
+    return 0;
 }
 
 static ssize_t handle_aiocb_flush(RawPosixAIOData *aiocb)