* [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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).