block: Allow waiting for overlapping requests between begin/end
authorKevin Wolf <kwolf@redhat.com>
Tue, 3 Dec 2013 13:55:55 +0000 (14:55 +0100)
committerKevin Wolf <kwolf@redhat.com>
Fri, 24 Jan 2014 16:40:02 +0000 (17:40 +0100)
commit65afd211c71fc91750d8a18f9604c1e57a5202fb
tree93c6a45fbdf3b9fab787bdeb3137b26aac842d75
parent793ed47a7a2b09b67cb2a8863dff531436532b5c
block: Allow waiting for overlapping requests between begin/end

Previously, it was not possible to use wait_for_overlapping_requests()
between tracked_request_begin()/end() because it would wait for itself.

Ignore the current request in the overlap check and run more of the
bdrv_co_do_preadv/pwritev code with a BdrvTrackedRequest present.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Benoit Canet <benoit@irqsave.net>
block.c