qapi: move to QOM path for x-block-latency-histogram-set
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
0e3b891fef
commit
af0a226504
12
blockdev.c
12
blockdev.c
@ -4453,21 +4453,21 @@ void qmp_x_blockdev_set_iothread(const char *node_name, StrOrNull *iothread,
|
|||||||
}
|
}
|
||||||
|
|
||||||
void qmp_x_block_latency_histogram_set(
|
void qmp_x_block_latency_histogram_set(
|
||||||
const char *device,
|
const char *id,
|
||||||
bool has_boundaries, uint64List *boundaries,
|
bool has_boundaries, uint64List *boundaries,
|
||||||
bool has_boundaries_read, uint64List *boundaries_read,
|
bool has_boundaries_read, uint64List *boundaries_read,
|
||||||
bool has_boundaries_write, uint64List *boundaries_write,
|
bool has_boundaries_write, uint64List *boundaries_write,
|
||||||
bool has_boundaries_flush, uint64List *boundaries_flush,
|
bool has_boundaries_flush, uint64List *boundaries_flush,
|
||||||
Error **errp)
|
Error **errp)
|
||||||
{
|
{
|
||||||
BlockBackend *blk = blk_by_name(device);
|
BlockBackend *blk = qmp_get_blk(NULL, id, errp);
|
||||||
BlockAcctStats *stats;
|
BlockAcctStats *stats;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
if (!blk) {
|
if (!blk) {
|
||||||
error_setg(errp, "Device '%s' not found", device);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
stats = blk_get_stats(blk);
|
stats = blk_get_stats(blk);
|
||||||
|
|
||||||
if (!has_boundaries && !has_boundaries_read && !has_boundaries_write &&
|
if (!has_boundaries && !has_boundaries_read && !has_boundaries_write &&
|
||||||
@ -4482,7 +4482,7 @@ void qmp_x_block_latency_histogram_set(
|
|||||||
stats, BLOCK_ACCT_READ,
|
stats, BLOCK_ACCT_READ,
|
||||||
has_boundaries_read ? boundaries_read : boundaries);
|
has_boundaries_read ? boundaries_read : boundaries);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
error_setg(errp, "Device '%s' set read boundaries fail", device);
|
error_setg(errp, "Device '%s' set read boundaries fail", id);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -4492,7 +4492,7 @@ void qmp_x_block_latency_histogram_set(
|
|||||||
stats, BLOCK_ACCT_WRITE,
|
stats, BLOCK_ACCT_WRITE,
|
||||||
has_boundaries_write ? boundaries_write : boundaries);
|
has_boundaries_write ? boundaries_write : boundaries);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
error_setg(errp, "Device '%s' set write boundaries fail", device);
|
error_setg(errp, "Device '%s' set write boundaries fail", id);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -4502,7 +4502,7 @@ void qmp_x_block_latency_histogram_set(
|
|||||||
stats, BLOCK_ACCT_FLUSH,
|
stats, BLOCK_ACCT_FLUSH,
|
||||||
has_boundaries_flush ? boundaries_flush : boundaries);
|
has_boundaries_flush ? boundaries_flush : boundaries);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
error_setg(errp, "Device '%s' set flush boundaries fail", device);
|
error_setg(errp, "Device '%s' set flush boundaries fail", id);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -550,7 +550,7 @@
|
|||||||
# If only @device parameter is specified, remove all present latency histograms
|
# If only @device parameter is specified, remove all present latency histograms
|
||||||
# for the device. Otherwise, add/reset some of (or all) latency histograms.
|
# for the device. Otherwise, add/reset some of (or all) latency histograms.
|
||||||
#
|
#
|
||||||
# @device: device name to set latency histogram for.
|
# @id: The name or QOM path of the guest device.
|
||||||
#
|
#
|
||||||
# @boundaries: list of interval boundary values (see description in
|
# @boundaries: list of interval boundary values (see description in
|
||||||
# BlockLatencyHistogramInfo definition). If specified, all
|
# BlockLatencyHistogramInfo definition). If specified, all
|
||||||
@ -608,7 +608,7 @@
|
|||||||
# <- { "return": {} }
|
# <- { "return": {} }
|
||||||
##
|
##
|
||||||
{ 'command': 'x-block-latency-histogram-set',
|
{ 'command': 'x-block-latency-histogram-set',
|
||||||
'data': {'device': 'str',
|
'data': {'id': 'str',
|
||||||
'*boundaries': ['uint64'],
|
'*boundaries': ['uint64'],
|
||||||
'*boundaries-read': ['uint64'],
|
'*boundaries-read': ['uint64'],
|
||||||
'*boundaries-write': ['uint64'],
|
'*boundaries-write': ['uint64'],
|
||||||
|
Loading…
Reference in New Issue
Block a user