[Qemu-devel] qemu io path

2016-01-25 Thread Ata Fatahi baarzi
hi dear  all.
im searching for qemu io (storage) stack. i searched a lot but just found
some slides which does not present so much.is there any text explanation or
article or blog post which describes precisely qemu io stack?
I would be grateful if you provide something for me.and have some question
hope you answer them.
before ask my question its worth noting that i have an excellent background
about Linux io stack and read qemu source code for main iothread and know
about qemu structure, guest os ,...
I read [hw/block/virtio-blk.c]  and started fromvirtio_blk_handle_output
function and trace it until reached toio_submit! that great we reached host
kernel libaio syscalls.but what made me confuesd, is what and where and
when th stuffs fordoing a typical io request from a typical guest os
starts?!
now here is my questions:
1- i wanna know codes which doing so.(start an io request untilio_submit
get called)
2- can you give me th exact path of an io request from app in guest
osthrough qemu until get to real disk?
3- does it possible to determin bellow featers for an io request:a- which
guest os sent this io request?b- address which io request  points to?c-
request type read/write?d- request size?
4- if there is multiple disks in system, where it is define iorequest is
corresponds to which disk?thank a lot

-- 
Best Regrads
Ata Fatahi Baarzi <http://ce.sharif.edu/~fatahibarzi>


[Qemu-devel] qemu io path

2016-01-25 Thread Ata Fatahi baarzi
hi dear  all.
im searching for qemu io (storage) stack. i searched a lot but just
found some slides which does not present so much.
is there any text explanation or article or blog post which describes
precisely qemu io stack?
I would be grateful if you provide something for me.
and have some question hope you answer them.
before ask my question its worth noting that i have an excellent
background about Linux io stack and read qemu source code for main io
thread and know about qemu structure, guest os ,...
i read [hw/block/virtio-blk.c]  and started from
virtio_blk_handle_output function and trace it until reached to
io_submit! that great we reached host kernel libaio syscalls.
but what made me confuesd, is what and where and when th stuffs for
doing a typical io request from a typical guest os starts?!
now here is my questions:
1- i wanna know codes which doing so.(start an io request until
io_submit get called)
2- can you give me th exact path of an io request from app in guest os
through qemu until get to real disk?
3- does it possible to determin bellow featers for an io request:
a- which guest os sent this io request?
b- address which io request  points to?
c- request type read/write?
d- request size?
e- if there is multiple disks in system, where it is define io
request is corresponds to which disk?
thank a lot



-- 
Best Regrads
Ata Fatahi Baarzi <http://ce.sharif.edu/~fatahibarzi>


[Qemu-devel] other cahpters about qemu

2016-01-21 Thread Ata Fatahi baarzi
hi all
i found a chapter named chapter  qemu detailed study hers
<https://lists.gnu.org/archive/html/qemu-devel/2011-04/pdfhC5rVdz7U8.pdf>.
how can i find ther chapters?

-- 
Best Regrads
Ata Fatahi Baarzi <http://ce.sharif.edu/~fatahibarzi>


[Qemu-devel] qemu io stack code approach

2016-01-08 Thread Ata Fatahi baarzi
hi all
I recently pursued Linux IO stack and dove into kernel source code. that is
when a user programm calls read or write syscall some functions will be
called to finally make a io request and send it to device drivers and
compelete io request.
in this path which is known as Life of IO request i placed some printks in
linux kernel and compile and install it then i can see IO requests
information in /var/log/syslog.
i totally used This good Post
<https://scaryreasoner.wordpress.com/2013/09/14/the-life-of-io-in-the-linux-kernel/>
which done for linux kernel.
know i wanna do some thing like that in qemu to answer these too important
questions:
1- what is path of a IO request from a guest os to host os and finally
disk? (both siurce code  approach and io stack approach)
2- how qemu determines an IO request is corresponds to which guest os?(if
its feasible)


-- 
Best Rega
​r​
ds
Ata Fatahi Baarzi <http://ce.sharif.edu/~fatahibarzi>