]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commit70fc75985a92e215461cc8de9bb9b6d3e0a012c3
treee0d3b9b109f82dbfca84f347f1848a6797a80405
parent736b7845a4bdec03025fbee2e289d5707b2b57ad
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