qemu/qapi
Jean-Louis Dupond cc9f53b3ec qcow2: keep reference on zeroize with discard-no-unref enabled
When the discard-no-unref flag is enabled, we keep the reference for
normal discard requests.
But when a discard is executed on a snapshot/qcow2 image with backing,
the discards are saved as zero clusters in the snapshot image.

When committing the snapshot to the backing file, not
discard_in_l2_slice is called but zero_in_l2_slice. Which did not had
any logic to keep the reference when discard-no-unref is enabled.

Therefor we add logic in the zero_in_l2_slice call to keep the reference
on commit.

Fixes: https://gitlab.com/qemu-project/qemu/-/issues/1621
Signed-off-by: Jean-Louis Dupond <jean-louis@dupond.be>
Message-Id: <20231003125236.216473-2-jean-louis@dupond.be>
[hreitz: Made the documentation change more verbose, as discussed
         on-list]
Signed-off-by: Hanna Czenczek <hreitz@redhat.com>
(cherry picked from commit b2b109041e)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2023-11-09 16:39:13 +03:00
..
acpi.json qapi: Reformat doc comments to conform to current conventions 2023-05-10 10:01:01 +02:00
audio.json audio/pw: Pipewire->PipeWire case fix for user-visible text 2023-07-17 15:22:56 +04:00
authz.json qapi: Reformat doc comments to conform to current conventions 2023-05-10 10:01:01 +02:00
block-core.json qcow2: keep reference on zeroize with discard-no-unref enabled 2023-11-09 16:39:13 +03:00
block-export.json qapi: Reformat doc comments to conform to current conventions 2023-05-10 10:01:01 +02:00
block.json qapi: Reformat recent doc comments to conform to current conventions 2023-07-26 14:51:36 +02:00
char.json qapi: Correct "eg." to "e.g." in documentation 2023-07-25 17:20:32 +03:00
common.json qapi: Reformat doc comments to conform to current conventions 2023-05-10 10:01:01 +02:00
compat.json qapi: Reformat doc comments to conform to current conventions 2023-05-10 10:01:01 +02:00
control.json docs/interop: Convert qmp-spec.txt to rST 2023-05-22 10:21:01 +02:00
crypto.json qapi: Reformat doc comments to conform to current conventions 2023-05-10 10:01:01 +02:00
cryptodev.json spelling: information 2023-06-09 23:38:16 +03:00
cxl.json qapi: Reformat recent doc comments to conform to current conventions 2023-07-26 14:51:36 +02:00
dump.json qapi: Reformat doc comments to conform to current conventions 2023-05-10 10:01:01 +02:00
error.json qapi: Reformat doc comments to conform to current conventions 2023-05-10 10:01:01 +02:00
introspect.json qapi: Reformat doc comments to conform to current conventions 2023-05-10 10:01:01 +02:00
job.json qapi: Reformat doc comments to conform to current conventions 2023-05-10 10:01:01 +02:00
machine-target.json qapi: Reformat recent doc comments to conform to current conventions 2023-07-26 14:51:36 +02:00
machine.json accel/tcg: remove CONFIG_PROFILER 2023-06-26 17:33:00 +02:00
meson.build meson: Replace CONFIG_SOFTMMU -> CONFIG_SYSTEM_ONLY 2023-06-20 10:01:30 +02:00
migration.json qapi: Craft the dirty-limit capability comment 2023-08-02 09:33:38 +02:00
misc-target.json qapi: Reformat doc comments to conform to current conventions 2023-05-10 10:01:01 +02:00
misc.json qapi: Correct "eg." to "e.g." in documentation 2023-07-25 17:20:32 +03:00
net.json qapi: Reformat recent doc comments to conform to current conventions 2023-07-26 14:51:36 +02:00
opts-visitor.c cutils: Adjust signature of parse_uint[_full] 2023-06-02 12:27:19 -05:00
pci.json qapi: Reformat doc comments to conform to current conventions 2023-05-10 10:01:01 +02:00
pragma.json qapi/pragma: Tidy up comments 2022-05-16 07:31:26 +02:00
qapi-clone-visitor.c qapi: Make visitor functions taking Error ** return bool, not void 2020-07-10 15:18:08 +02:00
qapi-dealloc-visitor.c qapi: Make visitor functions taking Error ** return bool, not void 2020-07-10 15:18:08 +02:00
qapi-forward-visitor.c qapi: remove needless include 2022-03-22 14:46:18 +04:00
qapi-schema.json docs/interop: Convert qmp-spec.txt to rST 2023-05-22 10:21:01 +02:00
qapi-type-helpers.c monitor: introduce HumanReadableText and HMP support 2021-11-02 15:55:13 +00:00
qapi-util.c qapi: Fix stale reference to scripts/qapi.py in a comment 2022-02-28 11:39:35 +01:00
qapi-visit-core.c qapi: Factor out compat_policy_input_ok() 2021-10-29 21:27:20 +02:00
qdev.json qapi/qdev: Tidy up device_add documentation 2023-07-26 14:51:36 +02:00
qmp-dispatch.c monitor: mark mixed functions that can suspend 2023-04-20 11:17:35 +02:00
qmp-event.c Replace qemu_gettimeofday() with g_get_real_time() 2022-04-06 10:50:37 +02:00
qmp-registry.c qapi: Generalize command policy checking 2021-10-29 18:24:46 +02:00
qobject-input-visitor.c include: add qemu/keyval.h 2022-04-21 17:03:51 +04:00
qobject-output-visitor.c qapi: Extend -compat to set policy for unstable interfaces 2021-10-29 21:28:01 +02:00
qom.json qapi: Reformat recent doc comments to conform to current conventions 2023-07-26 14:51:36 +02:00
rdma.json qapi: Reformat doc comments to conform to current conventions 2023-05-10 10:01:01 +02:00
replay.json qapi: Reformat doc comments to conform to current conventions 2023-05-10 10:01:01 +02:00
rocker.json qapi: Reformat doc comments to conform to current conventions 2023-05-10 10:01:01 +02:00
run-state.json qapi: Reformat doc comments to conform to current conventions 2023-05-10 10:01:01 +02:00
sockets.json qapi: Reformat doc comments to conform to current conventions 2023-05-10 10:01:01 +02:00
stats.json qapi: Reformat doc comments to conform to current conventions 2023-05-10 10:01:01 +02:00
string-input-visitor.c qapi, qemu-options: make all parsing visitors parse boolean options the same 2020-11-04 12:00:40 -05:00
string-output-visitor.c qapi: remove needless include 2022-03-22 14:46:18 +04:00
tpm.json qapi: Reformat doc comments to conform to current conventions 2023-05-10 10:01:01 +02:00
trace-events qapi: Generalize struct member policy checking 2021-10-29 18:23:09 +02:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
trace.json qapi: Reformat recent doc comments to conform to current conventions 2023-07-26 14:51:36 +02:00
transaction.json qapi: Reformat doc comments to conform to current conventions 2023-05-10 10:01:01 +02:00
ui.json qapi: Reformat recent doc comments to conform to current conventions 2023-07-26 14:51:36 +02:00
virtio.json qapi: Reformat doc comments to conform to current conventions 2023-05-10 10:01:01 +02:00
yank.json qapi: Reformat doc comments to conform to current conventions 2023-05-10 10:01:01 +02:00