KVM: set_memory_region: Identify the requested change explicitly
authorTakuya Yoshikawa <yoshikawa_takuya_b1@lab.ntt.co.jp>
Tue, 29 Jan 2013 02:00:07 +0000 (11:00 +0900)
committerMarcelo Tosatti <mtosatti@redhat.com>
Tue, 5 Feb 2013 00:00:53 +0000 (22:00 -0200)
commitf64c0398939483eb1d8951f24fbc21e94ed54457
treee0d3b9b109f82dbfca84f347f1848a6797a80405
parent0c29b2293b25527a1759cbd22b106f19258636b6
KVM: set_memory_region: Identify the requested change explicitly

KVM_SET_USER_MEMORY_REGION forces __kvm_set_memory_region() to identify
what kind of change is being requested by checking the arguments.  The
current code does this checking at various points in code and each
condition being used there is not easy to understand at first glance.

This patch consolidates these checks and introduces an enum to name the
possible changes to clean up the code.

Although this does not introduce any functional changes, there is one
change which optimizes the code a bit: if we have nothing to change, the
new code returns 0 immediately.

Note that the return value for this case cannot be changed since QEMU
relies on it: we noticed this when we changed it to -EINVAL and got a
section mismatch error at the final stage of live migration.

Signed-off-by: Takuya Yoshikawa <yoshikawa_takuya_b1@lab.ntt.co.jp>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
virt/kvm/kvm_main.c