diff options
author | David Vrabel <david.vrabel@citrix.com> | 2012-08-30 08:58:11 -0400 |
---|---|---|
committer | Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> | 2012-09-05 16:36:15 -0400 |
commit | 69870a847856a1ba81f655a8633fce5f5b614730 (patch) | |
tree | bffa55330a2e8e61f0cd6bcf23e45121c21bbcc7 /arch/x86/xen | |
parent | 6d7083eee3bc088d1fc30eefabd6263bca40c95a (diff) |
xen/mm: return more precise error from xen_remap_domain_range()
Callers of xen_remap_domain_range() need to know if the remap failed
because frame is currently paged out. So they can retry the remap
later on. Return -ENOENT in this case.
This assumes that the error codes returned by Xen are a subset of
those used by the kernel. It is unclear if this is defined as part of
the hypercall ABI.
Acked-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Diffstat (limited to 'arch/x86/xen')
-rw-r--r-- | arch/x86/xen/mmu.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c index 885a22354a96..2d9e7c9c0e7b 100644 --- a/arch/x86/xen/mmu.c +++ b/arch/x86/xen/mmu.c | |||
@@ -2331,8 +2331,8 @@ int xen_remap_domain_mfn_range(struct vm_area_struct *vma, | |||
2331 | if (err) | 2331 | if (err) |
2332 | goto out; | 2332 | goto out; |
2333 | 2333 | ||
2334 | err = -EFAULT; | 2334 | err = HYPERVISOR_mmu_update(mmu_update, batch, NULL, domid); |
2335 | if (HYPERVISOR_mmu_update(mmu_update, batch, NULL, domid) < 0) | 2335 | if (err < 0) |
2336 | goto out; | 2336 | goto out; |
2337 | 2337 | ||
2338 | nr -= batch; | 2338 | nr -= batch; |