Lines Matching refs:of
95 struct kernfs_open_file *of = sf->private; in kernfs_seq_stop_active() local
96 const struct kernfs_ops *ops = kernfs_ops(of->kn); in kernfs_seq_stop_active()
100 kernfs_put_active(of->kn); in kernfs_seq_stop_active()
105 struct kernfs_open_file *of = sf->private; in kernfs_seq_start() local
112 mutex_lock(&of->mutex); in kernfs_seq_start()
113 if (!kernfs_get_active(of->kn)) in kernfs_seq_start()
116 ops = kernfs_ops(of->kn); in kernfs_seq_start()
134 struct kernfs_open_file *of = sf->private; in kernfs_seq_next() local
135 const struct kernfs_ops *ops = kernfs_ops(of->kn); in kernfs_seq_next()
155 struct kernfs_open_file *of = sf->private; in kernfs_seq_stop() local
159 mutex_unlock(&of->mutex); in kernfs_seq_stop()
164 struct kernfs_open_file *of = sf->private; in kernfs_seq_show() local
166 of->event = atomic_read(&of->kn->attr.open->event); in kernfs_seq_show()
168 return of->kn->attr.ops->seq_show(sf, v); in kernfs_seq_show()
184 static ssize_t kernfs_file_direct_read(struct kernfs_open_file *of, in kernfs_file_direct_read() argument
192 buf = of->prealloc_buf; in kernfs_file_direct_read()
203 mutex_lock(&of->mutex); in kernfs_file_direct_read()
204 if (!kernfs_get_active(of->kn)) { in kernfs_file_direct_read()
206 mutex_unlock(&of->mutex); in kernfs_file_direct_read()
210 of->event = atomic_read(&of->kn->attr.open->event); in kernfs_file_direct_read()
211 ops = kernfs_ops(of->kn); in kernfs_file_direct_read()
213 len = ops->read(of, buf, len, *ppos); in kernfs_file_direct_read()
228 kernfs_put_active(of->kn); in kernfs_file_direct_read()
229 mutex_unlock(&of->mutex); in kernfs_file_direct_read()
231 if (buf != of->prealloc_buf) in kernfs_file_direct_read()
246 struct kernfs_open_file *of = kernfs_of(file); in kernfs_fop_read() local
248 if (of->kn->flags & KERNFS_HAS_SEQ_SHOW) in kernfs_fop_read()
251 return kernfs_file_direct_read(of, user_buf, count, ppos); in kernfs_fop_read()
273 struct kernfs_open_file *of = kernfs_of(file); in kernfs_fop_write() local
278 if (of->atomic_write_len) { in kernfs_fop_write()
280 if (len > of->atomic_write_len) in kernfs_fop_write()
286 buf = of->prealloc_buf; in kernfs_fop_write()
297 mutex_lock(&of->mutex); in kernfs_fop_write()
298 if (!kernfs_get_active(of->kn)) { in kernfs_fop_write()
299 mutex_unlock(&of->mutex); in kernfs_fop_write()
310 ops = kernfs_ops(of->kn); in kernfs_fop_write()
312 len = ops->write(of, buf, len, *ppos); in kernfs_fop_write()
320 kernfs_put_active(of->kn); in kernfs_fop_write()
321 mutex_unlock(&of->mutex); in kernfs_fop_write()
323 if (buf != of->prealloc_buf) in kernfs_fop_write()
331 struct kernfs_open_file *of = kernfs_of(file); in kernfs_vma_open() local
333 if (!of->vm_ops) in kernfs_vma_open()
336 if (!kernfs_get_active(of->kn)) in kernfs_vma_open()
339 if (of->vm_ops->open) in kernfs_vma_open()
340 of->vm_ops->open(vma); in kernfs_vma_open()
342 kernfs_put_active(of->kn); in kernfs_vma_open()
348 struct kernfs_open_file *of = kernfs_of(file); in kernfs_vma_fault() local
351 if (!of->vm_ops) in kernfs_vma_fault()
354 if (!kernfs_get_active(of->kn)) in kernfs_vma_fault()
358 if (of->vm_ops->fault) in kernfs_vma_fault()
359 ret = of->vm_ops->fault(vma, vmf); in kernfs_vma_fault()
361 kernfs_put_active(of->kn); in kernfs_vma_fault()
369 struct kernfs_open_file *of = kernfs_of(file); in kernfs_vma_page_mkwrite() local
372 if (!of->vm_ops) in kernfs_vma_page_mkwrite()
375 if (!kernfs_get_active(of->kn)) in kernfs_vma_page_mkwrite()
379 if (of->vm_ops->page_mkwrite) in kernfs_vma_page_mkwrite()
380 ret = of->vm_ops->page_mkwrite(vma, vmf); in kernfs_vma_page_mkwrite()
384 kernfs_put_active(of->kn); in kernfs_vma_page_mkwrite()
392 struct kernfs_open_file *of = kernfs_of(file); in kernfs_vma_access() local
395 if (!of->vm_ops) in kernfs_vma_access()
398 if (!kernfs_get_active(of->kn)) in kernfs_vma_access()
402 if (of->vm_ops->access) in kernfs_vma_access()
403 ret = of->vm_ops->access(vma, addr, buf, len, write); in kernfs_vma_access()
405 kernfs_put_active(of->kn); in kernfs_vma_access()
414 struct kernfs_open_file *of = kernfs_of(file); in kernfs_vma_set_policy() local
417 if (!of->vm_ops) in kernfs_vma_set_policy()
420 if (!kernfs_get_active(of->kn)) in kernfs_vma_set_policy()
424 if (of->vm_ops->set_policy) in kernfs_vma_set_policy()
425 ret = of->vm_ops->set_policy(vma, new); in kernfs_vma_set_policy()
427 kernfs_put_active(of->kn); in kernfs_vma_set_policy()
435 struct kernfs_open_file *of = kernfs_of(file); in kernfs_vma_get_policy() local
438 if (!of->vm_ops) in kernfs_vma_get_policy()
441 if (!kernfs_get_active(of->kn)) in kernfs_vma_get_policy()
445 if (of->vm_ops->get_policy) in kernfs_vma_get_policy()
446 pol = of->vm_ops->get_policy(vma, addr); in kernfs_vma_get_policy()
448 kernfs_put_active(of->kn); in kernfs_vma_get_policy()
467 struct kernfs_open_file *of = kernfs_of(file); in kernfs_fop_mmap() local
478 if (!(of->kn->flags & KERNFS_HAS_MMAP)) in kernfs_fop_mmap()
481 mutex_lock(&of->mutex); in kernfs_fop_mmap()
484 if (!kernfs_get_active(of->kn)) in kernfs_fop_mmap()
487 ops = kernfs_ops(of->kn); in kernfs_fop_mmap()
488 rc = ops->mmap(of, vma); in kernfs_fop_mmap()
501 if (of->mmapped && of->vm_ops != vma->vm_ops) in kernfs_fop_mmap()
513 of->mmapped = 1; in kernfs_fop_mmap()
514 of->vm_ops = vma->vm_ops; in kernfs_fop_mmap()
517 kernfs_put_active(of->kn); in kernfs_fop_mmap()
519 mutex_unlock(&of->mutex); in kernfs_fop_mmap()
539 struct kernfs_open_file *of) in kernfs_get_open_node() argument
555 list_add_tail(&of->list, &on->files); in kernfs_get_open_node()
590 struct kernfs_open_file *of) in kernfs_put_open_node() argument
598 if (of) in kernfs_put_open_node()
599 list_del(&of->list); in kernfs_put_open_node()
617 struct kernfs_open_file *of; in kernfs_fop_open() local
643 of = kzalloc(sizeof(struct kernfs_open_file), GFP_KERNEL); in kernfs_fop_open()
644 if (!of) in kernfs_fop_open()
663 mutex_init(&of->mutex); in kernfs_fop_open()
665 mutex_init(&of->mutex); in kernfs_fop_open()
667 of->kn = kn; in kernfs_fop_open()
668 of->file = file; in kernfs_fop_open()
674 of->atomic_write_len = ops->atomic_write_len; in kernfs_fop_open()
685 int len = of->atomic_write_len ?: PAGE_SIZE; in kernfs_fop_open()
686 of->prealloc_buf = kmalloc(len + 1, GFP_KERNEL); in kernfs_fop_open()
688 if (!of->prealloc_buf) in kernfs_fop_open()
704 ((struct seq_file *)file->private_data)->private = of; in kernfs_fop_open()
711 error = kernfs_get_open_node(kn, of); in kernfs_fop_open()
722 kfree(of->prealloc_buf); in kernfs_fop_open()
723 kfree(of); in kernfs_fop_open()
732 struct kernfs_open_file *of = kernfs_of(filp); in kernfs_fop_release() local
734 kernfs_put_open_node(kn, of); in kernfs_fop_release()
736 kfree(of->prealloc_buf); in kernfs_fop_release()
737 kfree(of); in kernfs_fop_release()
745 struct kernfs_open_file *of; in kernfs_unmap_bin_file() local
759 list_for_each_entry(of, &on->files, list) { in kernfs_unmap_bin_file()
760 struct inode *inode = file_inode(of->file); in kernfs_unmap_bin_file()
784 struct kernfs_open_file *of = kernfs_of(filp); in kernfs_fop_poll() local
795 if (of->event != atomic_read(&on->event)) in kernfs_fop_poll()