[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] 7376ed: block: make BDRV_POLL_WHILE() re-entr
From: |
GitHub |
Subject: |
[Qemu-commits] [qemu/qemu] 7376ed: block: make BDRV_POLL_WHILE() re-entrancy safe |
Date: |
Tue, 13 Mar 2018 04:41:21 -0700 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: 7376eda7c2e0451e819e81bd05fabc56a9deb946
https://github.com/qemu/qemu/commit/7376eda7c2e0451e819e81bd05fabc56a9deb946
Author: Stefan Hajnoczi <address@hidden>
Date: 2018-03-12 (Mon, 12 Mar 2018)
Changed paths:
M include/block/aio-wait.h
M util/aio-wait.c
Log Message:
-----------
block: make BDRV_POLL_WHILE() re-entrancy safe
Nested BDRV_POLL_WHILE() calls can occur. Currently
assert(!wait_->wakeup) fails in AIO_WAIT_WHILE() when this happens.
This patch converts the bool wait_->need_kick flag to an unsigned
wait_->num_waiters counter.
Nesting works correctly because outer AIO_WAIT_WHILE() callers evaluate
the condition again after the inner caller completes (invoking the inner
caller counts as aio_poll() progress).
Reported-by: "fuweiwei (C)" <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>
Message-id: address@hidden
Cc: Paolo Bonzini <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>
Commit: 834eddf22ec762839b724538c7be1d1d3b2d9d3b
https://github.com/qemu/qemu/commit/834eddf22ec762839b724538c7be1d1d3b2d9d3b
Author: Peter Maydell <address@hidden>
Date: 2018-03-13 (Tue, 13 Mar 2018)
Changed paths:
M include/block/aio-wait.h
M util/aio-wait.c
Log Message:
-----------
Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request' into
staging
# gpg: Signature made Mon 12 Mar 2018 16:01:16 GMT
# gpg: using RSA key 9CA4ABB381AB73C8
# gpg: Good signature from "Stefan Hajnoczi <address@hidden>"
# gpg: aka "Stefan Hajnoczi <address@hidden>"
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35 775A 9CA4 ABB3 81AB 73C8
* remotes/stefanha/tags/block-pull-request:
block: make BDRV_POLL_WHILE() re-entrancy safe
Signed-off-by: Peter Maydell <address@hidden>
Compare: https://github.com/qemu/qemu/compare/73988d529e2e...834eddf22ec7
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [qemu/qemu] 7376ed: block: make BDRV_POLL_WHILE() re-entrancy safe,
GitHub <=