Lines Matching refs:vnode
196 d_file = (struct tmpfs_file *)file->vnode->data; in dfs_tmpfs_ioctl()
211 if (mmap2->length > file->vnode->size) in dfs_tmpfs_ioctl()
293 d_file = (struct tmpfs_file *)file->vnode->data; in dfs_tmpfs_read()
296 rt_mutex_take(&file->vnode->lock, RT_WAITING_FOREVER); in dfs_tmpfs_read()
297 ssize_t size = (ssize_t)file->vnode->size; in dfs_tmpfs_read()
309 rt_mutex_release(&file->vnode->lock); in dfs_tmpfs_read()
355 d_file = (struct tmpfs_file *)file->vnode->data; in dfs_tmpfs_write()
358 rt_mutex_take(&file->vnode->lock, RT_WAITING_FOREVER); in dfs_tmpfs_write()
362 rt_mutex_release(&file->vnode->lock); in dfs_tmpfs_write()
379 offset += file->vnode->size; in dfs_tmpfs_lseek()
386 if (offset <= (off_t)file->vnode->size) in dfs_tmpfs_lseek()
398 RT_ASSERT(file->vnode->ref_count > 0); in dfs_tmpfs_close()
400 if (file->vnode->ref_count != 1) in dfs_tmpfs_close()
403 d_file = (struct tmpfs_file *)file->vnode->data; in dfs_tmpfs_close()
419 rt_mutex_detach(&file->vnode->lock); in dfs_tmpfs_close()
428 d_file = (struct tmpfs_file *)file->vnode->data; in dfs_tmpfs_open()
436 file->vnode->size = d_file->size; in dfs_tmpfs_open()
437 file->fpos = file->vnode->size; in dfs_tmpfs_open()
448 file->fpos = file->vnode->size; in dfs_tmpfs_open()
455 RT_ASSERT(file->vnode->ref_count > 0); in dfs_tmpfs_open()
456 if(file->vnode->ref_count == 1) in dfs_tmpfs_open()
458 rt_mutex_init(&file->vnode->lock, file->dentry->pathname, RT_IPC_FLAG_PRIO); in dfs_tmpfs_open()
503 d_file = (struct tmpfs_file *)file->vnode->data; in dfs_tmpfs_getdents()
505 rt_mutex_take(&file->vnode->lock, RT_WAITING_FOREVER); in dfs_tmpfs_getdents()
515 rt_mutex_release(&file->vnode->lock); in dfs_tmpfs_getdents()
549 rt_mutex_release(&file->vnode->lock); in dfs_tmpfs_getdents()
642 struct dfs_vnode *vnode = RT_NULL; in _dfs_tmpfs_lookup() local
657 vnode = dfs_vnode_create(); in _dfs_tmpfs_lookup()
658 if (vnode) in _dfs_tmpfs_lookup()
662 vnode->mode = S_IFDIR | (S_IRUSR | S_IXUSR | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH); in _dfs_tmpfs_lookup()
663 vnode->type = FT_DIRECTORY; in _dfs_tmpfs_lookup()
667 vnode->mode = S_IFREG | (S_IRWXU | S_IRWXG | S_IRWXO); in _dfs_tmpfs_lookup()
668 vnode->type = FT_REGULAR; in _dfs_tmpfs_lookup()
670 vnode->aspace = dfs_aspace_create(dentry, vnode, &dfs_tmp_aspace_ops); in _dfs_tmpfs_lookup()
674 vnode->mnt = dentry->mnt; in _dfs_tmpfs_lookup()
675 vnode->data = d_file; in _dfs_tmpfs_lookup()
676 vnode->size = d_file->size; in _dfs_tmpfs_lookup()
680 return vnode; in _dfs_tmpfs_lookup()
685 struct dfs_vnode *vnode = RT_NULL; in dfs_tmpfs_create_vnode() local
706 vnode = dfs_vnode_create(); in dfs_tmpfs_create_vnode()
707 if (vnode) in dfs_tmpfs_create_vnode()
714 dfs_vnode_destroy(vnode); in dfs_tmpfs_create_vnode()
723 dfs_vnode_destroy(vnode); in dfs_tmpfs_create_vnode()
732 dfs_vnode_destroy(vnode); in dfs_tmpfs_create_vnode()
748 vnode->mode = S_IFDIR | (S_IRUSR | S_IXUSR | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH); in dfs_tmpfs_create_vnode()
749 vnode->type = FT_DIRECTORY; in dfs_tmpfs_create_vnode()
754 vnode->mode = S_IFREG | (S_IRWXU | S_IRWXG | S_IRWXO); in dfs_tmpfs_create_vnode()
755 vnode->type = FT_REGULAR; in dfs_tmpfs_create_vnode()
757 vnode->aspace = dfs_aspace_create(dentry, vnode, &dfs_tmp_aspace_ops); in dfs_tmpfs_create_vnode()
764 vnode->mnt = dentry->mnt; in dfs_tmpfs_create_vnode()
765 vnode->data = d_file; in dfs_tmpfs_create_vnode()
766 vnode->size = d_file->size; in dfs_tmpfs_create_vnode()
771 return vnode; in dfs_tmpfs_create_vnode()
774 static int dfs_tmpfs_free_vnode(struct dfs_vnode *vnode) in dfs_tmpfs_free_vnode() argument
777 if (vnode && vnode->ref_count <= 1) in dfs_tmpfs_free_vnode()
779 vnode->data = NULL; in dfs_tmpfs_free_vnode()
805 if (page->aspace->vnode->type == FT_DIRECTORY) in dfs_tmp_page_write()
810 d_file = (struct tmpfs_file *)(page->aspace->vnode->data); in dfs_tmp_page_write()
813 rt_mutex_take(&page->aspace->vnode->lock, RT_WAITING_FOREVER); in dfs_tmp_page_write()
819 rt_mutex_release(&page->aspace->vnode->lock); in dfs_tmp_page_write()
831 d_file = (struct tmpfs_file *)file->vnode->data; in dfs_tmpfs_truncate()
851 file->vnode->size = d_file->size; in dfs_tmpfs_truncate()