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.
Paolo