Kevin Wolf
aa269ff888
qcow2: Fix open with 'file' in iothread
...
qcow2_open() doesn't work correctly when opening the 'file' child moves
bs to an iothread, for several reasons:
- It uses BDRV_POLL_WHILE() to wait for the qcow2_open_entry()
coroutine, which involves dropping the AioContext lock for bs when it
is not in the main context - but we don't hold it, so this crashes.
- It runs the qcow2_open_entry() coroutine in the current thread instead
of the new AioContext of bs.
- qcow2_open_entry() doesn't notify the main loop when it's done.
This patches fixes these issues around delegating work to a coroutine.
Temporarily dropping the main AioContext lock is not necessary because
we know we run in the main thread.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230525124713.401149-7-kwolf@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2023-05-30 17:21:23 +02:00
..
2023-05-19 19:12:12 +02:00
2023-04-25 15:11:57 +02:00
2022-09-30 18:42:34 +02:00
2021-10-05 18:56:41 +02:00
2023-05-10 14:16:54 +02:00
2023-02-24 15:09:39 +00:00
2023-04-25 13:17:28 +02:00
2023-02-01 16:52:32 +01:00
2023-02-23 19:49:33 +01:00
2023-02-23 19:49:33 +01:00
2023-05-10 14:16:54 +02:00
2023-05-30 17:21:23 +02:00
2023-02-23 19:49:14 +01:00
2022-12-15 16:07:43 +01:00
2022-10-26 14:56:42 -04:00
2023-02-23 19:49:17 +01:00
2023-01-20 07:24:28 +01:00
2023-05-19 19:12:12 +02:00
2023-02-23 19:49:21 +01:00
2022-03-04 18:18:25 +01:00
2023-04-11 16:38:56 +02:00
2022-05-11 16:50:01 +02:00
2023-05-10 14:16:53 +02:00
2023-05-19 19:12:12 +02:00
2023-05-19 19:12:12 +02:00
2020-11-15 17:04:40 +01:00
2023-02-17 14:33:52 +01:00
2023-02-23 19:49:32 +01:00
2019-06-12 13:20:20 +02:00
2023-03-30 15:03:36 +02:00
2023-04-24 13:53:44 -04:00
2023-04-24 13:53:44 -04:00
2023-05-15 08:18:10 -04:00
2023-04-25 13:17:28 +02:00
2023-04-11 16:38:56 +02:00
2023-02-01 16:52:32 +01:00
2023-05-19 19:16:53 +02:00
2023-05-15 08:18:10 -04:00
2023-05-15 08:18:10 -04:00
2021-07-09 18:20:27 +02:00
2023-02-23 19:49:20 +01:00
2023-05-15 08:18:10 -04:00
2023-05-10 18:48:11 +02:00
2023-05-30 17:21:23 +02:00
2023-05-10 14:16:53 +02:00
2023-04-12 18:26:51 +02:00
2023-02-01 16:52:32 +01:00
2023-02-01 16:52:32 +01:00
2023-01-20 07:24:28 +01:00
2023-05-19 19:12:12 +02:00
2021-03-08 14:56:55 +01:00
2023-04-11 16:38:56 +02:00
2023-01-19 10:18:28 +01:00
2023-05-30 17:21:23 +02:00
2023-05-15 08:18:10 -04:00
2023-04-25 13:17:28 +02:00
2023-01-20 07:24:28 +01:00
2023-04-25 13:17:28 +02:00
2023-05-10 14:16:53 +02:00
2023-04-25 13:17:28 +02:00
2023-04-25 13:17:28 +02:00
2023-05-30 17:21:23 +02:00
2023-05-10 14:16:53 +02:00
2023-05-19 19:12:12 +02:00
2023-02-23 19:49:12 +01:00
2017-07-17 11:34:11 +08:00
2022-03-07 13:16:49 +00:00
2023-02-23 19:49:17 +01:00
2023-05-19 19:12:12 +02:00
2023-02-23 19:49:17 +01:00
2023-05-10 14:16:54 +02:00
2023-05-19 19:12:12 +02:00
2023-02-23 19:49:35 +01:00
2023-04-11 16:38:56 +02:00
2022-03-07 09:33:30 +01:00
2023-02-23 19:49:21 +01:00
2022-10-27 20:14:11 +02:00
2023-02-01 16:52:32 +01:00
2023-05-19 19:12:12 +02:00
2021-02-03 08:14:00 -06:00
2023-02-23 19:49:33 +01:00
2023-05-15 08:18:10 -04:00
2020-08-21 06:18:24 -04:00
2023-05-19 19:12:12 +02:00
2019-06-12 13:20:20 +02:00
2023-04-11 13:53:03 +02:00
2023-05-19 19:12:12 +02:00
2019-04-30 15:29:00 +02:00
2023-05-19 19:12:12 +02:00
2023-05-19 19:12:12 +02:00
2023-04-25 13:17:28 +02:00
2023-01-20 07:24:28 +01:00
2023-01-20 07:24:28 +01:00