diff options
| author | Dan Williams <dan.j.williams@intel.com> | 2019-03-11 15:37:55 -0400 |
|---|---|---|
| committer | Dan Williams <dan.j.williams@intel.com> | 2019-03-11 15:37:55 -0400 |
| commit | 4083014e32699af04a8e6eaa4855b08dba36a47a (patch) | |
| tree | fa37f9f9691fe64ca8a3c0cdc0315dc12462e6e4 /virt/kvm/kvm_main.c | |
| parent | 6fd96ff557963de8e62842a0dc360a6e3610d2bb (diff) | |
| parent | 78153dd45e7e0596ba32b15d02bda08e1513111e (diff) | |
Merge branch 'for-5.1/nfit/ars' into libnvdimm-for-next
Merge several updates to the ARS implementation. Highlights include:
* Support retrieval of short-ARS results if the ARS state is "requires
continuation", and even if the "no_init_ars" module parameter is
specified.
* Allow busy-polling of the kernel ARS state by allowing root to reset
the exponential back-off timer.
* Filter potentially stale ARS results by tracking query-ARS relative to
the previous start-ARS.
Diffstat (limited to 'virt/kvm/kvm_main.c')
| -rw-r--r-- | virt/kvm/kvm_main.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c index 5ecea812cb6a..585845203db8 100644 --- a/virt/kvm/kvm_main.c +++ b/virt/kvm/kvm_main.c | |||
| @@ -3000,8 +3000,10 @@ static int kvm_ioctl_create_device(struct kvm *kvm, | |||
| 3000 | if (ops->init) | 3000 | if (ops->init) |
| 3001 | ops->init(dev); | 3001 | ops->init(dev); |
| 3002 | 3002 | ||
| 3003 | kvm_get_kvm(kvm); | ||
| 3003 | ret = anon_inode_getfd(ops->name, &kvm_device_fops, dev, O_RDWR | O_CLOEXEC); | 3004 | ret = anon_inode_getfd(ops->name, &kvm_device_fops, dev, O_RDWR | O_CLOEXEC); |
| 3004 | if (ret < 0) { | 3005 | if (ret < 0) { |
| 3006 | kvm_put_kvm(kvm); | ||
| 3005 | mutex_lock(&kvm->lock); | 3007 | mutex_lock(&kvm->lock); |
| 3006 | list_del(&dev->vm_node); | 3008 | list_del(&dev->vm_node); |
| 3007 | mutex_unlock(&kvm->lock); | 3009 | mutex_unlock(&kvm->lock); |
| @@ -3009,7 +3011,6 @@ static int kvm_ioctl_create_device(struct kvm *kvm, | |||
| 3009 | return ret; | 3011 | return ret; |
| 3010 | } | 3012 | } |
| 3011 | 3013 | ||
| 3012 | kvm_get_kvm(kvm); | ||
| 3013 | cd->fd = ret; | 3014 | cd->fd = ret; |
| 3014 | return 0; | 3015 | return 0; |
| 3015 | } | 3016 | } |
