[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] 6f1e91: error: Drop superfluous #include "qap
From: |
Peter Maydell |
Subject: |
[Qemu-commits] [qemu/qemu] 6f1e91: error: Drop superfluous #include "qapi/qmp/qerror.h" |
Date: |
Fri, 24 Feb 2023 10:50:07 -0800 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: 6f1e91f716a96651feae89dfd674b2ea3bf8e282
https://github.com/qemu/qemu/commit/6f1e91f716a96651feae89dfd674b2ea3bf8e282
Author: Markus Armbruster <armbru@redhat.com>
Date: 2023-02-23 (Thu, 23 Feb 2023)
Changed paths:
M authz/listfile.c
M backends/cryptodev-vhost.c
M backends/rng.c
M backends/vhost-user.c
M block/backup.c
M block/commit.c
M block/mirror.c
M block/stream.c
M hw/core/machine.c
M hw/i386/pc.c
M hw/i386/x86.c
M hw/misc/xlnx-zynqmp-apu-ctrl.c
M migration/colo.c
M migration/migration-hmp-cmds.c
M qga/main.c
M softmmu/qtest.c
M target/i386/monitor.c
M target/i386/sev-sysemu-stub.c
M target/i386/sev.c
M util/qemu-config.c
Log Message:
-----------
error: Drop superfluous #include "qapi/qmp/qerror.h"
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20230207075115.1525-2-armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Konstantin Kostiuk <kkostiuk@redhat.com>
Commit: f969c627e31fe7752fd5c2ff036e587ec9749a25
https://github.com/qemu/qemu/commit/f969c627e31fe7752fd5c2ff036e587ec9749a25
Author: Markus Armbruster <armbru@redhat.com>
Date: 2023-02-23 (Thu, 23 Feb 2023)
Changed paths:
M dump/dump.c
Log Message:
-----------
dump: Improve error message when target doesn't support memory dump
The QERR_ macros are leftovers from the days of "rich" error objects.
We've been trying to reduce their remaining use.
Get rid of a use of QERR_UNSUPPORTED, and improve the rather vague
error message
(qemu) dump-guest-memory mumble
Error: this feature or command is not currently supported
to
Error: dumping guest memory is not supported on this target
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20230207075115.1525-3-armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Juan Quintela <quintela@redhat.com>
[Error message tweaked]
Commit: f1a4697c236aae8f7d13042e4c6a31c228aa8595
https://github.com/qemu/qemu/commit/f1a4697c236aae8f7d13042e4c6a31c228aa8595
Author: Markus Armbruster <armbru@redhat.com>
Date: 2023-02-23 (Thu, 23 Feb 2023)
Changed paths:
M dump/dump.c
Log Message:
-----------
dump: Assert cpu_get_note_size() can't fail
The only way cpu_get_note_size() can return a negative value is
integer overflow in the non-stub versions, which is a programming
error. The stub version is not actually reachable, because the
cpu_get_dump_info() stub will fail first. Use assert(). This gets
rid of another use of QERR_UNSUPPORTED.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20230207075115.1525-4-armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Commit: a0d0267779850f0dee70656dd7c0d11a458bfbaa
https://github.com/qemu/qemu/commit/a0d0267779850f0dee70656dd7c0d11a458bfbaa
Author: Markus Armbruster <armbru@redhat.com>
Date: 2023-02-23 (Thu, 23 Feb 2023)
Changed paths:
M hw/core/nmi.c
Log Message:
-----------
hw/core: Improve error message when machine doesn't provide NMIs
The QERR_ macros are leftovers from the days of "rich" error objects.
We've been trying to reduce their remaining use.
Get rid of a use of QERR_UNSUPPORTED, and improve the rather vague
error message
(qemu) nmi
Error: this feature or command is not currently supported
to
Error: machine does not provide NMIs
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20230207075115.1525-5-armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Commit: 0ca6745c74778d84c05ca2144cf0d15f8bfe26d8
https://github.com/qemu/qemu/commit/0ca6745c74778d84c05ca2144cf0d15f8bfe26d8
Author: Markus Armbruster <armbru@redhat.com>
Date: 2023-02-23 (Thu, 23 Feb 2023)
Changed paths:
M hw/smbios/smbios-stub.c
Log Message:
-----------
hw/smbios: Dumb down smbios_entry_add() stub
The QERR_ macros are leftovers from the days of "rich" error objects.
We've been trying to reduce their remaining use.
smbios_entry_add() is only ever called on behalf of CLI option
-smbios. Since qemu-options.hx sets @arch_mask to QEMU_ARCH_I386 |
QEMU_ARCH_ARM, it is reachable only for these targets. Since they
provide a real smbios_entry_add(), the stub is unreachable.
There's no point in unreachable code keeping QERR_UNSUPPORTED alive.
Dumb it down to g_assert_not_reached().
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20230207075115.1525-6-armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Commit: 588c13fcb015896e4d1f7a516d8ce6336e64133b
https://github.com/qemu/qemu/commit/588c13fcb015896e4d1f7a516d8ce6336e64133b
Author: Markus Armbruster <armbru@redhat.com>
Date: 2023-02-23 (Thu, 23 Feb 2023)
Changed paths:
M hw/acpi/acpi-stub.c
Log Message:
-----------
hw/acpi: Dumb down acpi_table_add() stub
The QERR_ macros are leftovers from the days of "rich" error objects.
We've been trying to reduce their remaining use.
acpi_table_add() is only ever called on behalf of CLI option
-acpitable. Since qemu-options.hx sets @arch_mask to QEMU_ARCH_I386,
it is reachable only for these targets. Since they provide a real
acpi_table_add(), the stub is unreachable.
There's no point in unreachable code keeping QERR_UNSUPPORTED alive.
Dumb it down to g_assert_not_reached().
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20230207075115.1525-7-armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Commit: 36ebc7db796e6ac97b400dc544192e2e36986b03
https://github.com/qemu/qemu/commit/36ebc7db796e6ac97b400dc544192e2e36986b03
Author: Markus Armbruster <armbru@redhat.com>
Date: 2023-02-23 (Thu, 23 Feb 2023)
Changed paths:
M MAINTAINERS
M hw/acpi/vmgenid.c
M hw/core/machine-qmp-cmds.c
M stubs/meson.build
R stubs/vmgenid.c
Log Message:
-----------
hw/acpi: Move QMP command to hw/core/
The QERR_ macros are leftovers from the days of "rich" error objects.
We've been trying to reduce their remaining use.
qmp_query_vm_generation_id() in stubs/vmgenid.c is the last user of
QERR_UNSUPPORTED outside qga/. Unlike the stubs we just dropped, it
is actually reachable, namely when CONFIG_ACPI_VMGENID is off. It
always fails like
(qemu) info vm-generation-id
Error: this feature or command is not currently supported
Turns out the real qmp_query_vm_generation_id() doesn't actually
depend on CONFIG_ACPI_VMGENID, and fails safely when it's off. Move
it to hw/core/machine-qmp-cmds.c, and drop the stub. The error
message becomes
Error: VM Generation ID device not found
Feels like an improvement to me.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20230207075115.1525-8-armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Commit: c40233593ed5732de1676412527e42431e33e62c
https://github.com/qemu/qemu/commit/c40233593ed5732de1676412527e42431e33e62c
Author: Markus Armbruster <armbru@redhat.com>
Date: 2023-02-23 (Thu, 23 Feb 2023)
Changed paths:
M qga/commands.c
Log Message:
-----------
qga: Drop dangling reference to QERR_QGA_LOGGING_DISABLED
slog()'s function comment advises to use QERR_QGA_LOGGING_DISABLED.
This macro never existed. The reference got added in commit
e3d4d25206a "guest agent: add guest agent RPCs/commands" along with
QERR_QGA_LOGGING_FAILED, so maybe that one was meant. However,
QERR_QGA_LOGGING_FAILED was never actually used, and was removed in
commit d73f0beadb5 "qerror.h: Remove unused error classes".
Drop the dangling reference.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20230207075115.1525-9-armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Konstantin Kostiuk <kkostiuk@redhat.com>
Commit: 0ec8384f839844dfcccdc4784b30c9c9e7171b92
https://github.com/qemu/qemu/commit/0ec8384f839844dfcccdc4784b30c9c9e7171b92
Author: Markus Armbruster <armbru@redhat.com>
Date: 2023-02-23 (Thu, 23 Feb 2023)
Changed paths:
M include/qapi/qmp/qerror.h
M include/sysemu/replay.h
M replay/replay.c
M replay/stubs-system.c
M softmmu/rtc.c
M softmmu/vl.c
Log Message:
-----------
replay: Simplify setting replay blockers
replay_add_blocker() takes an Error *. All callers pass one created
like this:
error_setg(&blocker, QERR_REPLAY_NOT_SUPPORTED, "some feature");
Folding this into replay_add_blocker() simplifies the callers, losing
a bit of generality we haven't needed in more than six years.
Since there are no other uses of macro QERR_REPLAY_NOT_SUPPORTED,
replace the remaining one by its expansion, and drop the macro.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20230207075115.1525-10-armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Commit: 0ac02656e28b5e3f1d8ed6c123bd38036df95e9e
https://github.com/qemu/qemu/commit/0ac02656e28b5e3f1d8ed6c123bd38036df95e9e
Author: Markus Armbruster <armbru@redhat.com>
Date: 2023-02-23 (Thu, 23 Feb 2023)
Changed paths:
M hw/core/machine-qmp-cmds.c
Log Message:
-----------
hw/core: Improve the query-hotpluggable-cpus error message
The QERR_ macros are leftovers from the days of "rich" error objects.
We've been trying to reduce their remaining use.
Get rid of a use of QERR_FEATURE_DISABLED, and improve the slightly
awkward error message
(qemu) info hotpluggable-cpus
Error: The feature 'query-hotpluggable-cpus' is not enabled
to
Error: machine does not support hot-plugging CPUs
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20230207075115.1525-11-armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Commit: 43aef7e632c98573d907e7d86bbf3a1d6cc68f88
https://github.com/qemu/qemu/commit/43aef7e632c98573d907e7d86bbf3a1d6cc68f88
Author: Markus Armbruster <armbru@redhat.com>
Date: 2023-02-23 (Thu, 23 Feb 2023)
Changed paths:
M migration/colo-failover.c
Log Message:
-----------
migration/colo: Improve an x-colo-lost-heartbeat error message
The QERR_ macros are leftovers from the days of "rich" error objects.
We've been trying to reduce their remaining use.
Get rid of a use of QERR_FEATURE_DISABLED, and improve the somewhat
imprecise error message
(qemu) x_colo_lost_heartbeat
Error: The feature 'colo' is not enabled
to
Error: VM is not in COLO mode
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20230207075115.1525-12-armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Commit: 1178710247017ee4f570b16a186ee48c250a18d1
https://github.com/qemu/qemu/commit/1178710247017ee4f570b16a186ee48c250a18d1
Author: Markus Armbruster <armbru@redhat.com>
Date: 2023-02-23 (Thu, 23 Feb 2023)
Changed paths:
M hw/net/rocker/qmp-norocker.c
M include/qapi/qmp/qerror.h
Log Message:
-----------
rocker: Tweak stubbed out monitor commands' error messages
The QERR_ macros are leftovers from the days of "rich" error objects.
We've been trying to reduce their remaining use.
The stubbed out Rocker monitor commands are the last remaining users
of QERR_FEATURE_DISABLED. They fail like this:
(qemu) info rocker mumble
Error: The feature 'rocker' is not enabled
The real rocker commands fail like this when the named object doesn't
exist:
Error: rocker mumble not found
If that's good enough when Rocker is enabled, then it's good enough
when it's disabled, so replace QERR_FEATURE_DISABLED with that, and
drop the macro.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20230207075115.1525-13-armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Commit: 10e5d70787b0bcb8c4449ee2fa6a0154d4138186
https://github.com/qemu/qemu/commit/10e5d70787b0bcb8c4449ee2fa6a0154d4138186
Author: Kevin Wolf <kwolf@redhat.com>
Date: 2023-02-23 (Thu, 23 Feb 2023)
Changed paths:
M block.c
M include/block/block-io.h
Log Message:
-----------
block: Make bdrv_can_set_read_only() static
It is never called outside of block.c.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230203152202.49054-2-kwolf@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 32125b14606a454ed109ea6d9da32c747e94926f
https://github.com/qemu/qemu/commit/32125b14606a454ed109ea6d9da32c747e94926f
Author: Kevin Wolf <kwolf@redhat.com>
Date: 2023-02-23 (Thu, 23 Feb 2023)
Changed paths:
M block/mirror.c
Log Message:
-----------
mirror: Fix access of uninitialised fields during start
bdrv_mirror_top_pwritev() accesses the job object when active mirroring
is enabled. It disables this code during early initialisation while
s->job isn't set yet.
However, s->job is still set way too early when the job object isn't
fully initialised. For example, &s->ops_in_flight isn't initialised yet
and the in_flight bitmap doesn't exist yet. This causes crashes when a
write request comes in too early.
Move the assignment of s->job to when the mirror job is actually fully
initialised to make sure that the mirror_top driver doesn't access it
too early.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230203152202.49054-3-kwolf@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: c2b8e315162bd5d5ab30c57bcc7bbb88b3ec4d54
https://github.com/qemu/qemu/commit/c2b8e315162bd5d5ab30c57bcc7bbb88b3ec4d54
Author: Kevin Wolf <kwolf@redhat.com>
Date: 2023-02-23 (Thu, 23 Feb 2023)
Changed paths:
M block/block-backend.c
M block/crypto.c
M block/io.c
M block/parallels.c
M block/preallocate.c
M block/qcow.c
M block/qcow2.c
M block/raw-format.c
M block/vmdk.c
M include/block/block-io.h
M include/block/block_int-common.h
Log Message:
-----------
block: Mark bdrv_co_truncate() and callers GRAPH_RDLOCK
This adds GRAPH_RDLOCK annotations to declare that callers of
bdrv_co_truncate() need to hold a reader lock for the graph.
For some places, we know that they will hold the lock, but we don't have
the GRAPH_RDLOCK annotations yet. In this case, add assume_graph_lock()
with a FIXME comment. These places will be removed once everything is
properly annotated.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230203152202.49054-4-kwolf@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 7ff9579e60a42e253c6bbbd7ba613f19cc007259
https://github.com/qemu/qemu/commit/7ff9579e60a42e253c6bbbd7ba613f19cc007259
Author: Kevin Wolf <kwolf@redhat.com>
Date: 2023-02-23 (Thu, 23 Feb 2023)
Changed paths:
M block/backup.c
M block/block-backend.c
M block/block-copy.c
M block/coroutines.h
M block/io.c
M block/mirror.c
M block/qcow.c
M block/quorum.c
M block/stream.c
M include/block/block-copy.h
M include/block/block-io.h
M include/block/block_int-common.h
M qemu-img.c
M tests/unit/test-block-iothread.c
Log Message:
-----------
block: Mark bdrv_co_block_status() and callers GRAPH_RDLOCK
This adds GRAPH_RDLOCK annotations to declare that callers of
bdrv_co_block_status() need to hold a reader lock for the graph.
For some places, we know that they will hold the lock, but we don't have
the GRAPH_RDLOCK annotations yet. In this case, add assume_graph_lock()
with a FIXME comment. These places will be removed once everything is
properly annotated.
Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230203152202.49054-5-kwolf@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 26c518ab1e2159fd4b8f6819af2bdba35e6416f5
https://github.com/qemu/qemu/commit/26c518ab1e2159fd4b8f6819af2bdba35e6416f5
Author: Kevin Wolf <kwolf@redhat.com>
Date: 2023-02-23 (Thu, 23 Feb 2023)
Changed paths:
M block/block-backend.c
M block/io.c
M block/raw-format.c
M include/block/block-io.h
M include/block/block_int-common.h
Log Message:
-----------
block: Mark bdrv_co_ioctl() and callers GRAPH_RDLOCK
This adds GRAPH_RDLOCK annotations to declare that callers of
bdrv_co_ioctl() need to hold a reader lock for the graph.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230203152202.49054-6-kwolf@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: c16b8bd4e5b423dac556cc37a81efeea4bba9cfe
https://github.com/qemu/qemu/commit/c16b8bd4e5b423dac556cc37a81efeea4bba9cfe
Author: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Date: 2023-02-23 (Thu, 23 Feb 2023)
Changed paths:
M block/qed.c
Log Message:
-----------
block/qed: add missing graph rdlock in qed_need_check_timer_entry
This function is called in two different places:
- timer callback, which does not take the graph rdlock.
- bdrv_qed_drain_begin(), which is .bdrv_drain_begin()
callback documented as function that does not take the lock.
Since it calls recursive functions that traverse the
graph, we need to protect them with the graph rdlock.
Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230203152202.49054-7-kwolf@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 880953493386a69416d2e1cdc063c670585a03ac
https://github.com/qemu/qemu/commit/880953493386a69416d2e1cdc063c670585a03ac
Author: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Date: 2023-02-23 (Thu, 23 Feb 2023)
Changed paths:
M block/blkdebug.c
M block/blklogwrites.c
M block/blkreplay.c
M block/blkverify.c
M block/block-backend.c
M block/copy-before-write.c
M block/file-posix.c
M block/io.c
M block/mirror.c
M block/preallocate.c
M block/qcow2.h
M block/qed-check.c
M block/qed-table.c
M block/qed.c
M block/qed.h
M block/quorum.c
M block/throttle.c
M block/vmdk.c
M include/block/block-io.h
M include/block/block_int-common.h
Log Message:
-----------
block: Mark bdrv_co_flush() and callers GRAPH_RDLOCK
This adds GRAPH_RDLOCK annotations to declare that callers of
bdrv_co_flush() need to hold a reader lock for the graph.
For some places, we know that they will hold the lock, but we don't have
the GRAPH_RDLOCK annotations yet. In this case, add assume_graph_lock()
with a FIXME comment. These places will be removed once everything is
properly annotated.
Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230203152202.49054-8-kwolf@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 9a5a1c621ed72161abcf461d46c7b7b7f97938bf
https://github.com/qemu/qemu/commit/9a5a1c621ed72161abcf461d46c7b7b7f97938bf
Author: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Date: 2023-02-23 (Thu, 23 Feb 2023)
Changed paths:
M block/blkdebug.c
M block/blklogwrites.c
M block/blkreplay.c
M block/block-backend.c
M block/copy-before-write.c
M block/copy-on-read.c
M block/filter-compress.c
M block/io.c
M block/mirror.c
M block/preallocate.c
M block/raw-format.c
M block/snapshot-access.c
M block/throttle.c
M include/block/block-io.h
M include/block/block_int-common.h
M include/block/block_int-io.h
Log Message:
-----------
block: Mark bdrv_co_pdiscard() and callers GRAPH_RDLOCK
This adds GRAPH_RDLOCK annotations to declare that callers of
bdrv_co_pdiscard() need to hold a reader lock for the graph.
For some places, we know that they will hold the lock, but we don't have
the GRAPH_RDLOCK annotations yet. In this case, add assume_graph_lock()
with a FIXME comment. These places will be removed once everything is
properly annotated.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230203152202.49054-9-kwolf@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: abaf8b750baef0337efb06c1d3465512b5d9b5dc
https://github.com/qemu/qemu/commit/abaf8b750baef0337efb06c1d3465512b5d9b5dc
Author: Kevin Wolf <kwolf@redhat.com>
Date: 2023-02-23 (Thu, 23 Feb 2023)
Changed paths:
M block/blkdebug.c
M block/blklogwrites.c
M block/blkreplay.c
M block/block-copy.c
M block/copy-before-write.c
M block/copy-on-read.c
M block/filter-compress.c
M block/io.c
M block/mirror.c
M block/preallocate.c
M block/qcow2.c
M block/qcow2.h
M block/qed.c
M block/quorum.c
M block/raw-format.c
M block/throttle.c
M include/block/block-io.h
M include/block/block_int-common.h
Log Message:
-----------
block: Mark bdrv_co_pwrite_zeroes() and callers GRAPH_RDLOCK
This adds GRAPH_RDLOCK annotations to declare that callers of
bdrv_co_pwrite_zeroes() need to hold a reader lock for the graph.
For some places, we know that they will hold the lock, but we don't have
the GRAPH_RDLOCK annotations yet. In this case, add assume_graph_lock()
with a FIXME comment. These places will be removed once everything is
properly annotated.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230203152202.49054-10-kwolf@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 7b1fb72e2c1b9fbca17c13b753aee25f445cad24
https://github.com/qemu/qemu/commit/7b1fb72e2c1b9fbca17c13b753aee25f445cad24
Author: Kevin Wolf <kwolf@redhat.com>
Date: 2023-02-23 (Thu, 23 Feb 2023)
Changed paths:
M block/io.c
M block/parallels.c
M block/qcow.c
M block/qcow2-cluster.c
M block/qcow2.c
M block/qcow2.h
M block/qed.c
M block/quorum.c
M block/vmdk.c
M include/block/block_int-common.h
Log Message:
-----------
block: Mark read/write in block/io.c GRAPH_RDLOCK
This adds GRAPH_RDLOCK annotations to declare that callers of
bdrv_driver_*() need to hold a reader lock for the graph. It doesn't add
the annotation to public functions yet.
For some places, we know that they will hold the lock, but we don't have
the GRAPH_RDLOCK annotations yet. In this case, add assume_graph_lock()
with a FIXME comment. These places will be removed once everything is
properly annotated.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230203152202.49054-11-kwolf@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: b9b10c35e5c8bdb800601b142c44a4bd2da5a6d2
https://github.com/qemu/qemu/commit/b9b10c35e5c8bdb800601b142c44a4bd2da5a6d2
Author: Kevin Wolf <kwolf@redhat.com>
Date: 2023-02-23 (Thu, 23 Feb 2023)
Changed paths:
M block/blkdebug.c
M block/blklogwrites.c
M block/blkreplay.c
M block/block-backend.c
M block/bochs.c
M block/commit.c
M block/copy-before-write.c
M block/copy-on-read.c
M block/crypto.c
M block/filter-compress.c
M block/io.c
M block/mirror.c
M block/parallels.c
M block/preallocate.c
M block/qcow.c
M block/qcow2-cluster.c
M block/qcow2.c
M block/qcow2.h
M block/qed-table.c
M block/qed.c
M block/qed.h
M block/quorum.c
M block/raw-format.c
M block/replication.c
M block/throttle.c
M block/vdi.c
M block/vhdx.c
M block/vmdk.c
M block/vpc.c
M include/block/block_int-io.h
M tests/unit/test-bdrv-drain.c
Log Message:
-----------
block: Mark public read/write functions GRAPH_RDLOCK
This adds GRAPH_RDLOCK annotations to declare that callers of
bdrv_co_pread*/pwrite*() need to hold a reader lock for the graph.
For some places, we know that they will hold the lock, but we don't have
the GRAPH_RDLOCK annotations yet. In this case, add assume_graph_lock()
with a FIXME comment. These places will be removed once everything is
properly annotated.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230203152202.49054-12-kwolf@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: b24a4c41ba804f2f465adbc0ab57854cba4868e1
https://github.com/qemu/qemu/commit/b24a4c41ba804f2f465adbc0ab57854cba4868e1
Author: Kevin Wolf <kwolf@redhat.com>
Date: 2023-02-23 (Thu, 23 Feb 2023)
Changed paths:
M block/io.c
M block/qcow2.h
M include/block/block-io.h
Log Message:
-----------
block: Mark bdrv_co_pwrite_sync() and callers GRAPH_RDLOCK
This adds GRAPH_RDLOCK annotations to declare that callers of
bdrv_co_pwrite_sync() need to hold a reader lock for the graph.
For some places, we know that they will hold the lock, but we don't have
the GRAPH_RDLOCK annotations yet. In this case, add assume_graph_lock()
with a FIXME comment. These places will be removed once everything is
properly annotated.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230203152202.49054-13-kwolf@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: eeb4777544e41106c85146a96e16da14ab13110f
https://github.com/qemu/qemu/commit/eeb4777544e41106c85146a96e16da14ab13110f
Author: Kevin Wolf <kwolf@redhat.com>
Date: 2023-02-23 (Thu, 23 Feb 2023)
Changed paths:
M block/io.c
Log Message:
-----------
block: Mark bdrv_co_do_pwrite_zeroes() GRAPH_RDLOCK
All callers are already GRAPH_RDLOCK, so just add the annotation and
remove assume_graph_lock().
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230203152202.49054-14-kwolf@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 742bf09b2004a78708f64327d61471fe011ff799
https://github.com/qemu/qemu/commit/742bf09b2004a78708f64327d61471fe011ff799
Author: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Date: 2023-02-23 (Thu, 23 Feb 2023)
Changed paths:
M block/block-backend.c
M block/file-posix.c
M block/io.c
M block/iscsi.c
M block/qcow2.c
M block/raw-format.c
M include/block/block-io.h
M include/block/block_int-common.h
M include/block/block_int-io.h
M qemu-img.c
Log Message:
-----------
block: Mark bdrv_co_copy_range() GRAPH_RDLOCK
This adds GRAPH_RDLOCK annotations to declare that callers of
bdrv_co_copy_range() need to hold a reader lock for the graph.
Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230203152202.49054-15-kwolf@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 7b9e8b22bca534e0e86915c0856d77a7ae99e160
https://github.com/qemu/qemu/commit/7b9e8b22bca534e0e86915c0856d77a7ae99e160
Author: Kevin Wolf <kwolf@redhat.com>
Date: 2023-02-23 (Thu, 23 Feb 2023)
Changed paths:
M block/copy-before-write.c
M block/io.c
M block/snapshot-access.c
M include/block/block_int-common.h
M include/block/block_int-io.h
Log Message:
-----------
block: Mark preadv_snapshot/snapshot_block_status GRAPH_RDLOCK
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230203152202.49054-16-kwolf@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 4ec8df0183d0906ae6704d65ef6d8082c970ecdf
https://github.com/qemu/qemu/commit/4ec8df0183d0906ae6704d65ef6d8082c970ecdf
Author: Kevin Wolf <kwolf@redhat.com>
Date: 2023-02-23 (Thu, 23 Feb 2023)
Changed paths:
M block.c
M block/create.c
M block/crypto.c
M block/file-posix.c
M block/file-win32.c
M block/parallels.c
M block/qcow.c
M block/qcow2.c
M block/qed.c
M block/raw-format.c
M block/vdi.c
M block/vhdx.c
M block/vmdk.c
M block/vpc.c
M include/block/block-global-state.h
M include/block/block_int-common.h
Log Message:
-----------
block: Mark bdrv_co_create() and callers GRAPH_RDLOCK
This adds GRAPH_RDLOCK annotations to declare that callers of
bdrv_co_create() need to hold a reader lock for the graph.
Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230203152202.49054-17-kwolf@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: c38270692593602c4f57449c802c6cbfc16c6108
https://github.com/qemu/qemu/commit/c38270692593602c4f57449c802c6cbfc16c6108
Author: Kevin Wolf <kwolf@redhat.com>
Date: 2023-02-23 (Thu, 23 Feb 2023)
Changed paths:
M block/block-backend.c
M block/io.c
M include/block/block-io.h
M include/block/block_int-common.h
Log Message:
-----------
block: Mark bdrv_co_io_(un)plug() and callers GRAPH_RDLOCK
This adds GRAPH_RDLOCK annotations to declare that callers of
bdrv_co_io_plug() and bdrv_co_io_unplug() need to hold a reader lock for
the graph.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230203152202.49054-18-kwolf@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: c73ff92c9d00f9aa535044e7348d0330aa94f467
https://github.com/qemu/qemu/commit/c73ff92c9d00f9aa535044e7348d0330aa94f467
Author: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Date: 2023-02-23 (Thu, 23 Feb 2023)
Changed paths:
M block.c
M block/block-backend.c
M include/block/block-io.h
M include/block/block_int-common.h
M include/sysemu/block-backend-io.h
Log Message:
-----------
block: Mark bdrv_co_is_inserted() and callers GRAPH_RDLOCK
This adds GRAPH_RDLOCK annotations to declare that callers of
bdrv_co_is_inserted() need to hold a reader lock for the graph.
blk_is_inserted() is done as a co_wrapper_mixed_bdrv_rdlock (unlike most
other blk_* functions) because it is called a lot from other blk_co_*()
functions that already hold the lock. These calls go through
blk_is_available(), which becomes a co_wrapper_mixed_bdrv_rdlock, too,
for the same reason.
Functions that run in a coroutine and can call bdrv_co_is_available()
directly are changed to do so, which results in better TSA coverage.
Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230203152202.49054-19-kwolf@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 79a292e5ec767eea27a0cc456570ee028f4e3972
https://github.com/qemu/qemu/commit/79a292e5ec767eea27a0cc456570ee028f4e3972
Author: Kevin Wolf <kwolf@redhat.com>
Date: 2023-02-23 (Thu, 23 Feb 2023)
Changed paths:
M block.c
M block/block-backend.c
M block/copy-on-read.c
M block/filter-compress.c
M block/raw-format.c
M include/block/block-io.h
M include/block/block_int-common.h
Log Message:
-----------
block: Mark bdrv_co_eject/lock_medium() and callers GRAPH_RDLOCK
This adds GRAPH_RDLOCK annotations to declare that callers of
bdrv_co_eject() and bdrv_co_lock_medium() need to hold a reader lock for
the graph.
Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230203152202.49054-20-kwolf@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: d9249c253c28ef836641bea98180784fc2e9f655
https://github.com/qemu/qemu/commit/d9249c253c28ef836641bea98180784fc2e9f655
Author: Kevin Wolf <kwolf@redhat.com>
Date: 2023-02-23 (Thu, 23 Feb 2023)
Changed paths:
M block/io.c
M include/block/block_int-common.h
Log Message:
-----------
block: Mark bdrv_(un)register_buf() GRAPH_RDLOCK
This adds GRAPH_RDLOCK annotations to declare that callers of
bdrv_register_buf() and bdrv_unregister_buf() need to hold a reader lock
for the graph.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230203152202.49054-21-kwolf@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 48aef7944090fdddd6a89e07b790798cf31b56a4
https://github.com/qemu/qemu/commit/48aef7944090fdddd6a89e07b790798cf31b56a4
Author: Kevin Wolf <kwolf@redhat.com>
Date: 2023-02-23 (Thu, 23 Feb 2023)
Changed paths:
M block.c
M include/block/block-io.h
M include/block/block_int-common.h
Log Message:
-----------
block: Mark bdrv_co_delete_file() and callers GRAPH_RDLOCK
This adds GRAPH_RDLOCK annotations to declare that callers of
bdrv_co_delete_file() need to hold a reader lock for the graph.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230203152202.49054-22-kwolf@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 167f748d8c1300196ac55fe3eef5518bf7b1f949
https://github.com/qemu/qemu/commit/167f748d8c1300196ac55fe3eef5518bf7b1f949
Author: Kevin Wolf <kwolf@redhat.com>
Date: 2023-02-23 (Thu, 23 Feb 2023)
Changed paths:
M block/dirty-bitmap.c
M include/block/block-io.h
M include/block/block_int-common.h
M include/block/dirty-bitmap.h
Log Message:
-----------
block: Mark bdrv_*_dirty_bitmap() and callers GRAPH_RDLOCK
This adds GRAPH_RDLOCK annotations to declare that callers of
bdrv_*_dirty_bitmap() need to hold a reader lock for the graph.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230203152202.49054-23-kwolf@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 8ab8140a04cf771d63e9754d6ba6c1e676bfe507
https://github.com/qemu/qemu/commit/8ab8140a04cf771d63e9754d6ba6c1e676bfe507
Author: Kevin Wolf <kwolf@redhat.com>
Date: 2023-02-23 (Thu, 23 Feb 2023)
Changed paths:
M block.c
M block/blkdebug.c
M block/blklogwrites.c
M block/blkreplay.c
M block/blkverify.c
M block/copy-on-read.c
M block/crypto.c
M block/filter-compress.c
M block/mirror.c
M block/preallocate.c
M block/quorum.c
M block/raw-format.c
M block/replication.c
M block/stream.c
M block/throttle.c
M include/block/block-io.h
M include/block/block_int-common.h
M include/block/block_int-io.h
Log Message:
-----------
block: Mark bdrv_co_refresh_total_sectors() and callers GRAPH_RDLOCK
This adds GRAPH_RDLOCK annotations to declare that callers of
bdrv_co_refresh_total_sectors() need to hold a reader lock for the
graph.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230203152202.49054-24-kwolf@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 7b7fc3d0102dafe8eb44802493036a526e921a71
https://github.com/qemu/qemu/commit/7b7fc3d0102dafe8eb44802493036a526e921a71
Author: Stefan Hajnoczi <stefanha@redhat.com>
Date: 2023-02-23 (Thu, 23 Feb 2023)
Changed paths:
M hw/scsi/scsi-disk.c
M hw/scsi/scsi-generic.c
Log Message:
-----------
scsi: protect req->aiocb with AioContext lock
If requests are being processed in the IOThread when a SCSIDevice is
unplugged, scsi_device_purge_requests() -> scsi_req_cancel_async() races
with I/O completion callbacks. Both threads load and store req->aiocb.
This can lead to assert(r->req.aiocb == NULL) failures and undefined
behavior.
Protect r->req.aiocb with the AioContext lock to prevent the race.
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20230221212218.1378734-2-stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: abfcd2760b3e70727bbc0792221b8b98a733dc32
https://github.com/qemu/qemu/commit/abfcd2760b3e70727bbc0792221b8b98a733dc32
Author: Stefan Hajnoczi <stefanha@redhat.com>
Date: 2023-02-23 (Thu, 23 Feb 2023)
Changed paths:
M hw/scsi/scsi-disk.c
M softmmu/dma-helpers.c
Log Message:
-----------
dma-helpers: prevent dma_blk_cb() vs dma_aio_cancel() race
dma_blk_cb() only takes the AioContext lock around ->io_func(). That
means the rest of dma_blk_cb() is not protected. In particular, the
DMAAIOCB field accesses happen outside the lock.
There is a race when the main loop thread holds the AioContext lock and
invokes scsi_device_purge_requests() -> bdrv_aio_cancel() ->
dma_aio_cancel() while an IOThread executes dma_blk_cb(). The dbs->acb
field determines how cancellation proceeds. If dma_aio_cancel() sees
dbs->acb == NULL while dma_blk_cb() is still running, the request can be
completed twice (-ECANCELED and the actual return value).
The following assertion can occur with virtio-scsi when an IOThread is
used:
../hw/scsi/scsi-disk.c:368: scsi_dma_complete: Assertion `r->req.aiocb !=
NULL' failed.
Fix the race by holding the AioContext across dma_blk_cb(). Now
dma_aio_cancel() under the AioContext lock will not see
inconsistent/intermediate states.
Cc: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20230221212218.1378734-3-stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: be2c42b97c3a3a395b2f05bad1b6c7de20ecf2a5
https://github.com/qemu/qemu/commit/be2c42b97c3a3a395b2f05bad1b6c7de20ecf2a5
Author: Stefan Hajnoczi <stefanha@redhat.com>
Date: 2023-02-23 (Thu, 23 Feb 2023)
Changed paths:
M hw/scsi/virtio-scsi.c
M include/hw/virtio/virtio-scsi.h
Log Message:
-----------
virtio-scsi: reset SCSI devices from main loop thread
When an IOThread is configured, the ctrl virtqueue is processed in the
IOThread. TMFs that reset SCSI devices are currently called directly
from the IOThread and trigger an assertion failure in blk_drain() from
the following call stack:
virtio_scsi_handle_ctrl_req -> virtio_scsi_do_tmf -> device_code_reset
-> scsi_disk_reset -> scsi_device_purge_requests -> blk_drain
../block/block-backend.c:1780: void blk_drain(BlockBackend *): Assertion
`qemu_in_main_thread()' failed.
The blk_drain() function is not designed to be called from an IOThread
because it needs the Big QEMU Lock (BQL).
This patch defers TMFs that reset SCSI devices to a Bottom Half (BH)
that runs in the main loop thread under the BQL. This way it's safe to
call blk_drain() and the assertion failure is avoided.
Introduce s->tmf_bh_list for tracking TMF requests that have been
deferred to the BH. When the BH runs it will grab the entire list and
process all requests. Care must be taken to clear the list when the
virtio-scsi device is reset or unrealized. Otherwise deferred TMF
requests could execute later and lead to use-after-free or other
undefined behavior.
The s->resetting counter that's used by TMFs that reset SCSI devices is
accessed from multiple threads. This patch makes that explicit by using
atomic accessor functions. With this patch applied the counter is only
modified by the main loop thread under the BQL but can be read by any
thread.
Reported-by: Qing Wang <qinwang@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20230221212218.1378734-4-stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: a4ac51ac4ebebf812e20e7572e62bc1b8d569617
https://github.com/qemu/qemu/commit/a4ac51ac4ebebf812e20e7572e62bc1b8d569617
Author: Or Ozeri <oro@il.ibm.com>
Date: 2023-02-23 (Thu, 23 Feb 2023)
Changed paths:
M block/rbd.c
Log Message:
-----------
block/rbd: Remove redundant stack variable passphrase_len
Signed-off-by: Or Ozeri <oro@il.ibm.com>
Message-Id: <20230129113120.722708-2-oro@oro.sl.cloud9.ibm.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: b8f218ef6036d4d62968f6da9319c9d0663539dd
https://github.com/qemu/qemu/commit/b8f218ef6036d4d62968f6da9319c9d0663539dd
Author: Or Ozeri <oro@il.ibm.com>
Date: 2023-02-23 (Thu, 23 Feb 2023)
Changed paths:
M block/rbd.c
M qapi/block-core.json
Log Message:
-----------
block/rbd: Add luks-any encryption opening option
Ceph RBD encryption API required specifying the encryption format
for loading encryption. The supported formats were LUKS (v1) and LUKS2.
Starting from Reef release, RBD also supports loading with "luks-any" format,
which works for both versions of LUKS.
This commit extends the qemu rbd driver API to enable qemu users to use
this luks-any wildcard format.
Signed-off-by: Or Ozeri <oro@il.ibm.com>
Message-Id: <20230129113120.722708-3-oro@oro.sl.cloud9.ibm.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 0f385a2420d2c3f8ae7ed65fbe2712027664059e
https://github.com/qemu/qemu/commit/0f385a2420d2c3f8ae7ed65fbe2712027664059e
Author: Or Ozeri <oro@il.ibm.com>
Date: 2023-02-23 (Thu, 23 Feb 2023)
Changed paths:
M block/rbd.c
M qapi/block-core.json
Log Message:
-----------
block/rbd: Add support for layered encryption
Starting from ceph Reef, RBD has built-in support for layered encryption,
where each ancestor image (in a cloned image setting) can be possibly
encrypted using a unique passphrase.
A new function, rbd_encryption_load2, was added to librbd API.
This new function supports an array of passphrases (via "spec" structs).
This commit extends the qemu rbd driver API to use this new librbd API,
in order to support this new layered encryption feature.
Signed-off-by: Or Ozeri <oro@il.ibm.com>
Message-Id: <20230129113120.722708-4-oro@oro.sl.cloud9.ibm.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: c259930c2ea4d72fbbf380bea6b79e664b9f692c
https://github.com/qemu/qemu/commit/c259930c2ea4d72fbbf380bea6b79e664b9f692c
Author: Peter Maydell <peter.maydell@linaro.org>
Date: 2023-02-24 (Fri, 24 Feb 2023)
Changed paths:
M MAINTAINERS
M authz/listfile.c
M backends/cryptodev-vhost.c
M backends/rng.c
M backends/vhost-user.c
M block/backup.c
M block/commit.c
M block/mirror.c
M block/stream.c
M dump/dump.c
M hw/acpi/acpi-stub.c
M hw/acpi/vmgenid.c
M hw/core/machine-qmp-cmds.c
M hw/core/machine.c
M hw/core/nmi.c
M hw/i386/pc.c
M hw/i386/x86.c
M hw/misc/xlnx-zynqmp-apu-ctrl.c
M hw/net/rocker/qmp-norocker.c
M hw/smbios/smbios-stub.c
M include/qapi/qmp/qerror.h
M include/sysemu/replay.h
M migration/colo-failover.c
M migration/colo.c
M migration/migration-hmp-cmds.c
M qga/commands.c
M qga/main.c
M replay/replay.c
M replay/stubs-system.c
M softmmu/qtest.c
M softmmu/rtc.c
M softmmu/vl.c
M stubs/meson.build
R stubs/vmgenid.c
M target/i386/monitor.c
M target/i386/sev-sysemu-stub.c
M target/i386/sev.c
M util/qemu-config.c
Log Message:
-----------
Merge tag 'pull-error-2023-02-23' of https://repo.or.cz/qemu/armbru into
staging
Error reporting patches patches for 2023-02-23
# -----BEGIN PGP SIGNATURE-----
#
# iQJGBAABCAAwFiEENUvIs9frKmtoZ05fOHC0AOuRhlMFAmP3ZogSHGFybWJydUBy
# ZWRoYXQuY29tAAoJEDhwtADrkYZT+PsP/ibioHJkJiR8yMt2/2iSwpkMrphZDmRQ
# 5sAgxCARdcp0m7maH4McCFkgtERcROip+j98FV29qI4y2P/mLkt1jyMYC+TH9r4O
# X3G997526gzZBLIJJsnYlVlJ1Gbgn+uCy4AzRLuhaKAHsYoxkP0jygoSs/eIZ9tK
# Wg2tkQ/wY4bXihrlzdOpWqU3Y0ADo2PQ29p7HWheRMDQz6JQxq82hFFs1jgGQ1aq
# 4HmcpIMX0+/LshFbDU91dL1pxW17vWT9J3xtzAsWlfBBgAh257LKvJqVD0XojL04
# FxJZ05IqTXZ04gvwgji0dcvNjdmP/dXVoGLfxAYwCFtKxiig700bdNb0+6MjCT6u
# P2tSPyQQzNQ5LYI7AgER4kMyXK22RkBXx+Q7y7QK1YXszWWSmGFZWGLA2FSg4lO6
# 5jsCgtEGixsMym/ox3XeoywSh4BgWkNXC+gKMSg/hQXgfriQmndHUOlK0ZU95I43
# 7gnPol+pU1HIEy/GDU8oMyieG513Ti1KVPZyv/FbuW75AYUDlHAXH/5OFlsuaLIR
# 1QF449xCLR5vIOOLXHbKJ9jbkcAaidhq5pOhLr7oV3yKh4H53iNB7gy8+vJ6XtBf
# tXXcYPVD8LpZxDegKNpIaeT0Nr4pyy6bYfrF+YeisVotD6PDtPALfJ9eSCWjaQsl
# DG2opOfv5xuV
# =VRxu
# -----END PGP SIGNATURE-----
# gpg: Signature made Thu 23 Feb 2023 13:13:44 GMT
# gpg: using RSA key 354BC8B3D7EB2A6B68674E5F3870B400EB918653
# gpg: issuer "armbru@redhat.com"
# gpg: Good signature from "Markus Armbruster <armbru@redhat.com>" [full]
# gpg: aka "Markus Armbruster <armbru@pond.sub.org>" [full]
# Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867 4E5F 3870 B400 EB91 8653
* tag 'pull-error-2023-02-23' of https://repo.or.cz/qemu/armbru:
rocker: Tweak stubbed out monitor commands' error messages
migration/colo: Improve an x-colo-lost-heartbeat error message
hw/core: Improve the query-hotpluggable-cpus error message
replay: Simplify setting replay blockers
qga: Drop dangling reference to QERR_QGA_LOGGING_DISABLED
hw/acpi: Move QMP command to hw/core/
hw/acpi: Dumb down acpi_table_add() stub
hw/smbios: Dumb down smbios_entry_add() stub
hw/core: Improve error message when machine doesn't provide NMIs
dump: Assert cpu_get_note_size() can't fail
dump: Improve error message when target doesn't support memory dump
error: Drop superfluous #include "qapi/qmp/qerror.h"
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Commit: 1270a3f57c9221080f3205a15964814ff8359ca9
https://github.com/qemu/qemu/commit/1270a3f57c9221080f3205a15964814ff8359ca9
Author: Peter Maydell <peter.maydell@linaro.org>
Date: 2023-02-24 (Fri, 24 Feb 2023)
Changed paths:
M block.c
M block/backup.c
M block/blkdebug.c
M block/blklogwrites.c
M block/blkreplay.c
M block/blkverify.c
M block/block-backend.c
M block/block-copy.c
M block/bochs.c
M block/commit.c
M block/copy-before-write.c
M block/copy-on-read.c
M block/coroutines.h
M block/create.c
M block/crypto.c
M block/dirty-bitmap.c
M block/file-posix.c
M block/file-win32.c
M block/filter-compress.c
M block/io.c
M block/iscsi.c
M block/mirror.c
M block/parallels.c
M block/preallocate.c
M block/qcow.c
M block/qcow2-cluster.c
M block/qcow2.c
M block/qcow2.h
M block/qed-check.c
M block/qed-table.c
M block/qed.c
M block/qed.h
M block/quorum.c
M block/raw-format.c
M block/rbd.c
M block/replication.c
M block/snapshot-access.c
M block/stream.c
M block/throttle.c
M block/vdi.c
M block/vhdx.c
M block/vmdk.c
M block/vpc.c
M hw/scsi/scsi-disk.c
M hw/scsi/scsi-generic.c
M hw/scsi/virtio-scsi.c
M include/block/block-copy.h
M include/block/block-global-state.h
M include/block/block-io.h
M include/block/block_int-common.h
M include/block/block_int-io.h
M include/block/dirty-bitmap.h
M include/hw/virtio/virtio-scsi.h
M include/sysemu/block-backend-io.h
M qapi/block-core.json
M qemu-img.c
M softmmu/dma-helpers.c
M tests/unit/test-bdrv-drain.c
M tests/unit/test-block-iothread.c
Log Message:
-----------
Merge tag 'for-upstream' of https://repo.or.cz/qemu/kevin into staging
Block layer patches
- Lock the graph, part 2 (BlockDriver callbacks)
- virtio-scsi: fix SCSIDevice hot unplug with IOThread
- rbd: Add support for layered encryption
# -----BEGIN PGP SIGNATURE-----
#
# iQJFBAABCAAvFiEE3D3rFZqa+V09dFb+fwmycsiPL9YFAmP3tUURHGt3b2xmQHJl
# ZGhhdC5jb20ACgkQfwmycsiPL9ZQkA/9HFBrcsfSyzU5sHXcpqrcVPsvFwwzhsXN
# V6zMvBXQVEMYo6oDBSyNrniOJSYjiFLm1c+bMAaAFbo8dvVqqlkecBuZgQkFjnCy
# vXyaYeWnBSG5A91Vs30qzLObBsrX7P1Gh+bvtRvBPThC1zd8lrxMbVzlsxnTfDFo
# DsPkgiXL0SZ6YLBN5s61GBCfjvF8i0/8TPAvvwhHEo15sBgcBSTFYSftzEe9TXmH
# NHAuHnRshrd9DNnf20tVPuHCanSTsIpbx5cLYBoy81vSbjqJG4agULZLltKP3fiM
# kadpqmhJwjq+KhioLmcIjevPnUuqOMEzubaxZUm9o8jjsFPa8Isv4sIaAxyUP6e6
# aze1Xh9vUXn/JEf2/hApUY+2rz5dREL/TqpFwyzZjdqJb8PVCuy1JA1m2zLkvRPd
# Bl9pS7kabhcZOHrITnJS7Lvyy4IWeiw78trtaer0nCbKbPdQB62eswSXKYh5g+Ke
# kVJbkRSNi6lnljK5egIR3VxxM5kbGZsY4aGuyZk3Lc5yeAuPOil9swHlSO+5LFxP
# lRZOyumHbfKU6J7JbGFErrqR2fZiqKUN/6i0HZAIcjpZq1QxXlmHBbmrkXao+j5Y
# 0WcHdduH65dHT8fnBMgDZCXUfV7iBufspkCmY1v50YNJRPNmDzb4Os/Jh9qLHHMQ
# M1ae+58T0Fo=
# =gOli
# -----END PGP SIGNATURE-----
# gpg: Signature made Thu 23 Feb 2023 18:49:41 GMT
# gpg: using RSA key DC3DEB159A9AF95D3D7456FE7F09B272C88F2FD6
# gpg: issuer "kwolf@redhat.com"
# gpg: Good signature from "Kevin Wolf <kwolf@redhat.com>" [full]
# Primary key fingerprint: DC3D EB15 9A9A F95D 3D74 56FE 7F09 B272 C88F 2FD6
* tag 'for-upstream' of https://repo.or.cz/qemu/kevin: (29 commits)
block/rbd: Add support for layered encryption
block/rbd: Add luks-any encryption opening option
block/rbd: Remove redundant stack variable passphrase_len
virtio-scsi: reset SCSI devices from main loop thread
dma-helpers: prevent dma_blk_cb() vs dma_aio_cancel() race
scsi: protect req->aiocb with AioContext lock
block: Mark bdrv_co_refresh_total_sectors() and callers GRAPH_RDLOCK
block: Mark bdrv_*_dirty_bitmap() and callers GRAPH_RDLOCK
block: Mark bdrv_co_delete_file() and callers GRAPH_RDLOCK
block: Mark bdrv_(un)register_buf() GRAPH_RDLOCK
block: Mark bdrv_co_eject/lock_medium() and callers GRAPH_RDLOCK
block: Mark bdrv_co_is_inserted() and callers GRAPH_RDLOCK
block: Mark bdrv_co_io_(un)plug() and callers GRAPH_RDLOCK
block: Mark bdrv_co_create() and callers GRAPH_RDLOCK
block: Mark preadv_snapshot/snapshot_block_status GRAPH_RDLOCK
block: Mark bdrv_co_copy_range() GRAPH_RDLOCK
block: Mark bdrv_co_do_pwrite_zeroes() GRAPH_RDLOCK
block: Mark bdrv_co_pwrite_sync() and callers GRAPH_RDLOCK
block: Mark public read/write functions GRAPH_RDLOCK
block: Mark read/write in block/io.c GRAPH_RDLOCK
...
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Compare: https://github.com/qemu/qemu/compare/569346ad0a85...1270a3f57c92