On Mon, Nov 14, 2011 at 4:37 PM, Paolo Bonzini <pbonz...@redhat.com> wrote: > On 11/14/2011 09:10 AM, Zhi Yong Wu wrote: >>> >>> > No, they are necessary. They are executed when >>> > bdrv_is_allocated_co_entry >>> > calls qemu_coroutine_yield. >> >> Right, But i don't think that they are necessary. >> >> after bdrv_is_allocated_co_entry has basically completed all main >> task, it call qemu_coroutine_yield to wake up this current process; At >> that point, it is equal to the setting of data.done. Why need you >> still the three lines of codes below? > > Any function _called_ by the driver's is_allocated member could call > qemu_coroutine_yield, for example bdrv_read. Good example. thanks. > > Paolo >
-- Regards, Zhi Yong Wu