On Tue, 04/18 10:18, Paolo Bonzini wrote: > > > On 17/04/2017 10:27, Fam Zheng wrote: > > At this point it's even unclear to me what should be the plan for 2.9. v1 > > IMO > > was the least intrusive, but didn't cover bdrv_drain_all_begin. v2 has this > > controversial "aio_poll(ctx_, false)", > > v1 has it too: > > - bdrv_drain_recurse(bs); > + while (true) { > + if (!bdrv_drain_recurse(bs) && > + !aio_poll(bdrv_get_aio_context(bs), false)) { > + break; > + } > + }
Yes you are right. On the other hand, the fact that in v2 I had to add bdrv_ref/bdrv_unref around the recursive bdrv_drain_recurse() call makes me worry a little - I assume the same problem exists in v1 and is just latent. So maybe merging v2 is better. > > I don't have any particular preference. Both patches are self contained > and easy to revert when the underlying root cause is fixed. > Fam