qemu-e2k/block
Emanuele Giuseppe Esposito 2196c341f7 blkdebug: do not suspend in the middle of QLIST_FOREACH_SAFE
That would be unsafe in case a rule other than the current one
is removed while the coroutine has yielded.
Keep FOREACH_SAFE because suspend_request deletes the current rule.

After this patch, *all* matching rules are deleted before suspending
the coroutine, rather than just one.
This doesn't affect the existing testcases.

Use actions_count to see how many yield to issue.

Co-developed-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: <20210614082931.24925-5-eesposit@redhat.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>
2021-07-19 17:38:38 +02:00
..
export
monitor
accounting.c
aio_task.c
amend.c
backup-top.c
backup-top.h
backup.c
blkdebug.c blkdebug: do not suspend in the middle of QLIST_FOREACH_SAFE 2021-07-19 17:38:38 +02:00
blklogwrites.c
blkreplay.c
blkverify.c
block-backend.c
block-copy.c
block-gen.h
bochs.c
cloop.c
commit.c
copy-on-read.c
copy-on-read.h
coroutines.h
create.c
crypto.c
crypto.h
curl.c
dirty-bitmap.c
dmg-bz2.c
dmg-lzfse.c
dmg.c
dmg.h
file-posix.c
file-win32.c
filter-compress.c
gluster.c
io_uring.c
io.c
iscsi-opts.c modules: add block module annotations 2021-07-09 18:20:27 +02:00
iscsi.c
linux-aio.c
meson.build meson: fix missing preprocessor symbols 2021-07-09 18:19:00 +02:00
mirror.c
nbd.c nbd: register yank function earlier 2021-07-12 11:24:00 -05:00
nfs.c
null.c
nvme.c
parallels-ext.c
parallels.c
parallels.h
preallocate.c
progress_meter.c
qapi-sysemu.c
qapi.c
qcow2-bitmap.c
qcow2-cache.c
qcow2-cluster.c
qcow2-refcount.c
qcow2-snapshot.c
qcow2-threads.c
qcow2.c
qcow2.h
qcow.c
qed-check.c
qed-cluster.c
qed-l2-cache.c
qed-table.c
qed.c
qed.h
quorum.c
raw-format.c
rbd.c
replication.c block: Acquire AioContexts during bdrv_reopen_multiple() 2021-07-09 13:19:11 +02:00
snapshot.c
ssh.c
stream.c
throttle-groups.c
throttle.c
trace-events
trace.h
vdi.c
vhdx-endian.c
vhdx-log.c
vhdx.c
vhdx.h
vmdk.c
vpc.c
vvfat.c
win32-aio.c
write-threshold.c