1
The following changes since commit f55a585d1037e5de6088f25e75443c2776786e29:
1
The following changes since commit 825b96dbcee23d134b691fc75618b59c5f53da32:
2
2
3
Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging (2019-04-07 14:54:55 +0100)
3
Merge tag 'migration-20250310-pull-request' of https://gitlab.com/farosas/qemu into staging (2025-03-11 09:32:07 +0800)
4
4
5
are available in the Git repository at:
5
are available in the Git repository at:
6
6
7
git://repo.or.cz/qemu/kevin.git tags/for-upstream
7
https://repo.or.cz/qemu/kevin.git tags/for-upstream
8
8
9
for you to fetch changes up to ab63817119b03b95f7dce6fae036e6d063ad63fb:
9
for you to fetch changes up to df957115c46845e2c0ccc29ac0a75eb9700a9a0d:
10
10
11
hmp: Fix drive_add ... format=help crash (2019-04-08 17:42:06 +0200)
11
scripts/qcow2-to-stdout.py: Add script to write qcow2 images to stdout (2025-03-13 17:57:23 +0100)
12
12
13
----------------------------------------------------------------
13
----------------------------------------------------------------
14
Block layer patches:
14
Block layer patches
15
15
16
- hmp: Fix drive_add ... format=help crash
16
- virtio-scsi: add iothread-vq-mapping parameter
17
- block: Forward 'discard' to temporary overlay
17
- Improve writethrough performance
18
- Fix missing zero init in bdrv_snapshot_goto()
19
- Added scripts/qcow2-to-stdout.py
20
- Code cleanup and iotests fixes
18
21
19
----------------------------------------------------------------
22
----------------------------------------------------------------
20
Kevin Wolf (1):
23
Alberto Garcia (1):
21
block: Forward 'discard' to temporary overlay
24
scripts/qcow2-to-stdout.py: Add script to write qcow2 images to stdout
22
25
23
Markus Armbruster (1):
26
Kevin Wolf (8):
24
hmp: Fix drive_add ... format=help crash
27
block: Remove unused blk_op_is_blocked()
28
block: Zero block driver state before reopening
29
file-posix: Support FUA writes
30
block/io: Ignore FUA with cache.no-flush=on
31
aio: Create AioPolledEvent
32
aio-posix: Factor out adjust_polling_time()
33
aio-posix: Separate AioPolledEvent per AioHandler
34
aio-posix: Adjust polling time also for new handlers
25
35
26
block.c | 3 ++-
36
Stefan Hajnoczi (13):
27
device-hotplug.c | 2 +-
37
scsi-disk: drop unused SCSIDiskState->bh field
28
tests/test-hmp.c | 1 +
38
dma: use current AioContext for dma_blk_io()
29
3 files changed, 4 insertions(+), 2 deletions(-)
39
scsi: track per-SCSIRequest AioContext
40
scsi: introduce requests_lock
41
virtio-scsi: introduce event and ctrl virtqueue locks
42
virtio-scsi: protect events_dropped field
43
virtio-scsi: perform TMFs in appropriate AioContexts
44
virtio-blk: extract cleanup_iothread_vq_mapping() function
45
virtio-blk: tidy up iothread_vq_mapping functions
46
virtio: extract iothread-vq-mapping.h API
47
virtio-scsi: add iothread-vq-mapping parameter
48
virtio-scsi: handle ctrl virtqueue in main loop
49
virtio-scsi: only expose cmd vqs via iothread-vq-mapping
30
50
51
Thomas Huth (1):
52
iotests: Limit qsd-migrate to working formats
53
54
include/block/aio.h | 5 +-
55
include/block/raw-aio.h | 19 +-
56
include/hw/scsi/scsi.h | 8 +-
57
include/hw/virtio/iothread-vq-mapping.h | 45 +++
58
include/hw/virtio/virtio-scsi.h | 15 +-
59
include/system/block-backend-global-state.h | 1 -
60
include/system/dma.h | 3 +-
61
util/aio-posix.h | 1 +
62
block/block-backend.c | 12 -
63
block/file-posix.c | 29 +-
64
block/io.c | 4 +
65
block/io_uring.c | 25 +-
66
block/linux-aio.c | 25 +-
67
block/snapshot.c | 1 +
68
hw/block/virtio-blk.c | 132 +-------
69
hw/ide/core.c | 3 +-
70
hw/ide/macio.c | 3 +-
71
hw/scsi/scsi-bus.c | 121 +++++--
72
hw/scsi/scsi-disk.c | 24 +-
73
hw/scsi/virtio-scsi-dataplane.c | 103 ++++--
74
hw/scsi/virtio-scsi.c | 502 ++++++++++++++++------------
75
hw/virtio/iothread-vq-mapping.c | 131 ++++++++
76
system/dma-helpers.c | 8 +-
77
util/aio-posix.c | 114 ++++---
78
util/async.c | 1 -
79
scripts/qcow2-to-stdout.py | 449 +++++++++++++++++++++++++
80
hw/virtio/meson.build | 1 +
81
meson.build | 8 +
82
tests/qemu-iotests/051.pc.out | 2 +-
83
tests/qemu-iotests/tests/qsd-migrate | 2 +-
84
30 files changed, 1286 insertions(+), 511 deletions(-)
85
create mode 100644 include/hw/virtio/iothread-vq-mapping.h
86
create mode 100644 hw/virtio/iothread-vq-mapping.c
87
create mode 100755 scripts/qcow2-to-stdout.py
diff view generated by jsdifflib
Deleted patch
1
When bdrv_temp_snapshot_options() is called for snapshot=on, the
2
'discard' option in the options QDict hasn't been parsed and merged into
3
the flags yet. So copy the dict entry to make sure that the temporary
4
overlay enables discard when it was requested for the drive.
5
1
6
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
7
Reviewed-by: Eric Blake <eblake@redhat.com>
8
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
9
Reviewed-by: Alberto Garcia <berto@igalia.com>
10
---
11
block.c | 3 ++-
12
1 file changed, 2 insertions(+), 1 deletion(-)
13
14
diff --git a/block.c b/block.c
15
index XXXXXXX..XXXXXXX 100644
16
--- a/block.c
17
+++ b/block.c
18
@@ -XXX,XX +XXX,XX @@ static void bdrv_temp_snapshot_options(int *child_flags, QDict *child_options,
19
qdict_set_default_str(child_options, BDRV_OPT_CACHE_DIRECT, "off");
20
qdict_set_default_str(child_options, BDRV_OPT_CACHE_NO_FLUSH, "on");
21
22
- /* Copy the read-only option from the parent */
23
+ /* Copy the read-only and discard options from the parent */
24
qdict_copy_default(child_options, parent_options, BDRV_OPT_READ_ONLY);
25
+ qdict_copy_default(child_options, parent_options, BDRV_OPT_DISCARD);
26
27
/* aio=native doesn't work for cache.direct=off, so disable it for the
28
* temporary snapshot */
29
--
30
2.20.1
31
32
diff view generated by jsdifflib
Deleted patch
1
From: Markus Armbruster <armbru@redhat.com>
2
1
3
drive_new() returns null without setting an error when it provided
4
help. add_init_drive() assumes null means failure, and crashes trying
5
to report a null error.
6
7
Fixes: c4f26c9f37ce511e5fe629c21c180dc6eb7c5a25
8
Cc: qemu-stable@nongnu.org
9
Signed-off-by: Markus Armbruster <armbru@redhat.com>
10
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
11
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
12
---
13
device-hotplug.c | 2 +-
14
tests/test-hmp.c | 1 +
15
2 files changed, 2 insertions(+), 1 deletion(-)
16
17
diff --git a/device-hotplug.c b/device-hotplug.c
18
index XXXXXXX..XXXXXXX 100644
19
--- a/device-hotplug.c
20
+++ b/device-hotplug.c
21
@@ -XXX,XX +XXX,XX @@ static DriveInfo *add_init_drive(const char *optstr)
22
23
mc = MACHINE_GET_CLASS(current_machine);
24
dinfo = drive_new(opts, mc->block_default_type, &err);
25
- if (!dinfo) {
26
+ if (err) {
27
error_report_err(err);
28
qemu_opts_del(opts);
29
return NULL;
30
diff --git a/tests/test-hmp.c b/tests/test-hmp.c
31
index XXXXXXX..XXXXXXX 100644
32
--- a/tests/test-hmp.c
33
+++ b/tests/test-hmp.c
34
@@ -XXX,XX +XXX,XX @@ static const char *hmp_cmds[] = {
35
"cpu 0",
36
"device_add ?",
37
"device_add usb-mouse,id=mouse1",
38
+ "drive_add ignored format=help",
39
"mouse_button 7",
40
"mouse_move 10 10",
41
"mouse_button 0",
42
--
43
2.20.1
44
45
diff view generated by jsdifflib