mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-21 12:05:17 +00:00
fix key error for qemuMonitorGetBlockStatsInfo
virDomainBlockStatsFlags can't collect total_time_ns for read/write/flush because of key typo when retriveing from qemu cmd result Signed-off-by: lvroyce <lvroyce@linux.vnet.ibm.com> (cherry picked from commit 811cea18f34485cf524639b1527887750da777ca)
This commit is contained in:
parent
87924a1345
commit
dfd51bfc21
@ -1662,12 +1662,12 @@ int qemuMonitorJSONGetBlockStatsInfo(qemuMonitorPtr mon,
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
if (rd_total_times &&
|
if (rd_total_times &&
|
||||||
virJSONValueObjectHasKey(stats, "rd_total_times_ns") &&
|
virJSONValueObjectHasKey(stats, "rd_total_time_ns") &&
|
||||||
(virJSONValueObjectGetNumberLong(stats, "rd_total_times_ns",
|
(virJSONValueObjectGetNumberLong(stats, "rd_total_time_ns",
|
||||||
rd_total_times) < 0)) {
|
rd_total_times) < 0)) {
|
||||||
qemuReportError(VIR_ERR_INTERNAL_ERROR,
|
qemuReportError(VIR_ERR_INTERNAL_ERROR,
|
||||||
_("cannot read %s statistic"),
|
_("cannot read %s statistic"),
|
||||||
"rd_total_times_ns");
|
"rd_total_time_ns");
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
if (virJSONValueObjectGetNumberLong(stats, "wr_bytes", wr_bytes) < 0) {
|
if (virJSONValueObjectGetNumberLong(stats, "wr_bytes", wr_bytes) < 0) {
|
||||||
@ -1683,12 +1683,12 @@ int qemuMonitorJSONGetBlockStatsInfo(qemuMonitorPtr mon,
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
if (wr_total_times &&
|
if (wr_total_times &&
|
||||||
virJSONValueObjectHasKey(stats, "wr_total_times_ns") &&
|
virJSONValueObjectHasKey(stats, "wr_total_time_ns") &&
|
||||||
(virJSONValueObjectGetNumberLong(stats, "wr_total_times_ns",
|
(virJSONValueObjectGetNumberLong(stats, "wr_total_time_ns",
|
||||||
wr_total_times) < 0)) {
|
wr_total_times) < 0)) {
|
||||||
qemuReportError(VIR_ERR_INTERNAL_ERROR,
|
qemuReportError(VIR_ERR_INTERNAL_ERROR,
|
||||||
_("cannot read %s statistic"),
|
_("cannot read %s statistic"),
|
||||||
"wr_total_times_ns");
|
"wr_total_time_ns");
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
if (flush_req &&
|
if (flush_req &&
|
||||||
@ -1701,12 +1701,12 @@ int qemuMonitorJSONGetBlockStatsInfo(qemuMonitorPtr mon,
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
if (flush_total_times &&
|
if (flush_total_times &&
|
||||||
virJSONValueObjectHasKey(stats, "flush_total_times_ns") &&
|
virJSONValueObjectHasKey(stats, "flush_total_time_ns") &&
|
||||||
(virJSONValueObjectGetNumberLong(stats, "flush_total_times_ns",
|
(virJSONValueObjectGetNumberLong(stats, "flush_total_time_ns",
|
||||||
flush_total_times) < 0)) {
|
flush_total_times) < 0)) {
|
||||||
qemuReportError(VIR_ERR_INTERNAL_ERROR,
|
qemuReportError(VIR_ERR_INTERNAL_ERROR,
|
||||||
_("cannot read %s statistic"),
|
_("cannot read %s statistic"),
|
||||||
"flush_total_times_ns");
|
"flush_total_time_ns");
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1774,12 +1774,12 @@ int qemuMonitorJSONGetBlockStatsParamsNumber(qemuMonitorPtr mon,
|
|||||||
|
|
||||||
if (STREQ(key, "rd_bytes") ||
|
if (STREQ(key, "rd_bytes") ||
|
||||||
STREQ(key, "rd_operations") ||
|
STREQ(key, "rd_operations") ||
|
||||||
STREQ(key, "rd_total_times_ns") ||
|
STREQ(key, "rd_total_time_ns") ||
|
||||||
STREQ(key, "wr_bytes") ||
|
STREQ(key, "wr_bytes") ||
|
||||||
STREQ(key, "wr_operations") ||
|
STREQ(key, "wr_operations") ||
|
||||||
STREQ(key, "wr_total_times_ns") ||
|
STREQ(key, "wr_total_time_ns") ||
|
||||||
STREQ(key, "flush_operations") ||
|
STREQ(key, "flush_operations") ||
|
||||||
STREQ(key, "flush_total_times_ns")) {
|
STREQ(key, "flush_total_time_ns")) {
|
||||||
num++;
|
num++;
|
||||||
} else {
|
} else {
|
||||||
/* wr_highest_offset is parsed by qemuMonitorJSONGetBlockExtent. */
|
/* wr_highest_offset is parsed by qemuMonitorJSONGetBlockExtent. */
|
||||||
|
@ -973,13 +973,13 @@ int qemuMonitorTextGetBlockStatsInfo(qemuMonitorPtr mon,
|
|||||||
if (virStrToLong_ll (p, &dummy, 10, wr_req) == -1)
|
if (virStrToLong_ll (p, &dummy, 10, wr_req) == -1)
|
||||||
VIR_DEBUG ("error reading wr_req: %s", p);
|
VIR_DEBUG ("error reading wr_req: %s", p);
|
||||||
} else if (rd_total_times &&
|
} else if (rd_total_times &&
|
||||||
STRPREFIX (p, "rd_total_times_ns=")) {
|
STRPREFIX (p, "rd_total_time_ns=")) {
|
||||||
p += strlen("rd_total_times_ns=");
|
p += strlen("rd_total_time_ns=");
|
||||||
if (virStrToLong_ll (p, &dummy, 10, rd_total_times) == -1)
|
if (virStrToLong_ll (p, &dummy, 10, rd_total_times) == -1)
|
||||||
VIR_DEBUG ("error reading rd_total_times: %s", p);
|
VIR_DEBUG ("error reading rd_total_times: %s", p);
|
||||||
} else if (wr_total_times &&
|
} else if (wr_total_times &&
|
||||||
STRPREFIX (p, "wr_total_times_ns=")) {
|
STRPREFIX (p, "wr_total_time_ns=")) {
|
||||||
p += strlen("wr_total_times_ns=");
|
p += strlen("wr_total_time_ns=");
|
||||||
if (virStrToLong_ll (p, &dummy, 10, wr_total_times) == -1)
|
if (virStrToLong_ll (p, &dummy, 10, wr_total_times) == -1)
|
||||||
VIR_DEBUG ("error reading wr_total_times: %s", p);
|
VIR_DEBUG ("error reading wr_total_times: %s", p);
|
||||||
} else if (flush_req &&
|
} else if (flush_req &&
|
||||||
@ -988,8 +988,8 @@ int qemuMonitorTextGetBlockStatsInfo(qemuMonitorPtr mon,
|
|||||||
if (virStrToLong_ll (p, &dummy, 10, flush_req) == -1)
|
if (virStrToLong_ll (p, &dummy, 10, flush_req) == -1)
|
||||||
VIR_DEBUG ("error reading flush_req: %s", p);
|
VIR_DEBUG ("error reading flush_req: %s", p);
|
||||||
} else if (flush_total_times &&
|
} else if (flush_total_times &&
|
||||||
STRPREFIX (p, "flush_total_times_ns=")) {
|
STRPREFIX (p, "flush_total_time_ns=")) {
|
||||||
p += strlen("flush_total_times_ns=");
|
p += strlen("flush_total_time_ns=");
|
||||||
if (virStrToLong_ll (p, &dummy, 10, flush_total_times) == -1)
|
if (virStrToLong_ll (p, &dummy, 10, flush_total_times) == -1)
|
||||||
VIR_DEBUG ("error reading flush_total_times: %s", p);
|
VIR_DEBUG ("error reading flush_total_times: %s", p);
|
||||||
} else {
|
} else {
|
||||||
@ -1067,10 +1067,10 @@ int qemuMonitorTextGetBlockStatsParamsNumber(qemuMonitorPtr mon,
|
|||||||
STRPREFIX (p, " wr_bytes=") ||
|
STRPREFIX (p, " wr_bytes=") ||
|
||||||
STRPREFIX (p, " rd_operations=") ||
|
STRPREFIX (p, " rd_operations=") ||
|
||||||
STRPREFIX (p, " wr_operations=") ||
|
STRPREFIX (p, " wr_operations=") ||
|
||||||
STRPREFIX (p, " rd_total_times_ns=") ||
|
STRPREFIX (p, " rd_total_time_ns=") ||
|
||||||
STRPREFIX (p, " wr_total_times_ns=") ||
|
STRPREFIX (p, " wr_total_time_ns=") ||
|
||||||
STRPREFIX (p, " flush_operations=") ||
|
STRPREFIX (p, " flush_operations=") ||
|
||||||
STRPREFIX (p, " flush_total_times_ns=")) {
|
STRPREFIX (p, " flush_total_time_ns=")) {
|
||||||
num++;
|
num++;
|
||||||
} else {
|
} else {
|
||||||
VIR_DEBUG ("unknown block stat near %s", p);
|
VIR_DEBUG ("unknown block stat near %s", p);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user