qemu/block
Markus Armbruster 77ed971b9d block/file-posix: Fix check_cache_dropped() error handling
The Error ** argument must be NULL, &error_abort, &error_fatal, or a
pointer to a variable containing NULL.  Passing an argument of the
latter kind twice without clearing it in between is wrong: if the
first call sets an error, it no longer points to NULL for the second
call.

check_cache_dropped() calls error_setg() in a loop.  It fails to break
the loop in one instance.  If a subsequent iteration error_setg()s
again, it trips error_setv()'s assertion.

Fix it to break the loop.

Fixes: 31be8a2a97
Cc: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20200422130719.28225-3-armbru@redhat.com>
2020-04-29 08:01:52 +02:00
..
monitor Use &error_abort instead of separate assert() 2020-03-17 16:05:40 +01:00
accounting.c
aio_task.c
backup-top.c block/block-copy: hide structure definitions 2020-03-11 12:42:30 +01:00
backup-top.h
backup.c backup: don't acquire aio_context in backup_clean 2020-04-07 14:34:47 +02:00
blkdebug.c
blklogwrites.c
blkreplay.c
blkverify.c block: Remove bdrv_recurse_is_first_non_filter() 2020-02-18 11:55:40 +01:00
block-backend.c block: Fix blk->in_flight during blk_wait_while_drained() 2020-04-07 15:40:57 +02:00
block-copy.c block/block-copy: hide structure definitions 2020-03-11 12:42:30 +01:00
bochs.c
cloop.c
commit.c commit: Fix is_read for block_job_error_action() 2020-02-18 10:53:56 +01:00
copy-on-read.c block: Remove bdrv_recurse_is_first_non_filter() 2020-02-18 11:55:40 +01:00
create.c
crypto.c block: pass BlockDriver reference to the .bdrv_co_create 2020-03-26 14:44:33 +01:00
crypto.h
curl.c block/curl: HTTP header field names are case insensitive 2020-03-11 12:42:29 +01:00
dirty-bitmap.c block/dirty-bitmap: improve _next_dirty_area API 2020-03-18 14:03:46 -04:00
dmg-bz2.c
dmg-lzfse.c
dmg.c
dmg.h
file-posix.c block/file-posix: Fix check_cache_dropped() error handling 2020-04-29 08:01:52 +02:00
file-win32.c block: pass BlockDriver reference to the .bdrv_co_create 2020-03-26 14:44:33 +01:00
filter-compress.c block: Remove bdrv_recurse_is_first_non_filter() 2020-02-18 11:55:40 +01:00
gluster.c block: pass BlockDriver reference to the .bdrv_co_create 2020-03-26 14:44:33 +01:00
io_uring.c block/io_uring: Remove superfluous semicolon 2020-02-18 10:54:02 +01:00
io.c block/io: fix bdrv_co_do_copy_on_readv 2020-03-16 11:46:11 +00:00
iscsi-opts.c
iscsi.c block/iscsi:fix heap-buffer-overflow in iscsi_aio_ioctl_cb 2020-04-20 11:31:46 +01:00
linux-aio.c misc: Replace zero-length arrays with flexible array member (automatic) 2020-03-16 22:07:42 +01:00
Makefile.objs monitor/hmp: rename device-hotplug.c to block/monitor/block-hmp-cmds.c 2020-03-09 18:05:31 +00:00
mirror.c mirror: Wait only for in-flight operations 2020-03-27 14:47:23 +01:00
nbd.c block: trickle down the fallback image creation function use to the block drivers 2020-03-26 14:44:33 +01:00
nfs.c block: pass BlockDriver reference to the .bdrv_co_create 2020-03-26 14:44:33 +01:00
null.c
nvme.c block: trickle down the fallback image creation function use to the block drivers 2020-03-26 14:44:33 +01:00
parallels.c block: pass BlockDriver reference to the .bdrv_co_create 2020-03-26 14:44:33 +01:00
parallels.h
qapi-sysemu.c block: Move system emulator QMP commands to block/qapi-sysemu.c 2020-03-06 17:15:38 +01:00
qapi.c block: Fix VM size field width in snapshot dump 2020-02-20 16:43:42 +01:00
qcow2-bitmap.c block/qcow2-bitmap: use bdrv_dirty_bitmap_next_dirty 2020-03-18 14:03:46 -04:00
qcow2-cache.c
qcow2-cluster.c qcow2: Fix alloc_cluster_abort() for pre-existing clusters 2020-03-06 17:15:37 +01:00
qcow2-refcount.c qcow2: update_refcount(): Reset old_table_index after qcow2_cache_put() 2020-02-18 10:53:56 +01:00
qcow2-snapshot.c qcow2: Don't round the L1 table allocation up to the sector size 2020-02-06 13:47:45 +01:00
qcow2-threads.c block/qcow2-threads: fix qcow2_decompress 2020-03-11 12:42:30 +01:00
qcow2.c qcow2: Check request size in qcow2_co_pwritev_compressed_part() 2020-04-07 13:51:09 +02:00
qcow2.h qcow2: Remove unused fields from BDRVQcow2State 2020-03-27 14:47:23 +01:00
qcow.c block: pass BlockDriver reference to the .bdrv_co_create 2020-03-26 14:44:33 +01:00
qed-check.c
qed-cluster.c
qed-l2-cache.c
qed-table.c
qed.c block: pass BlockDriver reference to the .bdrv_co_create 2020-03-26 14:44:33 +01:00
qed.h
quorum.c quorum: Stop marking it as a filter 2020-02-18 11:55:40 +01:00
raw-format.c block: pass BlockDriver reference to the .bdrv_co_create 2020-03-26 14:44:33 +01:00
rbd.c block: pass BlockDriver reference to the .bdrv_co_create 2020-03-26 14:44:33 +01:00
replication.c various: Remove suspicious '\' character outside of #define in C code 2020-04-29 08:01:51 +02:00
sheepdog.c sheepdog: Consistently set bdrv_has_zero_init_truncate 2020-03-26 14:44:33 +01:00
snapshot.c
ssh.c block: pass BlockDriver reference to the .bdrv_co_create 2020-03-26 14:44:33 +01:00
stream.c block/stream: Remove redundant statement in stream_run() 2020-03-09 15:59:31 +01:00
throttle-groups.c
throttle.c block: Remove bdrv_recurse_is_first_non_filter() 2020-02-18 11:55:40 +01:00
trace-events block/block-copy: use block_status 2020-03-11 12:42:30 +01:00
vdi.c block: pass BlockDriver reference to the .bdrv_co_create 2020-03-26 14:44:33 +01:00
vhdx-endian.c
vhdx-log.c
vhdx.c various: Remove suspicious '\' character outside of #define in C code 2020-04-29 08:01:51 +02:00
vhdx.h
vmdk.c block: pass BlockDriver reference to the .bdrv_co_create 2020-03-26 14:44:33 +01:00
vpc.c vpc: Don't round up already aligned BAT sizes 2020-04-07 15:42:08 +02:00
vvfat.c block/vvfat: Do not unref qcow on closing backing bdrv 2020-02-18 10:53:56 +01:00
vxhs.c
win32-aio.c
write-threshold.c