summaryrefslogtreecommitdiffstats
path: root/include/linux/kvm_host.h
diff options
context:
space:
mode:
authorScott Wood2013-04-25 16:11:23 +0200
committerAlexander Graf2013-04-26 20:27:28 +0200
commit07f0a7bdec5c4039cfb9b836482c45004d4c21cc (patch)
treeea47de6fc439dd8d20d6d1d0c4f9cd21f95c2fcb /include/linux/kvm_host.h
parentKVM: IA64: Carry non-ia64 changes into ia64 (diff)
downloadkernel-qcow2-linux-07f0a7bdec5c4039cfb9b836482c45004d4c21cc.tar.gz
kernel-qcow2-linux-07f0a7bdec5c4039cfb9b836482c45004d4c21cc.tar.xz
kernel-qcow2-linux-07f0a7bdec5c4039cfb9b836482c45004d4c21cc.zip
kvm: destroy emulated devices on VM exit
The hassle of getting refcounting right was greater than the hassle of keeping a list of devices to destroy on VM exit. Signed-off-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'include/linux/kvm_host.h')
-rw-r--r--include/linux/kvm_host.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
index feffbdaf8986..36c977694741 100644
--- a/include/linux/kvm_host.h
+++ b/include/linux/kvm_host.h
@@ -393,6 +393,7 @@ struct kvm {
long mmu_notifier_count;
#endif
long tlbs_dirty;
+ struct list_head devices;
};
#define kvm_err(fmt, ...) \
@@ -1069,8 +1070,8 @@ struct kvm_device_ops;
struct kvm_device {
struct kvm_device_ops *ops;
struct kvm *kvm;
- atomic_t users;
void *private;
+ struct list_head vm_node;
};
/* create, destroy, and name are mandatory */