Lines Matching refs:cvm_ops
74 struct coda_vm_ops *cvm_ops = in coda_vm_open() local
77 atomic_inc(&cvm_ops->refcnt); in coda_vm_open()
79 if (cvm_ops->host_vm_ops && cvm_ops->host_vm_ops->open) in coda_vm_open()
80 cvm_ops->host_vm_ops->open(vma); in coda_vm_open()
86 struct coda_vm_ops *cvm_ops = in coda_vm_close() local
89 if (cvm_ops->host_vm_ops && cvm_ops->host_vm_ops->close) in coda_vm_close()
90 cvm_ops->host_vm_ops->close(vma); in coda_vm_close()
92 if (atomic_dec_and_test(&cvm_ops->refcnt)) { in coda_vm_close()
93 vma->vm_ops = cvm_ops->host_vm_ops; in coda_vm_close()
94 fput(cvm_ops->coda_file); in coda_vm_close()
95 kfree(cvm_ops); in coda_vm_close()
106 struct coda_vm_ops *cvm_ops; in coda_file_mmap() local
119 cvm_ops = kmalloc(sizeof(struct coda_vm_ops), GFP_KERNEL); in coda_file_mmap()
120 if (!cvm_ops) in coda_file_mmap()
136 kfree(cvm_ops); in coda_file_mmap()
153 kfree(cvm_ops); in coda_file_mmap()
156 cvm_ops->host_vm_ops = vma->vm_ops; in coda_file_mmap()
158 cvm_ops->vm_ops = *vma->vm_ops; in coda_file_mmap()
160 cvm_ops->vm_ops.open = coda_vm_open; in coda_file_mmap()
161 cvm_ops->vm_ops.close = coda_vm_close; in coda_file_mmap()
162 cvm_ops->coda_file = coda_file; in coda_file_mmap()
163 atomic_set(&cvm_ops->refcnt, 1); in coda_file_mmap()
165 vma->vm_ops = &cvm_ops->vm_ops; in coda_file_mmap()