Am 23.11.2023 um 20:49 hat Stefan Hajnoczi geschrieben: > Commit abfcd2760b3e ("dma-helpers: prevent dma_blk_cb() vs > dma_aio_cancel() race") acquired the AioContext lock inside dma_blk_cb() > to avoid a race with scsi_device_purge_requests() running in the main > loop thread. > > The SCSI code no longer calls dma_aio_cancel() from the main loop thread > while I/O is running in the IOThread AioContext. Therefore it is no > longer necessary to take this lock to protect DMAAIOCB fields. The > ->cb() function also does not require the lock because blk_aio_*() and > friends do not need the AioContext lock. > > Both hw/ide/core.c and hw/ide/macio.c also call dma_blk_io() but don't > rely on it taking the AioContext lock, so this change is safe. > > Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com>
The commit message neglects to talk about dbs->io_func, which is what took the AioContext lock even before commit abfcd2760b3e. I think the reason is the same as for the previous patch. Reviewed-by: Kevin Wolf <kw...@redhat.com>