Hello Stefan,

I have take a look at block.c. But I am a little confused about the meaning
of synchronous/asynchronous i/o. I know the two concept in a operating
system.  However I am not sure whether it is analogous in virtual machine.

2011/4/2 Stefan Hajnoczi <stefa...@gmail.com>

> On Fri, Apr 1, 2011 at 7:29 PM, Lyu Mitnick <mitnick....@gmail.com> wrote:
> > Hello
> > I have some question about asynchronous i/o in QEMU block driver: Why a
> file
> > format with asynchronous i/o support(ex. qcow) doesn't need to register
> > bdrv_read/bdrv_write which is registered in vhd file format?? Would qcow
> > block driver
> > also support synchronous i/o??
>
> Take a look at block.c.  There are synchronous I/O emulation (and
> asynchronous I/O emulation) functions in case the block driver
> provides only asynchronous (or synchronous, respectively) functions.
>
> One thing to mention about synchronous and asynchronous interfaces is
> that block drivers which are synchronous really don't work well for
> running VMs.  They block execution until I/O completes (which can take
> a long time) and therefore steal time from the guest (i.e. laggy, poor
>

I am wondering the meaning of execution block. It is for host host
operating system or for guest operating system?? (ie, Could I issue an
asynchronous i/o in guest operating system when the vhd file system image
mounted)


> responsiveness from the guest).  Therefore synchronous block drivers
> are useful for qemu-img convert but not running VMs.
>
> Stefan


Mitnick

Reply via email to