summary refs log tree commit diff stats
path: root/python/qemu/accel.py
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2020-01-08 15:55:56 +0100
committerStefan Hajnoczi <stefanha@redhat.com>2020-01-30 20:59:41 +0000
commit3ba0e1a00cf3c09bfa3980ce98439dc73707039d (patch)
treead507adbe126e2a7e8e01a1ecfaba3ff349fba19 /python/qemu/accel.py
parent18fbd0dec7e05183d7fef636155cd9b3e2ac5013 (diff)
downloadfocaccia-qemu-3ba0e1a00cf3c09bfa3980ce98439dc73707039d.tar.gz
focaccia-qemu-3ba0e1a00cf3c09bfa3980ce98439dc73707039d.zip
block/io: take bs->reqs_lock in bdrv_mark_request_serialising
bdrv_mark_request_serialising is writing the overlap_offset and
overlap_bytes fields of BdrvTrackedRequest.  Take bs->reqs_lock
for the whole duration of it, and not just when waiting for
serialising requests, so that tracked_request_overlaps does not
look at a half-updated request.

The new code does not unlock/relock around retries.  This is unnecessary
because a retry is always preceded by a CoQueue wait, which already
releases and reacquires bs->reqs_lock.

Reported-by: Peter Lieven <pl@kamp.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-id: 1578495356-46219-4-git-send-email-pbonzini@redhat.com
Message-Id: <1578495356-46219-4-git-send-email-pbonzini@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'python/qemu/accel.py')
0 files changed, 0 insertions, 0 deletions