Commit af0a2265 authored by Vladimir Sementsov-Ogievskiy's avatar Vladimir Sementsov-Ogievskiy Committed by Kevin Wolf
Browse files

qapi: move to QOM path for x-block-latency-histogram-set

parent 0e3b891f
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -4453,21 +4453,21 @@ void qmp_x_blockdev_set_iothread(const char *node_name, StrOrNull *iothread,
}

void qmp_x_block_latency_histogram_set(
    const char *device,
    const char *id,
    bool has_boundaries, uint64List *boundaries,
    bool has_boundaries_read, uint64List *boundaries_read,
    bool has_boundaries_write, uint64List *boundaries_write,
    bool has_boundaries_flush, uint64List *boundaries_flush,
    Error **errp)
{
    BlockBackend *blk = blk_by_name(device);
    BlockBackend *blk = qmp_get_blk(NULL, id, errp);
    BlockAcctStats *stats;
    int ret;

    if (!blk) {
        error_setg(errp, "Device '%s' not found", device);
        return;
    }

    stats = blk_get_stats(blk);

    if (!has_boundaries && !has_boundaries_read && !has_boundaries_write &&
@@ -4482,7 +4482,7 @@ void qmp_x_block_latency_histogram_set(
            stats, BLOCK_ACCT_READ,
            has_boundaries_read ? boundaries_read : boundaries);
        if (ret) {
            error_setg(errp, "Device '%s' set read boundaries fail", device);
            error_setg(errp, "Device '%s' set read boundaries fail", id);
            return;
        }
    }
@@ -4492,7 +4492,7 @@ void qmp_x_block_latency_histogram_set(
            stats, BLOCK_ACCT_WRITE,
            has_boundaries_write ? boundaries_write : boundaries);
        if (ret) {
            error_setg(errp, "Device '%s' set write boundaries fail", device);
            error_setg(errp, "Device '%s' set write boundaries fail", id);
            return;
        }
    }
@@ -4502,7 +4502,7 @@ void qmp_x_block_latency_histogram_set(
            stats, BLOCK_ACCT_FLUSH,
            has_boundaries_flush ? boundaries_flush : boundaries);
        if (ret) {
            error_setg(errp, "Device '%s' set flush boundaries fail", device);
            error_setg(errp, "Device '%s' set flush boundaries fail", id);
            return;
        }
    }
+2 −2
Original line number Diff line number Diff line
@@ -550,7 +550,7 @@
# If only @device parameter is specified, remove all present 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
#              BlockLatencyHistogramInfo definition). If specified, all
@@ -608,7 +608,7 @@
# <- { "return": {} }
##
{ 'command': 'x-block-latency-histogram-set',
  'data': {'device': 'str',
  'data': {'id': 'str',
           '*boundaries': ['uint64'],
           '*boundaries-read': ['uint64'],
           '*boundaries-write': ['uint64'],