[21/21] raw-posix: fix bdrv_aio_ioctl

Message ID 1358354963-9070-22-git-send-email-mdroth@linux.vnet.ibm.com
State New
Headers show

Commit Message

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(-)


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)