qemu/hw/block
Gerd Hoffmann 16f6a650a8 hw/pflash: implement update buffer for block writes
Add an update buffer where all block updates are staged.
Flush or discard updates properly, so we should never see
half-completed block writes in pflash storage.

Drop a bunch of FIXME comments ;)

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240108160900.104835-4-kraxel@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
(cherry picked from commit 284a7ee2e2)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
(Mjt: drop const in hw/block/pflash_cfi01.c for before
 v8.2.0-220-g7d5dc0a367 "hw/block: Constify VMState")
2024-01-20 17:41:47 +03:00
..
dataplane hw: replace most qemu_bh_new calls with qemu_bh_new_guarded 2023-09-11 10:53:50 +03:00
block.c block: add missed block_acct_setup with new block device init procedure 2022-09-30 18:42:34 +02:00
cdrom.c
ecc.c vmstate: Constify some VMStateDescriptions 2021-05-02 17:24:50 +02:00
fdc-internal.h hw/block/fdc: Declare shared prototypes in fdc-internal.h 2021-06-25 08:53:28 -04:00
fdc-isa.c acpi: fdc-isa: replace ISADeviceClass::build_aml with AcpiDevAmlIfClass:build_dev_aml 2022-06-09 19:32:48 -04:00
fdc-sysbus.c hw/block/fdc-sysbus: Always mark sysbus floppy controllers as not having DMA 2022-06-11 11:36:14 +02:00
fdc.c block: Change blk_{pread,pwrite}() param order 2022-07-12 12:14:56 +02:00
hd-geometry.c hw/block/hd-geometry: Do not override specified bios-chs-trans 2022-08-02 11:21:56 +02:00
Kconfig hw/block/fdc: Extract SysBus floppy controllers to fdc-sysbus.c 2021-06-25 08:53:28 -04:00
m25p80_sfdp.c m25p80: Add the w25q01jvq SFPD table 2022-10-24 11:20:16 +02:00
m25p80_sfdp.h m25p80: Add the w25q01jvq SFPD table 2022-10-24 11:20:16 +02:00
m25p80.c m25p80: Add the w25q01jvq SFPD table 2022-10-24 11:20:16 +02:00
meson.build m25p80: Add the n25q256a SFDP table 2022-10-24 11:20:15 +02:00
nand.c block: Change blk_{pread,pwrite}() param order 2022-07-12 12:14:56 +02:00
onenand.c block: Change blk_{pread,pwrite}() param order 2022-07-12 12:14:56 +02:00
pflash_cfi01.c hw/pflash: implement update buffer for block writes 2024-01-20 17:41:47 +03:00
pflash_cfi02.c hw/pflash: implement update buffer for block writes 2024-01-20 17:41:47 +03:00
swim.c qbus: Rename qbus_create_inplace() to qbus_init() 2021-09-30 13:42:10 +01:00
tc58128.c hw/sh4: Add missing license 2021-03-06 16:18:42 +01:00
trace-events hw/pflash: implement update buffer for block writes 2024-01-20 17:41:47 +03:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
vhost-user-blk.c hw/virtio: generalise CHR_EVENT_CLOSED handling 2022-12-01 02:30:13 -05:00
virtio-blk-common.c virtio-blk: move config size params to virtio-blk-common 2022-10-07 09:41:51 -04:00
virtio-blk.c virtio-blk: use BDRV_REQ_REGISTERED_BUF optimization hint 2022-10-26 14:56:42 -04:00
xen_blkif.h
xen-block.c xen-block: Avoid leaks on new error path 2023-08-02 17:21:39 +03:00