Lines Matching refs:inode

24 static struct buffer_head *omfs_get_bucket(struct inode *dir,  in omfs_get_bucket()
34 static struct buffer_head *omfs_scan_list(struct inode *dir, u64 block, in omfs_scan_list()
67 static struct buffer_head *omfs_find_entry(struct inode *dir, in omfs_find_entry()
84 int omfs_make_empty(struct inode *inode, struct super_block *sb) in omfs_make_empty() argument
90 bh = omfs_bread(sb, inode->i_ino); in omfs_make_empty()
96 if (S_ISDIR(inode->i_mode)) { in omfs_make_empty()
103 oi->i_head.h_self = cpu_to_be64(inode->i_ino); in omfs_make_empty()
111 static int omfs_add_link(struct dentry *dentry, struct inode *inode) in omfs_add_link() argument
113 struct inode *dir = d_inode(dentry->d_parent); in omfs_add_link()
129 *entry = cpu_to_be64(inode->i_ino); in omfs_add_link()
134 bh = omfs_bread(dir->i_sb, inode->i_ino); in omfs_add_link()
150 mark_inode_dirty(inode); in omfs_add_link()
158 struct inode *dir = d_inode(dentry->d_parent); in omfs_delete_entry()
159 struct inode *dirty; in omfs_delete_entry()
216 static int omfs_dir_is_empty(struct inode *inode) in omfs_dir_is_empty() argument
218 int nbuckets = (inode->i_size - OMFS_DIR_START) / 8; in omfs_dir_is_empty()
223 bh = omfs_bread(inode->i_sb, inode->i_ino); in omfs_dir_is_empty()
238 static int omfs_remove(struct inode *dir, struct dentry *dentry) in omfs_remove()
240 struct inode *inode = d_inode(dentry); in omfs_remove() local
244 if (S_ISDIR(inode->i_mode) && in omfs_remove()
245 !omfs_dir_is_empty(inode)) in omfs_remove()
252 clear_nlink(inode); in omfs_remove()
253 mark_inode_dirty(inode); in omfs_remove()
258 static int omfs_add_node(struct inode *dir, struct dentry *dentry, umode_t mode) in omfs_add_node()
261 struct inode *inode = omfs_new_inode(dir, mode); in omfs_add_node() local
263 if (IS_ERR(inode)) in omfs_add_node()
264 return PTR_ERR(inode); in omfs_add_node()
266 err = omfs_make_empty(inode, dir->i_sb); in omfs_add_node()
270 err = omfs_add_link(dentry, inode); in omfs_add_node()
274 d_instantiate(dentry, inode); in omfs_add_node()
278 iput(inode); in omfs_add_node()
282 static int omfs_mkdir(struct mnt_idmap *idmap, struct inode *dir, in omfs_mkdir()
288 static int omfs_create(struct mnt_idmap *idmap, struct inode *dir, in omfs_create()
294 static struct dentry *omfs_lookup(struct inode *dir, struct dentry *dentry, in omfs_lookup()
298 struct inode *inode = NULL; in omfs_lookup() local
308 inode = omfs_iget(dir->i_sb, ino); in omfs_lookup()
310 inode = ERR_CAST(bh); in omfs_lookup()
312 return d_splice_alias(inode, dentry); in omfs_lookup()
330 static bool omfs_fill_chain(struct inode *dir, struct dir_context *ctx, in omfs_fill_chain()
373 static int omfs_rename(struct mnt_idmap *idmap, struct inode *old_dir, in omfs_rename()
374 struct dentry *old_dentry, struct inode *new_dir, in omfs_rename()
377 struct inode *new_inode = d_inode(new_dentry); in omfs_rename()
378 struct inode *old_inode = d_inode(old_dentry); in omfs_rename()
410 struct inode *dir = file_inode(file); in omfs_readdir()