On Wed, Jul 26, 2017 at 05:19:24PM +0300, Manos Pitsidianakis wrote: > This proposal follows a discussion we had with Kevin and Stefan on filter > node management. > > With block filter drivers arises a need to configure filter nodes on runtime > with QMP on live graphs. A problem with doing live graph modifications is > that some block jobs modify the graph when they are done and don't operate > under any synchronisation, resulting in a race condition if we try to insert > a filter node in the place of an existing edge. Block jobs *do* operate under synchronization. They only manipulate the graph from the main loop (under the QEMU global mutex just like a monitor command). But maybe you are thinking about higher level race conditions between QMP commands. Can you give an example of the race? CCing John Snow (interested in commands for 'reaping' completed block jobs) and Jeff Cody (block jobs maintainer).