[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] vm disk blockio and fileio
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] vm disk blockio and fileio |
Date: |
Wed, 23 Apr 2014 15:33:08 +0200 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Mon, Mar 31, 2014 at 10:09:13PM +0800, longguang.yue wrote:
> from the aspect of qemu, there are file and block disk type,
> what is the final difference between the two types ?
> if its type is block and source is volume or physical disk, who finally
> read/write the disk?
> i thought block is raw format, so raw driver will do the actual r/w, am i
> right?
> if so qemu r/w using fileio no matter what disk type it is ?
>
> what is the call flows when disk type is block when vm r/w?
QEMU is a host userspace application and it performs disk I/O on behalf
of the guest. The difference between raw image files and host block
devices (e.g. LVM logical volumes or host partitions) is very small -
the code for both is shared in block/raw-posix.c.
If you are using the default -drive aio=threads option then a thread
pool will perform pread()/pwrite()/preadv()/pwritev()/fdatasync().
If you are using -drive aio=native then Linux AIO APIs are used
(io_submit() and io_getevents()).
Stefan
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Qemu-devel] vm disk blockio and fileio,
Stefan Hajnoczi <=