]> Git Repo - qemu.git/commit - block.c
block: add request tracking
authorStefan Hajnoczi <[email protected]>
Thu, 17 Nov 2011 13:40:27 +0000 (13:40 +0000)
committerKevin Wolf <[email protected]>
Mon, 5 Dec 2011 13:51:38 +0000 (14:51 +0100)
commitdbffbdcfff69431b622866ac5ea78df74fdc02d4
treeec4b73f7c58efde89080cf37588ed9ce56fe3b55
parente8ee5e4c476d5b0654d8f1271a2b7c065acc486e
block: add request tracking

The block layer does not know about pending requests.  This information
is necessary for copy-on-read since overlapping requests must be
serialized to prevent races that corrupt the image.

The BlockDriverState gets a new tracked_request list field which
contains all pending requests.  Each request is a BdrvTrackedRequest
record with sector_num, nb_sectors, and is_write fields.

Note that request tracking is always enabled but hopefully this extra
work is so small that it doesn't justify adding an enable/disable flag.

Signed-off-by: Stefan Hajnoczi <[email protected]>
Signed-off-by: Kevin Wolf <[email protected]>
block.c
block_int.h
This page took 0.024249 seconds and 4 git commands to generate.