From: Paolo Bonzini <pbonzini@redhat.com>
To: Fam Zheng <famz@redhat.com>, qemu-devel@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>, Stefan Hajnoczi <stefanha@redhat.com>
Subject: Re: [Qemu-devel] [PATCH] virtio-blk: Check return value of blk_aio_ioctl
Date: Tue, 17 Feb 2015 07:48:40 +0100 [thread overview]
Message-ID: <54E2E448.7050702@redhat.com> (raw)
In-Reply-To: <1424143757-557-1-git-send-email-famz@redhat.com>
On 17/02/2015 04:29, Fam Zheng wrote:
> Since commit 1dc936aa84 (virtio-blk: Use blk_aio_ioctl) we silently lose
> the request if blk_aio_ioctl returns NULL (not implemented).
>
> Fix it by directly returning VIRTIO_BLK_S_UNSUPP as we used to do.
>
> Signed-off-by: Fam Zheng <famz@redhat.com>
> ---
> hw/block/virtio-blk.c | 9 +++++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/hw/block/virtio-blk.c b/hw/block/virtio-blk.c
> index 1a8a176..c7c8f20 100644
> --- a/hw/block/virtio-blk.c
> +++ b/hw/block/virtio-blk.c
> @@ -197,6 +197,7 @@ static int virtio_blk_handle_scsi_req(VirtIOBlockReq *req)
> VirtIODevice *vdev = VIRTIO_DEVICE(req->dev);
> VirtQueueElement *elem = &req->elem;
> VirtIOBlock *blk = req->dev;
> + BlockAIOCB *acb;
>
> #ifdef __linux__
> int i;
> @@ -278,8 +279,12 @@ static int virtio_blk_handle_scsi_req(VirtIOBlockReq *req)
> ioctl_req->hdr.sbp = elem->in_sg[elem->in_num - 3].iov_base;
> ioctl_req->hdr.mx_sb_len = elem->in_sg[elem->in_num - 3].iov_len;
>
> - blk_aio_ioctl(blk->blk, SG_IO, &ioctl_req->hdr,
> - virtio_blk_ioctl_complete, ioctl_req);
> + acb = blk_aio_ioctl(blk->blk, SG_IO, &ioctl_req->hdr,
> + virtio_blk_ioctl_complete, ioctl_req);
> + if (!acb) {
> + status = VIRTIO_BLK_S_UNSUPP;
> + goto fail;
> + }
> return -EINPROGRESS;
> #else
> abort();
>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
next prev parent reply other threads:[~2015-02-17 6:48 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-17 3:29 [Qemu-devel] [PATCH] virtio-blk: Check return value of blk_aio_ioctl Fam Zheng
2015-02-17 6:48 ` Paolo Bonzini [this message]
2015-02-17 9:34 ` Kevin Wolf
2015-02-17 9:51 ` Fam Zheng
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=54E2E448.7050702@redhat.com \
--to=pbonzini@redhat.com \
--cc=famz@redhat.com \
--cc=kwolf@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.