Hi, My friends and I were assigned a task to find out a point to insert a callback function to intercept Disk IO activities such as read/write a .txt file. Our final goal is to generate a report for target process/file 's Disk IO activities. We have QEMU 2.3 with KVM enabled. We have been looking for such a point for long...but not so capable of such a task. People who had this project last year done so with TEMU 1.0 (probably QEMU 0.9), and the implementation point they had is dma_buf_rw(). The information in their report shows pid, timestamps, disk sector, buffer size and write/read for a target file (I am not even sure if such information is meaningful or useful) Currently I have tried to printf in functions such as dma_buf_rw / dma_blk_io / bdrv_aio_readv...etc. to see if they print out message when I open/edit/save a .txt or .jpeg file. The first one just don't print at all, and the second and third one print a lot after booting up the guest.... I can see that the dma_blk_io function call in ide_dma_cb (core.c) may be related because it prints as I have activities on files. However it also prints sometime when I am not doing any thing... so I not that certain about it. (and I don't know if write/read activities invoke such function..)
Is there a correct /better point to intercept disk IO information ?(especially for activities such as read/write a .file) Or what should I do to clearly get the needed information from Disk IO functions? I would be so grateful to have the information. Thank you. The guest environment I have is 64bit Windows 7 with qcow2 image (not sure if relative) Edsel