Lines Matching refs:inode
40 static struct dentry *coda_lookup(struct inode *dir, struct dentry *entry, unsigned int flags) in coda_lookup()
45 struct inode *inode; in coda_lookup() local
56 inode = coda_cnode_makectl(sb); in coda_lookup()
62 inode = !error ? coda_cnode_make(&fid, sb) : ERR_PTR(error); in coda_lookup()
65 if (!IS_ERR(inode) && (type & CODA_NOCACHE)) in coda_lookup()
66 coda_flag_inode(inode, C_VATTR | C_PURGE); in coda_lookup()
68 if (inode == ERR_PTR(-ENOENT)) in coda_lookup()
69 inode = NULL; in coda_lookup()
71 return d_splice_alias(inode, entry); in coda_lookup()
75 int coda_permission(struct inode *inode, int mask) in coda_permission() argument
87 if ((mask & MAY_EXEC) && !execute_ok(inode)) in coda_permission()
90 if (coda_cache_check(inode, mask)) in coda_permission()
93 error = venus_access(inode->i_sb, coda_i2f(inode), mask); in coda_permission()
96 coda_cache_enter(inode, mask); in coda_permission()
102 static inline void coda_dir_update_mtime(struct inode *dir) in coda_dir_update_mtime()
121 static inline void coda_dir_inc_nlink(struct inode *dir) in coda_dir_inc_nlink()
127 static inline void coda_dir_drop_nlink(struct inode *dir) in coda_dir_drop_nlink()
134 static int coda_create(struct inode *dir, struct dentry *de, umode_t mode, bool excl) in coda_create()
139 struct inode *inode; in coda_create() local
151 inode = coda_iget(dir->i_sb, &newfid, &attrs); in coda_create()
152 if (IS_ERR(inode)) { in coda_create()
153 error = PTR_ERR(inode); in coda_create()
159 d_instantiate(de, inode); in coda_create()
166 static int coda_mkdir(struct inode *dir, struct dentry *de, umode_t mode) in coda_mkdir()
168 struct inode *inode; in coda_mkdir() local
184 inode = coda_iget(dir->i_sb, &newfid, &attrs); in coda_mkdir()
185 if (IS_ERR(inode)) { in coda_mkdir()
186 error = PTR_ERR(inode); in coda_mkdir()
193 d_instantiate(de, inode); in coda_mkdir()
201 static int coda_link(struct dentry *source_de, struct inode *dir_inode, in coda_link()
204 struct inode *inode = d_inode(source_de); in coda_link() local
212 error = venus_link(dir_inode->i_sb, coda_i2f(inode), in coda_link()
220 ihold(inode); in coda_link()
221 d_instantiate(de, inode); in coda_link()
222 inc_nlink(inode); in coda_link()
227 static int coda_symlink(struct inode *dir_inode, struct dentry *de, in coda_symlink()
258 static int coda_unlink(struct inode *dir, struct dentry *de) in coda_unlink()
273 static int coda_rmdir(struct inode *dir, struct dentry *de) in coda_rmdir()
293 static int coda_rename(struct inode *old_dir, struct dentry *old_dentry, in coda_rename()
294 struct inode *new_dir, struct dentry *new_dentry) in coda_rename()
428 struct inode *host_inode = file_inode(host_file); in coda_readdir()
446 struct inode *inode; in coda_dentry_revalidate() local
452 inode = d_inode(de); in coda_dentry_revalidate()
453 if (!inode || is_root_inode(inode)) in coda_dentry_revalidate()
455 if (is_bad_inode(inode)) in coda_dentry_revalidate()
466 coda_flag_inode_children(inode, C_FLUSH); in coda_dentry_revalidate()
508 int coda_revalidate_inode(struct inode *inode) in coda_revalidate_inode() argument
514 struct coda_inode_info *cii = ITOC(inode); in coda_revalidate_inode()
520 error = venus_getattr(inode->i_sb, &(cii->c_fid), &attr); in coda_revalidate_inode()
529 old_mode = inode->i_mode; in coda_revalidate_inode()
530 old_ino = inode->i_ino; in coda_revalidate_inode()
531 coda_vattr_to_iattr(inode, &attr); in coda_revalidate_inode()
533 if ((old_mode & S_IFMT) != (inode->i_mode & S_IFMT)) { in coda_revalidate_inode()
535 inode->i_ino, coda_f2s(&(cii->c_fid))); in coda_revalidate_inode()
540 if (inode->i_ino != old_ino) in coda_revalidate_inode()
543 coda_flag_inode_children(inode, C_FLUSH); in coda_revalidate_inode()