Skip to content

Commit

Permalink
raw-posix: fix bdrv_aio_ioctl
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
bonzini authored and kevmw committed Jan 14, 2013
1 parent 0e7106d commit b608c8d
Showing 1 changed file with 1 addition and 9 deletions.
10 changes: 1 addition & 9 deletions block/raw-posix.c
Expand Up @@ -455,15 +455,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)
Expand Down

0 comments on commit b608c8d

Please sign in to comment.