Message ID | 20191128104129.250206-1-slp@redhat.com (mailing list archive) |
---|---|
Headers | show |
Series | blockdev: avoid acquiring AioContext lock twice at do_drive_backup and do_blockdev_backup | expand |
Am 28.11.2019 um 11:41 hat Sergio Lopez geschrieben: > do_drive_backup() acquires the AioContext lock of the corresponding > BlockDriverState. This is not a problem when it's called from > qmp_drive_backup(), but drive_backup_prepare() also acquires the lock > before calling it. The same things happens with do_blockdev_backup() > and blockdev_backup_prepare(). > > This patch series merges do_drive_backup() with drive_backup_prepare() > and do_blockdev_backup() with blockdev_backup_prepare(), and ensures > they're only getting called from a transaction context. This way, > there's a single code path for both transaction requests and qmp > commands, as suggested by Kevin Wolf. > > We also take this opportunity to ensure we're honoring the context > acquisition semantics required by bdrv_try_set_aio_context, as > suggested by Max Reitz. I think there is a small problem with the error paths in patch 4, but for patches 1 to 3 you can add: Reviewed-by: Kevin Wolf <kwolf@redhat.com>