• Home
  • Raw
  • Download

Lines Matching refs:inode

26 static void coda_fill_inode(struct inode *inode, struct coda_vattr *attr)  in coda_fill_inode()  argument
28 coda_vattr_to_iattr(inode, attr); in coda_fill_inode()
30 if (S_ISREG(inode->i_mode)) { in coda_fill_inode()
31 inode->i_op = &coda_file_inode_operations; in coda_fill_inode()
32 inode->i_fop = &coda_file_operations; in coda_fill_inode()
33 } else if (S_ISDIR(inode->i_mode)) { in coda_fill_inode()
34 inode->i_op = &coda_dir_inode_operations; in coda_fill_inode()
35 inode->i_fop = &coda_dir_operations; in coda_fill_inode()
36 } else if (S_ISLNK(inode->i_mode)) { in coda_fill_inode()
37 inode->i_op = &coda_symlink_inode_operations; in coda_fill_inode()
38 inode->i_data.a_ops = &coda_symlink_aops; in coda_fill_inode()
39 inode->i_mapping = &inode->i_data; in coda_fill_inode()
41 init_special_inode(inode, inode->i_mode, huge_decode_dev(attr->va_rdev)); in coda_fill_inode()
44 static int coda_test_inode(struct inode *inode, void *data) in coda_test_inode() argument
47 struct coda_inode_info *cii = ITOC(inode); in coda_test_inode()
51 static int coda_set_inode(struct inode *inode, void *data) in coda_set_inode() argument
54 struct coda_inode_info *cii = ITOC(inode); in coda_set_inode()
59 struct inode * coda_iget(struct super_block * sb, struct CodaFid * fid, in coda_iget()
62 struct inode *inode; in coda_iget() local
66 inode = iget5_locked(sb, hash, coda_test_inode, coda_set_inode, fid); in coda_iget()
68 if (!inode) in coda_iget()
71 if (inode->i_state & I_NEW) { in coda_iget()
72 cii = ITOC(inode); in coda_iget()
74 inode->i_ino = hash; in coda_iget()
77 unlock_new_inode(inode); in coda_iget()
81 coda_fill_inode(inode, attr); in coda_iget()
82 return inode; in coda_iget()
91 struct inode *coda_cnode_make(struct CodaFid *fid, struct super_block *sb) in coda_cnode_make()
94 struct inode *inode; in coda_cnode_make() local
102 inode = coda_iget(sb, fid, &attr); in coda_cnode_make()
103 if (IS_ERR(inode)) in coda_cnode_make()
105 return inode; in coda_cnode_make()
117 void coda_replace_fid(struct inode *inode, struct CodaFid *oldfid, in coda_replace_fid() argument
120 struct coda_inode_info *cii = ITOC(inode); in coda_replace_fid()
127 remove_inode_hash(inode); in coda_replace_fid()
129 inode->i_ino = hash; in coda_replace_fid()
130 __insert_inode_hash(inode, hash); in coda_replace_fid()
134 struct inode *coda_fid_to_inode(struct CodaFid *fid, struct super_block *sb) in coda_fid_to_inode()
136 struct inode *inode; in coda_fid_to_inode() local
144 inode = ilookup5(sb, hash, coda_test_inode, fid); in coda_fid_to_inode()
145 if ( !inode ) in coda_fid_to_inode()
150 BUG_ON(inode->i_state & I_NEW); in coda_fid_to_inode()
152 return inode; in coda_fid_to_inode()
156 struct inode *coda_cnode_makectl(struct super_block *sb) in coda_cnode_makectl()
158 struct inode *inode = new_inode(sb); in coda_cnode_makectl() local
159 if (inode) { in coda_cnode_makectl()
160 inode->i_ino = CTL_INO; in coda_cnode_makectl()
161 inode->i_op = &coda_ioctl_inode_operations; in coda_cnode_makectl()
162 inode->i_fop = &coda_ioctl_operations; in coda_cnode_makectl()
163 inode->i_mode = 0444; in coda_cnode_makectl()
164 return inode; in coda_cnode_makectl()