qemu-e2k/block
Emanuele Giuseppe Esposito a7b4f8fc09 progressmeter: protect with a mutex
Progressmeter is protected by the AioContext mutex, which
is taken by the block jobs and their caller (like blockdev).

We would like to remove the dependency of block layer code on the
AioContext mutex, since most drivers and the core I/O code are already
not relying on it.

Create a new C file to implement the ProgressMeter API, but keep the
struct as public, to avoid forcing allocation on the heap.

Also add a mutex to be able to provide an accurate snapshot of the
progress values to the caller.

Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20210614081130.22134-5-eesposit@redhat.com>
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
2021-06-25 14:24:24 +03:00
..
export block/export: improve vu_blk_sect_range_ok() 2021-05-18 11:08:13 +02:00
monitor
accounting.c
aio_task.c
amend.c
backup-top.c
backup-top.h
backup.c
blkdebug.c
blklogwrites.c
blkreplay.c
blkverify.c
block-backend.c block-backend: add drained_poll 2021-06-02 14:23:20 +02:00
block-copy.c block-copy: let ratelimit handle a speed of 0 2021-06-25 14:24:16 +03:00
block-gen.h
bochs.c
cloop.c
commit.c block: consistently use bdrv_is_read_only() 2021-06-02 14:23:20 +02:00
copy-on-read.c block/copy-on-read: use bdrv_drop_filter() and drop s->active 2021-05-14 16:14:10 +02:00
copy-on-read.h
coroutines.h block/nbd: reuse nbd_co_do_establish_connection() in nbd_open() 2021-06-18 12:21:22 -05:00
create.c
crypto.c
crypto.h
curl.c
dirty-bitmap.c
dmg-bz2.c
dmg-lzfse.c
dmg.c
dmg.h
file-posix.c block: remove duplicate trace.h include 2021-06-14 13:28:50 +01:00
file-win32.c
filter-compress.c
gluster.c
io_uring.c
io.c block: consistently use bdrv_is_read_only() 2021-06-02 14:23:20 +02:00
iscsi-opts.c
iscsi.c
linux-aio.c
meson.build progressmeter: protect with a mutex 2021-06-25 14:24:24 +03:00
mirror.c
nbd.c block/nbd: safer transition to receiving request 2021-06-18 12:21:22 -05:00
nfs.c
null.c
nvme.c
parallels-ext.c
parallels.c
parallels.h
preallocate.c
progress_meter.c progressmeter: protect with a mutex 2021-06-25 14:24:24 +03:00
qapi-sysemu.c
qapi.c block: use GDateTime for formatting timestamp when dumping snapshot info 2021-06-14 13:28:50 +01:00
qcow2-bitmap.c
qcow2-cache.c
qcow2-cluster.c
qcow2-refcount.c
qcow2-snapshot.c block: consistently use bdrv_is_read_only() 2021-06-02 14:23:20 +02:00
qcow2-threads.c
qcow2.c block: consistently use bdrv_is_read_only() 2021-06-02 14:23:20 +02:00
qcow2.h
qcow.c
qed-check.c
qed-cluster.c
qed-l2-cache.c
qed-table.c
qed.c
qed.h
quorum.c block/quorum: Provide .bdrv_co_flush instead of .bdrv_co_flush_to_disk 2021-06-02 14:23:20 +02:00
raw-format.c
rbd.c
replication.c replication: move include out of root directory 2021-05-26 14:49:46 +02:00
snapshot.c block: consistently use bdrv_is_read_only() 2021-06-02 14:23:20 +02:00
ssh.c block/ssh: Bump minimum libssh version to 0.8.7 2021-06-02 06:51:09 +02:00
stream.c
throttle-groups.c
throttle.c
trace-events block: add trace point when fdatasync fails 2021-06-14 13:28:50 +01:00
trace.h
vdi.c
vhdx-endian.c
vhdx-log.c block: consistently use bdrv_is_read_only() 2021-06-02 14:23:20 +02:00
vhdx.c
vhdx.h
vmdk.c
vpc.c
vvfat.c block/vvfat: inherit child_vvfat_qcow from child_of_bds 2021-06-02 14:23:20 +02:00
win32-aio.c
write-threshold.c write-threshold: deal with includes 2021-05-14 16:14:10 +02:00