Am 17.07.2025 um 10:27 hat Michael Tokarev geschrieben:
> On 15.07.2025 21:42, Kevin Wolf wrote:
> > Am 31.05.2025 um 19:15 hat Michael Tokarev geschrieben:
> > > This is another iteration of this patch series, which tries
> > > to add missing command-line options, --hel
131321-1-...@tls.msk.ru>
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
docs/tools/qemu-img.rst | 2 +-
qemu-img.c | 230 +++-
2 files changed, 159 insertions(+), 73 deletions(-)
diff --git a/docs/tools/qemu-img.rst b/docs/tools/q
From: Michael Tokarev
For consistency with other commands, and since it already
accepts --image-opts, allow specifying -f fmt too.
Signed-off-by: Michael Tokarev
Reviewed-by: Daniel P. Berrangé
Message-ID: <20250531171609.197078-16-...@tls.msk.ru>
Reviewed-by: Kevin Wolf
Signed-off-by:
too.
The only case which is not handled right is when there's an option
between filename and size, and size is given as decrement, - in
this case -size will be treated as option, not as size.
Signed-off-by: Michael Tokarev
Message-ID: <20250531171609.197078-20-...@tls.msk.ru>
Reviewe
-
for the new backing file
(was eg CACHE vs SRC_CACHE, which is unclear).
Probably should rename local variables.
Signed-off-by: Michael Tokarev
Message-ID: <20250531171609.197078-19-...@tls.msk.ru>
[kwolf: Removed command description from the argument list]
Reviewed-by: Kevin Wolf
Signed-
From: Michael Tokarev
Use the same function to parse --object as used by all
other qemu-img subcommands.
Signed-off-by: Michael Tokarev
Message-ID: <20250531171609.197078-11-...@tls.msk.ru>
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
qemu-img.c | 16 ++--
From: Fiona Ebner
The function bdrv_drop_intermediate() calls bdrv_drained_begin(),
which must be called with the graph unlocked.
Signed-off-by: Fiona Ebner
Message-ID: <20250530151125.955508-45-f.eb...@proxmox.com>
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
include/block
From: Michael Tokarev
Add missing long options and --help output,
reorder options for consistency.
Also add -s short option for --size (and remove OPTION_SIZE).
Signed-off-by: Michael Tokarev
Message-ID: <20250531171609.197078-26-...@tls.msk.ru>
Reviewed-by: Kevin Wolf
Signed-off-by:
From: Michael Tokarev
Add missing long options and --help output,
reorder options for consistency.
Signed-off-by: Michael Tokarev
Message-ID: <20250531171609.197078-21-...@tls.msk.ru>
[kwolf: Fixed up qemu-iotests]
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
qemu
Fiona Ebner
Message-ID: <20250530151125.955508-47-f.eb...@proxmox.com>
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
include/block/block_int-common.h | 2 +-
block.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/block/block_int
From: Michael Tokarev
This info will be used to generate --help output.
Signed-off-by: Michael Tokarev
Reviewed-by: Daniel P. Berrangé
Reviewed-by: Kevin Wolf
Message-ID: <20250531171609.197078-5-...@tls.msk.ru>
Signed-off-by: Kevin Wolf
---
qemu-img.
From: Fiona Ebner
Signed-off-by: Fiona Ebner
Message-ID: <20250605100938.43133-1-f.eb...@proxmox.com>
[kwolf: Fixed up pylint warnings flagged by 297]
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
tests/qemu-iotests/tests/qom-set-drive | 75 ++
test
e-ID: <20250702123204.325470-2-f.eb...@proxmox.com>
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
qapi/block-core.json | 16
block/qapi.c | 10 ++
tests/qemu-iotests/184.out | 8
3 files changed, 34 insertions(+)
diff --git a/qapi
From: Michael Tokarev
Add missing long options and --help output,
reorder options for consistency.
Signed-off-by: Michael Tokarev
Message-ID: <20250531171609.197078-8-...@tls.msk.ru>
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
qemu-img.
locked section covers
bdrv_find_node() too, so the latter alternative is chosen.
Signed-off-by: Fiona Ebner
Message-ID: <20250530151125.955508-36-f.eb...@proxmox.com>
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
include/block/block-global-state.h | 2 +-
b
4-f.eb...@proxmox.com>
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
include/block/block_int-common.h | 2 +-
block/io.c | 7 ++-
2 files changed, 3 insertions(+), 6 deletions(-)
diff --git a/include/block/block_int-common.h b/include/block/block_int-common.h
inde
off-by: Michael Tokarev
Reviewed-by: Daniel P. Berrangé
Reviewed-by: Kevin Wolf
Message-ID: <20250531171609.197078-3-...@tls.msk.ru>
Signed-off-by: Kevin Wolf
---
qemu-img.c | 9 +++--
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/qemu-img.c b/qemu-img.c
index e676602f
From: Michael Tokarev
Add missing long options and --help output,
reorder options for consistency.
Signed-off-by: Michael Tokarev
Message-ID: <20250531171609.197078-18-...@tls.msk.ru>
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
qemu-img.
ll_begin();\n\s*bdrv_graph_wrlock();/bdrv_graph_wrlock_drained();/g'
{} ';'
find . -name '*.c' -exec sed -i -z
's/bdrv_graph_wrunlock();\n\s*bdrv_drain_all_end();/bdrv_graph_wrunlock();/g'
{} ';'
Suggested-by: Kevin Wolf
Signed-off-by: Fiona Ebner
Messa
From: Fiona Ebner
The function blk_io_limits_disable() calls bdrv_drained_begin(), which
must be called with the graph unlocked.
Signed-off-by: Fiona Ebner
Message-ID: <20250530151125.955508-40-f.eb...@proxmox.com>
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
include/system
his will be done in
subsequent changes command by command, with main() done
last.
unrecognized_option() and missing_argument() functions
prototypes aren't changed by this patch, since they're
called from many places and will be removed a few patches
later. Only artifical "
. Berrangé
Reviewed-by: Kevin Wolf
Message-ID: <20250531171609.197078-2-...@tls.msk.ru>
Signed-off-by: Kevin Wolf
---
qemu-img.c | 19 +++
1 file changed, 7 insertions(+), 12 deletions(-)
diff --git a/qemu-img.c b/qemu-img.c
index e75707180d..e676602fc7 100644
--- a/qemu-img.c
From: Michael Tokarev
Add missing long options and --help output,
reorder options for consistency.
While at it, remove unused option_index variable.
Signed-off-by: Michael Tokarev
Message-ID: <20250715140903.131529-1-...@tls.msk.ru>
Reviewed-by: Kevin Wolf
Signed-off-by: Kevi
From: Fiona Ebner
This is in preparation to mark bdrv_set_backing_hd() as
GRAPH_UNLOCKED.
Signed-off-by: Fiona Ebner
Message-ID: <20250530151125.955508-28-f.eb...@proxmox.com>
[kwolf: Removed an extra blank line]
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
block.c | 6 +++
From: Fiona Ebner
The function bdrv_close_all() calls bdrv_drain_all(), which must be
called with the graph unlocked.
Signed-off-by: Fiona Ebner
Message-ID: <20250530151125.955508-46-f.eb...@proxmox.com>
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
include/block/block-
Ebner
Message-ID: <20250530151125.955508-38-f.eb...@proxmox.com>
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
include/system/block-backend-global-state.h | 2 +-
block/monitor/block-hmp-cmds.c | 15 ++-
2 files changed, 11 insertions(+), 6 deletions(-)
From: Fiona Ebner
The function bdrv_replace_child_bs() calls bdrv_drained_begin() which
must be called with the graph unlocked.
Signed-off-by: Fiona Ebner
Message-ID: <20250530151125.955508-43-f.eb...@proxmox.com>
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
include/block
From: Michael Tokarev
Add missing long options and --help output,
reorder options for consistency.
Signed-off-by: Michael Tokarev
Message-ID: <20250531171609.197078-25-...@tls.msk.ru>
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
qemu-img.
Ebner
Message-ID: <20250530151125.955508-34-f.eb...@proxmox.com>
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
include/qemu/job.h | 2 +-
block/stream.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/qemu/job.h b/include/qemu/job.h
index a5a04155ea.
From: Fiona Ebner
The function bdrv_set_backing_hd() calls bdrv_drain_all_begin(), which
must be called with the graph unlocked.
Signed-off-by: Fiona Ebner
Message-ID: <20250530151125.955508-29-f.eb...@proxmox.com>
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
include/block
From: Michael Tokarev
Add missing long options and --help output,
reorder options for consistency.
Signed-off-by: Michael Tokarev
Message-ID: <20250531171609.197078-22-...@tls.msk.ru>
[kwolf: Fixed up qemu-iotests]
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
qemu
missing_argument() and unrecognized_option() are now unused,
remove them.
Signed-off-by: Michael Tokarev
Reviewed-by: Daniel P. Berrangé
Message-ID: <20250531171609.197078-27-...@tls.msk.ru>
[kwolf: Fixed up style and formatting]
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
qemu-img.c
: <20250530151125.955508-26-f.eb...@proxmox.com>
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
block/mirror.c | 12 +---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/block/mirror.c b/block/mirror.c
index 82a6e50cf8..873e95d029 100644
--- a/block/mirror.c
necessary to make
the locked section in reopen_backing_file() shorter.
Signed-off-by: Fiona Ebner
Message-ID: <20250530151125.955508-35-f.eb...@proxmox.com>
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
include/block/block-global-state.h | 9 +
block/replica
From: Fiona Ebner
The function block_job_remove_all_bdrv() calls
bdrv_graph_wrlock_drained(), which must be called with the graph
unlocked.
Signed-off-by: Fiona Ebner
Message-ID: <20250530151125.955508-49-f.eb...@proxmox.com>
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
i
,
Reorder options for consistency.
Remove usage of missing_argument()/unrecognized_option() in
img_create().
Signed-off-by: Michael Tokarev
Message-ID: <20250531171609.197078-6-...@tls.msk.ru>
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
docs/tools/qemu-img.rst | 10 +
making the locked section
shorter in vmdk_open().
Signed-off-by: Fiona Ebner
Message-ID: <20250530151125.955508-48-f.eb...@proxmox.com>
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
include/block/block-global-state.h | 9 +
block.c
: qemu-sta...@nongnu.org
Fixes: 984a32f17e8d ("file-posix: Support FUA writes")
Buglink: https://issues.redhat.com/browse/RHEL-96854
Reported-by: Tingting Mao
Signed-off-by: Kevin Wolf
Message-ID: <20250625085019.27735-1-kw...@redhat.com>
Reviewed-by: Eric Blake
Signed-off-by: K
From: Fiona Ebner
The function bdrv_insert_node() calls bdrv_drained_begin() which must
be called with the graph unlocked.
Signed-off-by: Fiona Ebner
Message-ID: <20250530151125.955508-44-f.eb...@proxmox.com>
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
include/block/block-
From: Fiona Ebner
Since commit 15489c769b ("block: auto-generated node-names"), if the
node name of a block driver state is not explicitly specified, it
will be auto-generated.
Signed-off-by: Fiona Ebner
Message-ID: <20250702123204.325470-3-f.eb...@proxmox.com>
Reviewed-by: Ke
From: Fiona Ebner
The function bdrv_all_delete_snapshot() calls bdrv_drain_all_begin(),
which must be called with the graph unlocked.
Signed-off-by: Fiona Ebner
Message-ID: <20250530151125.955508-33-f.eb...@proxmox.com>
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
include
From: Fiona Ebner
The function blk_drain_all() calls bdrv_drain_all_begin(), which must
be called with the graph unlocked.
Signed-off-by: Fiona Ebner
Message-ID: <20250530151125.955508-32-f.eb...@proxmox.com>
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
include/system/block-b
From: Michael Tokarev
Add missing long options and --help output,
reorder options for consistency.
Signed-off-by: Michael Tokarev
Message-ID: <20250531171609.197078-24-...@tls.msk.ru>
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
qemu-img.
mmediately.
While at it, remove allowed size suffixes from the error message
as it makes no sense most of the time (should be in help instead).
Signed-off-by: Michael Tokarev
Reviewed-by: Daniel P. Berrangé
Message-ID: <20250531171609.197078-28-...@tls.msk.ru>
Reviewed-by: Kevin Wolf
Signed-of
From: Michael Tokarev
Add long options, add help, reorder options for consistency.
Signed-off-by: Michael Tokarev
Message-ID: <20250531171609.197078-12-...@tls.msk.ru>
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
qemu-img.
From: Michael Tokarev
Add missing long options and --help output,
reorder options for consistency.
Add missing --object option.
Signed-off-by: Michael Tokarev
Message-ID: <20250531171609.197078-23-...@tls.msk.ru>
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
qemu-img.c
can use RO mode).
Signed-off-by: Michael Tokarev
Reviewed-by: Daniel P. Berrangé
Message-ID: <20250531171609.197078-17-...@tls.msk.ru>
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
docs/tools/qemu-img.rst | 2 +-
qemu-img.c | 52 ++
: <20250531171609.197078-14-...@tls.msk.ru>
[kwolf: Fixed up help text formatting]
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
qemu-img.c | 51 ---
1 file changed, 32 insertions(+), 19 deletions(-)
diff --git a/qemu-img.c b/qemu-img.c
ff-by: Fiona Ebner
Message-ID: <20250530151125.955508-31-f.eb...@proxmox.com>
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
include/block/block-global-state.h | 5 +
block.c| 20
block/commit.c | 6 +++---
blo
From: Michael Tokarev
Use common code and simplify error message
Signed-off-by: Michael Tokarev
Reviewed-by: Daniel P. Berrangé
Reviewed-by: Kevin Wolf
Message-ID: <20250531171609.197078-7-...@tls.msk.ru>
Signed-off-by: Kevin Wolf
---
qemu-img.c
From: Michael Tokarev
Signed-off-by: Michael Tokarev
Reviewed-by: Daniel P. Berrangé
Message-ID: <20250531171609.197078-9-...@tls.msk.ru>
[kwolf: Added missing comma in help text]
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
qemu-img.c | 5 +++--
1 file changed, 3 insertions
just created the BlockDriverState and it isn't even part of
the graph yet. We can use bdrv_do_drained_begin_quiesce() instead to
avoid the polling, which means that bdrv_new() can now safely be called
from callers that hold the graph lock as well as from callers that
don't.
Signed-off
From: Michael Tokarev
Add missing long options and --help output,
reorder options for consistency.
Signed-off-by: Michael Tokarev
Message-ID: <20250531171609.197078-10-...@tls.msk.ru>
[kwolf: Fixed up qemu-iotests]
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
qemu
ge-ID: <20250530151125.955508-41-f.eb...@proxmox.com>
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
include/qemu/job.h | 2 +-
block/commit.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/qemu/job.h b/include/qemu/job.h
index bb8ee766ef..ead31578d3 1
From: Fiona Ebner
The function blk_drain() calls bdrv_drained_begin(), which must be
called with the graph unlocked.
Signed-off-by: Fiona Ebner
Message-ID: <20250530151125.955508-39-f.eb...@proxmox.com>
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
include/system/block-b
From: Fiona Ebner
The function bdrv_inactivate_all() calls bdrv_drain_all_begin(), which
must be called with the graph unlocked.
Signed-off-by: Fiona Ebner
Message-ID: <20250530151125.955508-37-f.eb...@proxmox.com>
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
include/block
locked section can also cover bdrv_cow_bs().
Signed-off-by: Fiona Ebner
Message-ID: <20250530151125.955508-27-f.eb...@proxmox.com>
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
block/commit.c | 32 +---
1 file changed, 25 insertions(+), 7 deletions(-)
.eb...@proxmox.com>
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
blockdev.c | 22 ++
1 file changed, 14 insertions(+), 8 deletions(-)
diff --git a/blockdev.c b/blockdev.c
index e625534925..3c53472a23 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -1580,11 +1580,19 @@ stati
o non-optional
iotests: add test for changing the 'drive' property via 'qom-set'
Kevin Wolf (2):
block: Allow bdrv_new() with and without graph lock
file-posix: Fix aio=threads performance regression after enablign FUA
Michael Tokarev (27):
qemu-img: m
Am 31.05.2025 um 19:15 hat Michael Tokarev geschrieben:
> This is another iteration of this patch series, which tries
> to add missing command-line options, --help output, make it
> all more or less consistent, etc.
>
> I addressed (hopefully) all comments so far, mostly by Kevi
" treat FILE as an option string (key=value,..), not a file name\n"
> +" (incompatible with -f|--format)\n"
> +" --start-offset OFFSET\n"
-s, --start-offset
> +" --max-length LENGTH\n"
-l, --max-length
> +" --output human|json\n"
> +" specify output format name (default: human)\n"
> +" -U, --force-share\n"
> +" open image in shared mode for concurrent access\n"
> +" --object OBJDEF\n"
> +" defines QEMU user-creatable object\n"
> +" FILE\n"
> +" the image file name, or option string (key=value,..)\n"
> +" with --image-opts, to operate on\n"
> +);
Kevin
FMT\n"
> +" specify FILE image format explicitly (default: probing is used)\n"
> +" --image-opts\n"
> +" treat FILE as an option string (key=value,..), not a file name\n"
> +" (incompatible with -f|--format)\n"
> +" -b, --backing-chain\n"
> +" display information about backing chaing\n"
> +" in case the image is stacked\n"
s/chaing/chain/
Also no need for the \n in the middle, the whole message fits in 80
characters.
Kevin
Am 05.06.2025 um 12:09 hat Fiona Ebner geschrieben:
> Signed-off-by: Fiona Ebner
Thanks, applied to the block branch.
Kevin
x27; rather than just 'block' as commit title prefix.
>
> Fiona Ebner (2):
> block/qapi: include child references in block device info
> block/qapi: make @node-name in @BlockDeviceInfo non-optional
Thanks, applied to the block branch.
Kevin
Am 01.07.2025 um 19:16 hat Kevin Wolf geschrieben:
> Am 30.05.2025 um 17:10 hat Fiona Ebner geschrieben:
> > This series is an attempt to fix a deadlock issue reported by Andrey
> > here [3].
> >
> > bdrv_drained_begin() polls and is not allowed to be called with th
RING_REMOVE will be set in
both cases, so checking FDMON_IO_URING_DELETE_AIO_HANDLER is redundant.
Maybe assert this, too, when setting FDMON_IO_URING_DELETE_AIO_HANDLER.
> +QLIST_INSERT_HEAD_RCU(&ctx->deleted_aio_handlers,
> + node, node_deleted);
> }
>
> QSLIST_REMOVE_HEAD_RCU(&ctx->submit_list, node_submitted);
Kevin
Am 02.07.2025 um 11:39 hat Fiona Ebner geschrieben:
> Am 02.07.25 um 11:13 schrieb Kevin Wolf:
> > Am 01.07.2025 um 18:21 hat Fiona Ebner geschrieben:
> >> +##
> >> +# @BlockdevChild:
> >> +#
> >> +# @child: The name of the child, for example 'f
+# @node-name: The name of the child's block driver node.
> +#
> +# Since: 10.1
> +##
> +{ 'struct': 'BlockdevChild',
> + 'data': { 'child': 'str',
> +'*node-name': 'str' } }
Is node-name really optional? I don't think we have nodes without a node
name any more, do we?
Same with your check for child->bs, I don't think a BdrvChild without a
bs can exist (or only while creating/destroying the BdrvChild, which
holds the graph lock and doesn't allow monitor commands to run in the
middle).
Kevin
be, are nodes that unshare the resize permission
> for a child. It’s probably not clever to call the resize CB if that
> permission is unshared, so maybe just from that perspective, we should keep
> that CB strictly inside of that explicit truncate path that checks that
> permission (at least when growing images...).)
>
> Anyway, again, this is the safe option.
The traditional solution for nodes that unshare resize, but get resized
in the background anyway would be bs->drv = NULL, and we probably still
aren't certain what happens after that. :-)
Kevin
ts on patches
24, 27 and 41. Once we agree what to do there, I can probably just make
any changes myself while applying.
Kevin
esce(bs, NULL) in bdrv_new()
instead? Then callers can hold the lock if they want to.
Kevin
quot;node-name": "foo" },
{ "child": "backing", "node-name": "bar" }
]
Which as a side effect automatically gives us extensibility if we ever
want to expose more details of BdrvChild.
Kevin
> +
Extra blank line.
> /* Hook up the backing file link; drop our reference, bs owns the
> * backing_hd reference now */
> +bdrv_graph_rdunlock_main_loop();
> ret = bdrv_set_backing_hd(bs, backing_hd, errp);
> +bdrv_graph_rdlock_main_loop();
> bdrv_unref(backing_hd);
>
> if (ret < 0) {
Kevin
t; commands and then manually checked:
> find . -name '*.c' -exec sed -i -z
> 's/bdrv_drain_all_begin();\n\s*bdrv_graph_wrlock();/bdrv_graph_wrlock_drained();/g'
> {} ';'
> find . -name '*.c' -exec sed -i -z
> 's/bdrv_graph_wrunlock();\n\s
wise non-thread-safe code
running in the main loop depends on this.
Kevin
ually. The tools will mature, and we
> > can expect some to become safely usable in free software projects.
> > The policy we set now must be for today, and be open to revision. It's
> > best to start strict and safe, then relax.
> >
> > Meanwhile reque
Commit bdf12f2a fixed the setter for the "loadparm" machine property,
which gets a string from a visitor, passes it to s390_ipl_fmt_loadparm()
and then forgot to free it. It left another instance of the same problem
unfixed in the "loadparm" device property. Fix it.
Signe
patch. Thanks
> >
> > Did you ever send it?
>
> Sorry, no. Got sidetracked as usual. I'll mark this email so I don't forget.
I think Thomas asked because I posted the fix in our downstream bug
tracker. I just sent it as a proper patch.
Kevin
: qemu-sta...@nongnu.org
Fixes: 984a32f17e8d ("file-posix: Support FUA writes")
Buglink: https://issues.redhat.com/browse/RHEL-96854
Reported-by: Tingting Mao
Signed-off-by: Kevin Wolf
---
block/file-posix.c | 29 +++--
1 file changed, 15 insertions(+), 14 deleti
acpi tables and hex includes
add romfile_loadbool()
update pci_pad_mem64 handling
ahci: add controller reset
Kevin O'Connor (14):
vgasrc: Use curmode_g instead of vmode_g when mode is the current video
mode
vgasrc: Rename vgahw_get_linesize() to vgahw_minimum_linel
:2156:1: warning: the frame size of 49184 bytes is
> larger than 8192 bytes [-Wframe-larger-than=]
> ../hw/virtio/virtio.c:2193:1: warning: the frame size of 49184 bytes is
> larger than 8192 bytes [-Wframe-larger-than=]
>
> - Struct VirtQueueElementOld containing several arrays of
> VIRTQUEUE_MAX_SIZE (1k)
> Unclear if qemu_{put,get}_virtqueue_element are a hot path
These are for (de)serialising state for migration, not a hot path.
Kevin
From: Fiona Ebner
Suggested-by: Kevin Wolf
Signed-off-by: Fiona Ebner
Message-ID: <20250530151125.955508-21-f.eb...@proxmox.com>
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
tests/qemu-iotests/tests/graph-changes-while-io | 1 +
1 file changed, 1 insertion(+)
diff --git a
.@proxmox.com>
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
include/block/block_int-common.h | 7 +++
block.c | 10 --
block/quorum.c | 2 --
blockdev.c | 2 ++
4 files changed, 17 insertions(+), 4 deletions(
na Ebner
Message-ID: <20250523070211.280498-1-f.eb...@proxmox.com>
Reviewed-by: Daniel P. Berrangé
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
hw/core/qdev-properties-system.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/hw/core/qdev-properties-system.c b/hw/core/qdev-properties-s
From: Fiona Ebner
This is in preparation to mark bdrv_drained_begin() as GRAPH_UNLOCKED.
Signed-off-by: Fiona Ebner
Message-ID: <20250530151125.955508-19-f.eb...@proxmox.com>
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
blockdev.c | 17 -
1 file chang
e.g. via
bdrv_child_change_aio_context().
[0]:
https://lore.kernel.org/qemu-devel/73839c04-7616-407e-b057-80ca69e63...@virtuozzo.com/
Reported-by: Andrey Drobyshev
Signed-off-by: Fiona Ebner
Reviewed-by: Kevin Wolf
Message-ID: <20250530151125.955508-9-f.eb...@proxmox.com>
Signed-off-
explicilty listed here. The caller
quorum_del_child() holds the graph lock, so it is not actually allowed
to drain. This will be addressed in the next commit.
Signed-off-by: Fiona Ebner
Message-ID: <20250530151125.955508-16-f.eb...@proxmox.com>
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wo
st
In all callers, a drained section is introduced.
Signed-off-by: Fiona Ebner
Reviewed-by: Kevin Wolf
Message-ID: <20250530151125.955508-13-f.eb...@proxmox.com>
Signed-off-by: Kevin Wolf
---
include/block/blockjob.h | 2 ++
block.c | 4 ++--
block/backup.c
rename snap1->mid as suggested by Kevin Wolf
remove image file after test as suggested by Kevin Wolf
add type annotation for function argument to make mypy happy]
Signed-off-by: Fiona Ebner
Message-ID: <20250530151125.955508-22-f.eb...@proxmox.com>
Reviewed-by: Kevin Wolf
Sign
From: Fiona Ebner
This is a small step in preparation to mark bdrv_drained_begin() as
GRAPH_UNLOCKED. More concretely, it is in preparation to move the
drain out of bdrv_change_aio_context() and marking that function as
GRAPH_RDLOCK.
Signed-off-by: Fiona Ebner
Reviewed-by: Kevin Wolf
Message
From: Fiona Ebner
This is in preparation to mark bdrv_drained_begin() as GRAPH_UNLOCKED.
More granular draining is not trivially possible, because
bdrv_inactivate_recurse() can recursively call itself.
Signed-off-by: Fiona Ebner
Reviewed-by: Kevin Wolf
Message-ID: <20250530151125.95550
ng
commits.
Functions like qmp_blockdev_mirror() query the nodes to act on before
draining and locking. In theory, draining could invalidate those nodes.
This kind of issue is not addressed by these commits.
Signed-off-by: Fiona Ebner
Reviewed-by: Kevin Wolf
Message-ID: <20250530151125.9
From: Fiona Ebner
This is a small step in preparation to mark bdrv_drained_begin() as
GRAPH_UNLOCKED. More concretely, it allows marking the
change_aio_ctx() callback GRAPH_RDLOCK_PTR, which is the next step.
Signed-off-by: Fiona Ebner
Reviewed-by: Kevin Wolf
Message-ID
sub-calls. This is fine for the existing
callers of bdrv_all_delete_snapshot().
Signed-off-by: Fiona Ebner
Reviewed-by: Kevin Wolf
Message-ID: <20250530151125.955508-4-f.eb...@proxmox.com>
Signed-off-by: Kevin Wolf
---
block/snapshot.c | 26 +++---
blockdev.c
e main
thread cannot change here, so keep only the earlier instance.
Signed-off-by: Fiona Ebner
Message-ID: <20250530151125.955508-23-f.eb...@proxmox.com>
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
block/io.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/block/io.c b/b
text() and mark GRAPH_RDLOCK".
Signed-off-by: Fiona Ebner
Message-ID: <20250530151125.955508-17-f.eb...@proxmox.com>
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
include/block/block_int-common.h | 7 +++
block.c | 2 ++
block/quorum.c
Message-ID: <20250530151125.955508-11-f.eb...@proxmox.com>
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
block.c | 40
1 file changed, 24 insertions(+), 16 deletions(-)
diff --git a/block.c b/block.c
index 3aaacabf7f..46eb2fe449 100644
---
From: Fiona Ebner
This is in preparation to mark bdrv_drained_begin() as GRAPH_UNLOCKED.
Signed-off-by: Fiona Ebner
Message-ID: <20250530151125.955508-18-f.eb...@proxmox.com>
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
blockdev.c | 19 +--
1 file chang
From: Fiona Ebner
This is in preparation to mark bdrv_drained_begin() as GRAPH_UNLOCKED.
More granular draining is not trivially possible, because
bdrv_reopen_queue_child() can recursively call itself.
Signed-off-by: Fiona Ebner
Reviewed-by: Kevin Wolf
Message-ID: <20250530151125.95550
sed by the following
commit.
Signed-off-by: Fiona Ebner
Reviewed-by: Kevin Wolf
Message-ID: <20250530151125.955508-14-f.eb...@proxmox.com>
Signed-off-by: Kevin Wolf
---
block.c | 6 --
block/quorum.c | 2 ++
block/replication.c | 5 +
1 - 100 of 13597 matches
Mail list logo