Kevin Wolf 520d8b40e8 block/export: Fix vhost-user-blk shutdown with requests in flight
The vhost-user-blk export runs requests asynchronously in their own
coroutine. When the vhost connection goes away and we want to stop the
vhost-user server, we need to wait for these coroutines to stop before
we can unmap the shared memory. Otherwise, they would still access the
unmapped memory and crash.

This introduces a refcount to VuServer which is increased when spawning
a new request coroutine and decreased before the coroutine exits. The
memory is only unmapped when the refcount reaches zero.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20220125151435.48792-1-kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2022-02-01 13:49:15 +01:00
..
2021-12-21 10:50:22 +04:00
2020-12-10 12:15:18 -05:00
2016-06-07 18:19:23 +03:00
2017-10-16 20:57:13 +03:00
2020-10-15 16:06:27 +02:00
2021-11-09 10:32:52 +11:00
2021-10-07 10:42:40 +02:00
2019-09-11 08:46:17 +02:00
2020-12-10 17:16:44 +01:00
2021-12-21 10:50:22 +04:00
2018-09-26 08:55:54 -07:00
2019-04-18 22:18:59 +02:00
2019-08-16 13:31:52 +02:00
2021-11-10 13:20:15 +01:00
2018-01-16 14:54:50 +01:00
2016-02-23 12:43:05 +00:00
2018-08-24 20:26:37 +02:00
2016-09-15 15:32:22 +03:00
2017-01-24 23:26:52 +03:00
2021-04-01 15:27:44 +04:00