qemu-commits
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]