Lines Matching refs:inode
58 static struct inode *
76 struct inode *inode = container_of(head, struct inode, i_rcu); in spufs_i_callback() local
77 kmem_cache_free(spufs_inode_cache, SPUFS_I(inode)); in spufs_i_callback()
80 static void spufs_destroy_inode(struct inode *inode) in spufs_destroy_inode() argument
82 call_rcu(&inode->i_rcu, spufs_i_callback); in spufs_destroy_inode()
93 static struct inode *
96 struct inode *inode; in spufs_new_inode() local
98 inode = new_inode(sb); in spufs_new_inode()
99 if (!inode) in spufs_new_inode()
102 inode->i_ino = get_next_ino(); in spufs_new_inode()
103 inode->i_mode = mode; in spufs_new_inode()
104 inode->i_uid = current_fsuid(); in spufs_new_inode()
105 inode->i_gid = current_fsgid(); in spufs_new_inode()
106 inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME; in spufs_new_inode()
108 return inode; in spufs_new_inode()
114 struct inode *inode = d_inode(dentry); in spufs_setattr() local
117 (attr->ia_size != inode->i_size)) in spufs_setattr()
119 setattr_copy(inode, attr); in spufs_setattr()
120 mark_inode_dirty(inode); in spufs_setattr()
133 struct inode *inode; in spufs_new_file() local
137 inode = spufs_new_inode(sb, S_IFREG | mode); in spufs_new_file()
138 if (!inode) in spufs_new_file()
142 inode->i_op = &spufs_file_iops; in spufs_new_file()
143 inode->i_fop = fops; in spufs_new_file()
144 inode->i_size = size; in spufs_new_file()
145 inode->i_private = SPUFS_I(inode)->i_ctx = get_spu_context(ctx); in spufs_new_file()
146 d_add(dentry, inode); in spufs_new_file()
152 spufs_evict_inode(struct inode *inode) in spufs_evict_inode() argument
154 struct spufs_inode_info *ei = SPUFS_I(inode); in spufs_evict_inode()
155 clear_inode(inode); in spufs_evict_inode()
187 static int spufs_rmdir(struct inode *parent, struct dentry *dir) in spufs_rmdir()
217 static int spufs_dir_close(struct inode *inode, struct file *file) in spufs_dir_close() argument
220 struct inode *parent; in spufs_dir_close()
233 return dcache_dir_close(inode, file); in spufs_dir_close()
247 spufs_mkdir(struct inode *dir, struct dentry *dentry, unsigned int flags, in spufs_mkdir()
251 struct inode *inode; in spufs_mkdir() local
254 inode = spufs_new_inode(dir->i_sb, mode | S_IFDIR); in spufs_mkdir()
255 if (!inode) in spufs_mkdir()
259 inode->i_gid = dir->i_gid; in spufs_mkdir()
260 inode->i_mode &= S_ISGID; in spufs_mkdir()
263 SPUFS_I(inode)->i_ctx = ctx; in spufs_mkdir()
265 iput(inode); in spufs_mkdir()
270 inode->i_op = &simple_dir_inode_operations; in spufs_mkdir()
271 inode->i_fop = &simple_dir_operations; in spufs_mkdir()
273 mutex_lock(&inode->i_mutex); in spufs_mkdir()
277 inc_nlink(inode); in spufs_mkdir()
279 d_instantiate(dentry, inode); in spufs_mkdir()
294 mutex_unlock(&inode->i_mutex); in spufs_mkdir()
422 spufs_create_context(struct inode *inode, struct dentry *dentry, in spufs_create_context() argument
447 gang = SPUFS_I(inode)->i_gang; in spufs_create_context()
458 ret = spufs_mkdir(inode, dentry, flags, mode & S_IRWXUGO); in spufs_create_context()
471 WARN_ON(spufs_rmdir(inode, dentry)); in spufs_create_context()
480 spufs_mkgang(struct inode *dir, struct dentry *dentry, umode_t mode) in spufs_mkgang()
483 struct inode *inode; in spufs_mkgang() local
487 inode = spufs_new_inode(dir->i_sb, mode | S_IFDIR); in spufs_mkgang()
488 if (!inode) in spufs_mkgang()
493 inode->i_gid = dir->i_gid; in spufs_mkgang()
494 inode->i_mode &= S_ISGID; in spufs_mkgang()
497 SPUFS_I(inode)->i_ctx = NULL; in spufs_mkgang()
498 SPUFS_I(inode)->i_gang = gang; in spufs_mkgang()
502 inode->i_op = &simple_dir_inode_operations; in spufs_mkgang()
503 inode->i_fop = &simple_dir_operations; in spufs_mkgang()
505 d_instantiate(dentry, inode); in spufs_mkgang()
511 iput(inode); in spufs_mkgang()
540 static int spufs_create_gang(struct inode *inode, in spufs_create_gang() argument
547 ret = spufs_mkgang(inode, dentry, mode & S_IRWXUGO); in spufs_create_gang()
551 int err = simple_rmdir(inode, dentry); in spufs_create_gang()
564 struct inode *dir = d_inode(path->dentry); in spufs_create()
607 spufs_parse_options(struct super_block *sb, char *options, struct inode *root) in spufs_parse_options()
683 struct inode *inode; in spufs_create_root() local
691 inode = spufs_new_inode(sb, S_IFDIR | 0775); in spufs_create_root()
692 if (!inode) in spufs_create_root()
695 inode->i_op = &simple_dir_inode_operations; in spufs_create_root()
696 inode->i_fop = &simple_dir_operations; in spufs_create_root()
697 SPUFS_I(inode)->i_ctx = NULL; in spufs_create_root()
698 inc_nlink(inode); in spufs_create_root()
701 if (!spufs_parse_options(sb, data, inode)) in spufs_create_root()
705 sb->s_root = d_make_root(inode); in spufs_create_root()
711 iput(inode); in spufs_create_root()