On Thu, Apr 11, 2013 at 6:20 PM, Stefan Hajnoczi <stefa...@gmail.com> wrote: > On Mon, Apr 01, 2013 at 04:20:33PM +0800, Liu Ping Fan wrote: >> From: Liu Ping Fan <pingf...@linux.vnet.ibm.com> >> >> virtio-blk will reference to RAM's memoryRegion when the req has been >> done. So we can avoid to call bdrv_drain_all() when RAM hot unplug. > > How does the hot unplug operation work without bdrv_drain_all()? In > other words, how do we safely remove a MemoryRegion and wait for it to > become unreferenced? > bdrv_drain_all() forces the end of usage of memoryRegion. But we can let the req done callback ( marks this req finish the end of usage of mr) to release the refcnt of memoryRegion.
> Stefan