Lines Matching refs:cvm_ops
125 struct coda_vm_ops *cvm_ops = in coda_vm_open() local
128 refcount_inc(&cvm_ops->refcnt); in coda_vm_open()
130 if (cvm_ops->host_vm_ops && cvm_ops->host_vm_ops->open) in coda_vm_open()
131 cvm_ops->host_vm_ops->open(vma); in coda_vm_open()
137 struct coda_vm_ops *cvm_ops = in coda_vm_close() local
140 if (cvm_ops->host_vm_ops && cvm_ops->host_vm_ops->close) in coda_vm_close()
141 cvm_ops->host_vm_ops->close(vma); in coda_vm_close()
143 if (refcount_dec_and_test(&cvm_ops->refcnt)) { in coda_vm_close()
144 vma->vm_ops = cvm_ops->host_vm_ops; in coda_vm_close()
145 fput(cvm_ops->coda_file); in coda_vm_close()
146 kfree(cvm_ops); in coda_vm_close()
158 struct coda_vm_ops *cvm_ops; in coda_file_mmap() local
178 cvm_ops = kmalloc(sizeof(struct coda_vm_ops), GFP_KERNEL); in coda_file_mmap()
179 if (!cvm_ops) in coda_file_mmap()
192 kfree(cvm_ops); in coda_file_mmap()
209 kfree(cvm_ops); in coda_file_mmap()
212 cvm_ops->host_vm_ops = vma->vm_ops; in coda_file_mmap()
214 cvm_ops->vm_ops = *vma->vm_ops; in coda_file_mmap()
216 cvm_ops->vm_ops.open = coda_vm_open; in coda_file_mmap()
217 cvm_ops->vm_ops.close = coda_vm_close; in coda_file_mmap()
218 cvm_ops->coda_file = coda_file; in coda_file_mmap()
219 refcount_set(&cvm_ops->refcnt, 1); in coda_file_mmap()
221 vma->vm_ops = &cvm_ops->vm_ops; in coda_file_mmap()