qmp_query_balloon() and qmp_balloon() perform the same check, move it to check_kvm_sync_mmu().
Signed-off-by: Luiz Capitulino <lcapitul...@redhat.com> --- balloon.c | 15 +++++++++++---- 1 files changed, 11 insertions(+), 4 deletions(-) diff --git a/balloon.c b/balloon.c index b32b487..d340ae3 100644 --- a/balloon.c +++ b/balloon.c @@ -80,12 +80,20 @@ static int qemu_balloon_info(BalloonInfo *info) return 1; } +static bool check_kvm_sync_mmu(Error **errp) +{ + if (kvm_enabled() && !kvm_has_sync_mmu()) { + error_set(errp, QERR_KVM_MISSING_CAP, "synchronous MMU", "balloon"); + return false; + } + return true; +} + BalloonInfo *qmp_query_balloon(Error **errp) { BalloonInfo *info; - if (kvm_enabled() && !kvm_has_sync_mmu()) { - error_set(errp, QERR_KVM_MISSING_CAP, "synchronous MMU", "balloon"); + if (!check_kvm_sync_mmu(errp)) { return NULL; } @@ -102,8 +110,7 @@ BalloonInfo *qmp_query_balloon(Error **errp) void qmp_balloon(int64_t value, Error **errp) { - if (kvm_enabled() && !kvm_has_sync_mmu()) { - error_set(errp, QERR_KVM_MISSING_CAP, "synchronous MMU", "balloon"); + if (!check_kvm_sync_mmu(errp)) { return; } -- 1.7.9.111.gf3fb0.dirty