From 8eaed5ef0ec1c8d6a6d36f5b5c3a09bbe949cc51 Mon Sep 17 00:00:00 2001 From: Takuya Yoshikawa Date: Wed, 23 Jun 2010 14:59:29 +0900 Subject: [PATCH] --- yaml --- r: 202371 b: refs/heads/master c: 4482b06c0459469c101a1da3f4b24594da557f99 h: refs/heads/master i: 202369: fd969149526558d6466333c74cc2f491dc4aadf5 202367: bb55bde4e6b510ecfa9b04e200e68492a0d70faf v: v3 --- [refs] | 2 +- trunk/arch/ia64/kvm/kvm-ia64.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index b56eb34faa66..b79e84d6d4de 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4d29bdbf12f35f7e7816d67e99c150630684604f +refs/heads/master: 4482b06c0459469c101a1da3f4b24594da557f99 diff --git a/trunk/arch/ia64/kvm/kvm-ia64.c b/trunk/arch/ia64/kvm/kvm-ia64.c index bd510beb43af..d85b5d2d52d1 100644 --- a/trunk/arch/ia64/kvm/kvm-ia64.c +++ b/trunk/arch/ia64/kvm/kvm-ia64.c @@ -1817,10 +1817,12 @@ static int kvm_ia64_sync_dirty_log(struct kvm *kvm, n = kvm_dirty_bitmap_bytes(memslot); base = memslot->base_gfn / BITS_PER_LONG; + spin_lock(&kvm->arch.dirty_log_lock); for (i = 0; i < n/sizeof(long); ++i) { memslot->dirty_bitmap[i] = dirty_bitmap[base + i]; dirty_bitmap[base + i] = 0; } + spin_unlock(&kvm->arch.dirty_log_lock); r = 0; out: return r; @@ -1835,7 +1837,6 @@ int kvm_vm_ioctl_get_dirty_log(struct kvm *kvm, int is_dirty = 0; mutex_lock(&kvm->slots_lock); - spin_lock(&kvm->arch.dirty_log_lock); r = kvm_ia64_sync_dirty_log(kvm, log); if (r) @@ -1855,7 +1856,6 @@ int kvm_vm_ioctl_get_dirty_log(struct kvm *kvm, r = 0; out: mutex_unlock(&kvm->slots_lock); - spin_unlock(&kvm->arch.dirty_log_lock); return r; }