aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHyman Huang(黄勇) <yong.huang@smartx.com>2022-11-18 10:08:54 +0800
committerJuan Quintela <quintela@redhat.com>2023-07-26 10:55:56 +0200
commit140e5a7632beb2adbc72066ca2d7146a7bdb2ec5 (patch)
treef89652eb08f0795677b9ebae6755e8428f16084a
parent01ec0f3a9211cf4af88706188865b15ad53f7d76 (diff)
downloadqemu-140e5a7632beb2adbc72066ca2d7146a7bdb2ec5.zip
qemu-140e5a7632beb2adbc72066ca2d7146a7bdb2ec5.tar.gz
qemu-140e5a7632beb2adbc72066ca2d7146a7bdb2ec5.tar.bz2
softmmu/dirtylimit: Add parameter check for hmp "set_vcpu_dirty_limit"
dirty_rate paraemter of hmp command "set_vcpu_dirty_limit" is invalid if less than 0, so add parameter check for it. Note that this patch also delete the unsolicited help message and clean up the code. Signed-off-by: Hyman Huang(黄勇) <yong.huang@smartx.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Peter Xu <peterx@redhat.com> Reviewed-by: Juan Quintela <quintela@redhat.com> Message-Id: <168618975839.6361.17407633874747688653-1@git.sr.ht> Signed-off-by: Juan Quintela <quintela@redhat.com>
-rw-r--r--softmmu/dirtylimit.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/softmmu/dirtylimit.c b/softmmu/dirtylimit.c
index 015a903..e802010 100644
--- a/softmmu/dirtylimit.c
+++ b/softmmu/dirtylimit.c
@@ -515,14 +515,15 @@ void hmp_set_vcpu_dirty_limit(Monitor *mon, const QDict *qdict)
int64_t cpu_index = qdict_get_try_int(qdict, "cpu_index", -1);
Error *err = NULL;
- qmp_set_vcpu_dirty_limit(!!(cpu_index != -1), cpu_index, dirty_rate, &err);
- if (err) {
- hmp_handle_error(mon, err);
- return;
+ if (dirty_rate < 0) {
+ error_setg(&err, "invalid dirty page limit %" PRId64, dirty_rate);
+ goto out;
}
- monitor_printf(mon, "[Please use 'info vcpu_dirty_limit' to query "
- "dirty limit for virtual CPU]\n");
+ qmp_set_vcpu_dirty_limit(!!(cpu_index != -1), cpu_index, dirty_rate, &err);
+
+out:
+ hmp_handle_error(mon, err);
}
static struct DirtyLimitInfo *dirtylimit_query_vcpu(int cpu_index)