On 1/19/22 19:34, Kevin Wolf wrote:
So if we go back to a bdrv_invalidate_cache() that does all the graph manipulations (and asserts that we're in the main loop) and then have a much smaller bdrv_co_invalidate_cache() that basically just calls into the driver, would that solve the problem?
I was going to suggest something similar, and even name the former bdrv_activate(). Then bdrv_activate() is a graph manipulation function, while bdrv_co_invalidate_cache() is an I/O function.
Paolo