mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 07:43:54 -06:00
qmp: add block_job_set_speed command
Add block_job_set_speed, which sets the maximum speed for a background block operation. Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> Acked-by: Luiz Capitulino <lcapitulino@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
12bd451fe0
commit
2d47c6e9aa
6 changed files with 79 additions and 0 deletions
25
blockdev.c
25
blockdev.c
|
@ -964,3 +964,28 @@ void qmp_block_stream(const char *device, bool has_base,
|
|||
|
||||
trace_qmp_block_stream(bs, bs->job);
|
||||
}
|
||||
|
||||
static BlockJob *find_block_job(const char *device)
|
||||
{
|
||||
BlockDriverState *bs;
|
||||
|
||||
bs = bdrv_find(device);
|
||||
if (!bs || !bs->job) {
|
||||
return NULL;
|
||||
}
|
||||
return bs->job;
|
||||
}
|
||||
|
||||
void qmp_block_job_set_speed(const char *device, int64_t value, Error **errp)
|
||||
{
|
||||
BlockJob *job = find_block_job(device);
|
||||
|
||||
if (!job) {
|
||||
error_set(errp, QERR_DEVICE_NOT_ACTIVE, device);
|
||||
return;
|
||||
}
|
||||
|
||||
if (block_job_set_speed(job, value) < 0) {
|
||||
error_set(errp, QERR_NOT_SUPPORTED);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue