* [Qemu-devel] [PULL 0/1] Block patches
@ 2016-08-11 10:35 Stefan Hajnoczi
2016-08-11 10:35 ` [Qemu-devel] [PULL 1/1] linux-aio: Handle io_submit() failure gracefully Stefan Hajnoczi
2016-08-11 12:26 ` [Qemu-devel] [PULL 0/1] Block patches Peter Maydell
0 siblings, 2 replies; 3+ messages in thread
From: Stefan Hajnoczi @ 2016-08-11 10:35 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell, Stefan Hajnoczi
The following changes since commit d08306dc42ea599ffcf8aad056fa9c23acfbe230:
Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging (2016-08-10 17:14:35 +0100)
are available in the git repository at:
git://github.com/stefanha/qemu.git tags/block-pull-request
for you to fetch changes up to 44713c9e8547f0ff41e3e257f0dd5c17bb497225:
linux-aio: Handle io_submit() failure gracefully (2016-08-11 09:42:35 +0100)
----------------------------------------------------------------
----------------------------------------------------------------
Kevin Wolf (1):
linux-aio: Handle io_submit() failure gracefully
block/linux-aio.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
--
2.7.4
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Qemu-devel] [PULL 1/1] linux-aio: Handle io_submit() failure gracefully
2016-08-11 10:35 [Qemu-devel] [PULL 0/1] Block patches Stefan Hajnoczi
@ 2016-08-11 10:35 ` Stefan Hajnoczi
2016-08-11 12:26 ` [Qemu-devel] [PULL 0/1] Block patches Peter Maydell
1 sibling, 0 replies; 3+ messages in thread
From: Stefan Hajnoczi @ 2016-08-11 10:35 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell, Kevin Wolf, Stefan Hajnoczi
From: Kevin Wolf <kwolf@redhat.com>
It is generally not expected that io_submit() fails other than with
-EAGAIN, but corner cases like SELinux refusing I/O when permissions are
revoked are still possible. In this case, we shouldn't abort, but just
return an I/O error for the request.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-id: 1470741619-23231-1-git-send-email-kwolf@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
block/linux-aio.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/block/linux-aio.c b/block/linux-aio.c
index de3548f..e906abe 100644
--- a/block/linux-aio.c
+++ b/block/linux-aio.c
@@ -221,7 +221,13 @@ static void ioq_submit(LinuxAioState *s)
break;
}
if (ret < 0) {
- abort();
+ /* Fail the first request, retry the rest */
+ aiocb = QSIMPLEQ_FIRST(&s->io_q.pending);
+ QSIMPLEQ_REMOVE_HEAD(&s->io_q.pending, next);
+ s->io_q.in_queue--;
+ aiocb->ret = ret;
+ qemu_laio_process_completion(aiocb);
+ continue;
}
s->io_q.in_flight += ret;
--
2.7.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] [PULL 0/1] Block patches
2016-08-11 10:35 [Qemu-devel] [PULL 0/1] Block patches Stefan Hajnoczi
2016-08-11 10:35 ` [Qemu-devel] [PULL 1/1] linux-aio: Handle io_submit() failure gracefully Stefan Hajnoczi
@ 2016-08-11 12:26 ` Peter Maydell
1 sibling, 0 replies; 3+ messages in thread
From: Peter Maydell @ 2016-08-11 12:26 UTC (permalink / raw)
To: Stefan Hajnoczi; +Cc: QEMU Developers
On 11 August 2016 at 11:35, Stefan Hajnoczi <stefanha@redhat.com> wrote:
> The following changes since commit d08306dc42ea599ffcf8aad056fa9c23acfbe230:
>
> Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging (2016-08-10 17:14:35 +0100)
>
> are available in the git repository at:
>
> git://github.com/stefanha/qemu.git tags/block-pull-request
>
> for you to fetch changes up to 44713c9e8547f0ff41e3e257f0dd5c17bb497225:
>
> linux-aio: Handle io_submit() failure gracefully (2016-08-11 09:42:35 +0100)
>
> ----------------------------------------------------------------
>
> ----------------------------------------------------------------
>
> Kevin Wolf (1):
> linux-aio: Handle io_submit() failure gracefully
Applied, thanks.
-- PMM
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-08-11 12:26 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-08-11 10:35 [Qemu-devel] [PULL 0/1] Block patches Stefan Hajnoczi
2016-08-11 10:35 ` [Qemu-devel] [PULL 1/1] linux-aio: Handle io_submit() failure gracefully Stefan Hajnoczi
2016-08-11 12:26 ` [Qemu-devel] [PULL 0/1] Block patches Peter Maydell
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.