Lines Matching refs:cvm_ops
100 struct coda_vm_ops *cvm_ops = in coda_vm_open() local
103 refcount_inc(&cvm_ops->refcnt); in coda_vm_open()
105 if (cvm_ops->host_vm_ops && cvm_ops->host_vm_ops->open) in coda_vm_open()
106 cvm_ops->host_vm_ops->open(vma); in coda_vm_open()
112 struct coda_vm_ops *cvm_ops = in coda_vm_close() local
115 if (cvm_ops->host_vm_ops && cvm_ops->host_vm_ops->close) in coda_vm_close()
116 cvm_ops->host_vm_ops->close(vma); in coda_vm_close()
118 if (refcount_dec_and_test(&cvm_ops->refcnt)) { in coda_vm_close()
119 vma->vm_ops = cvm_ops->host_vm_ops; in coda_vm_close()
120 fput(cvm_ops->coda_file); in coda_vm_close()
121 kfree(cvm_ops); in coda_vm_close()
133 struct coda_vm_ops *cvm_ops; in coda_file_mmap() local
153 cvm_ops = kmalloc(sizeof(struct coda_vm_ops), GFP_KERNEL); in coda_file_mmap()
154 if (!cvm_ops) in coda_file_mmap()
167 kfree(cvm_ops); in coda_file_mmap()
184 kfree(cvm_ops); in coda_file_mmap()
187 cvm_ops->host_vm_ops = vma->vm_ops; in coda_file_mmap()
189 cvm_ops->vm_ops = *vma->vm_ops; in coda_file_mmap()
191 cvm_ops->vm_ops.open = coda_vm_open; in coda_file_mmap()
192 cvm_ops->vm_ops.close = coda_vm_close; in coda_file_mmap()
193 cvm_ops->coda_file = coda_file; in coda_file_mmap()
194 refcount_set(&cvm_ops->refcnt, 1); in coda_file_mmap()
196 vma->vm_ops = &cvm_ops->vm_ops; in coda_file_mmap()