Re: [PATCH] KVM: remove vm mmap method

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Il 05/11/2013 15:04, Gleb Natapov ha scritto:
> It was used in conjunction with KVM_SET_MEMORY_REGION ioctl which was
> removed by b74a07beed0 in 2010, QEMU stopped using it in 2008, so
> it is time to remove the code finally.
> 
> Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>

I think it is usable (perhaps not useful...) on its own, though.  It is
just 40 lines of self-contained code, keeping it doesn't do any harm.

Paolo

> diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
> index 82c4047..a42f019 100644
> --- a/virt/kvm/kvm_main.c
> +++ b/virt/kvm/kvm_main.c
> @@ -2524,44 +2524,12 @@ out:
>  }
>  #endif
>  
> -static int kvm_vm_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
> -{
> -	struct page *page[1];
> -	unsigned long addr;
> -	int npages;
> -	gfn_t gfn = vmf->pgoff;
> -	struct kvm *kvm = vma->vm_file->private_data;
> -
> -	addr = gfn_to_hva(kvm, gfn);
> -	if (kvm_is_error_hva(addr))
> -		return VM_FAULT_SIGBUS;
> -
> -	npages = get_user_pages(current, current->mm, addr, 1, 1, 0, page,
> -				NULL);
> -	if (unlikely(npages != 1))
> -		return VM_FAULT_SIGBUS;
> -
> -	vmf->page = page[0];
> -	return 0;
> -}
> -
> -static const struct vm_operations_struct kvm_vm_vm_ops = {
> -	.fault = kvm_vm_fault,
> -};
> -
> -static int kvm_vm_mmap(struct file *file, struct vm_area_struct *vma)
> -{
> -	vma->vm_ops = &kvm_vm_vm_ops;
> -	return 0;
> -}
> -
>  static struct file_operations kvm_vm_fops = {
>  	.release        = kvm_vm_release,
>  	.unlocked_ioctl = kvm_vm_ioctl,
>  #ifdef CONFIG_COMPAT
>  	.compat_ioctl   = kvm_vm_compat_ioctl,
>  #endif
> -	.mmap           = kvm_vm_mmap,
>  	.llseek		= noop_llseek,
>  };
>  
> --
> 			Gleb.
> 

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux