Lines Matching refs:inode

304 static int reiserfs_find_entry(struct inode *dir, const char *name, int namelen,  in reiserfs_find_entry()
352 static struct dentry *reiserfs_lookup(struct inode *dir, struct dentry *dentry, in reiserfs_lookup()
356 struct inode *inode = NULL; in reiserfs_lookup() local
371 inode = reiserfs_iget(dir->i_sb, in reiserfs_lookup()
373 if (!inode || IS_ERR(inode)) { in reiserfs_lookup()
383 inode->i_flags |= S_PRIVATE; in reiserfs_lookup()
390 return d_splice_alias(inode, dentry); in reiserfs_lookup()
400 struct inode *inode = NULL; in reiserfs_get_parent() local
403 struct inode *dir = d_inode(child); in reiserfs_get_parent()
417 inode = reiserfs_iget(dir->i_sb, (struct cpu_key *)&de.de_dir_id); in reiserfs_get_parent()
420 return d_obtain_alias(inode); in reiserfs_get_parent()
430 struct inode *dir, const char *name, int namelen, in reiserfs_add_entry()
431 struct inode *inode, int visible) in reiserfs_add_entry() argument
488 deh->deh_dir_id = INODE_PKEY(inode)->k_dir_id; in reiserfs_add_entry()
490 deh->deh_objectid = INODE_PKEY(inode)->k_objectid; in reiserfs_add_entry()
574 if (!S_ISDIR(inode->i_mode) && visible) in reiserfs_add_entry()
588 static int drop_new_inode(struct inode *inode) in drop_new_inode() argument
590 dquot_drop(inode); in drop_new_inode()
591 make_bad_inode(inode); in drop_new_inode()
592 inode->i_flags |= S_NOQUOTA; in drop_new_inode()
593 iput(inode); in drop_new_inode()
603 static int new_inode_init(struct inode *inode, struct inode *dir, umode_t mode) in new_inode_init() argument
609 INODE_PKEY(inode)->k_objectid = 0; in new_inode_init()
615 inode_init_owner(inode, dir, mode); in new_inode_init()
616 return dquot_initialize(inode); in new_inode_init()
619 static int reiserfs_create(struct inode *dir, struct dentry *dentry, umode_t mode, in reiserfs_create()
623 struct inode *inode; in reiserfs_create() local
639 if (!(inode = new_inode(dir->i_sb))) { in reiserfs_create()
642 retval = new_inode_init(inode, dir, mode); in reiserfs_create()
644 drop_new_inode(inode); in reiserfs_create()
649 retval = reiserfs_security_init(dir, inode, &dentry->d_name, &security); in reiserfs_create()
651 drop_new_inode(inode); in reiserfs_create()
659 drop_new_inode(inode); in reiserfs_create()
665 inode, &security); in reiserfs_create()
669 inode->i_op = &reiserfs_file_inode_operations; in reiserfs_create()
670 inode->i_fop = &reiserfs_file_operations; in reiserfs_create()
671 inode->i_mapping->a_ops = &reiserfs_address_space_operations; in reiserfs_create()
675 dentry->d_name.len, inode, 1 /*visible */ ); in reiserfs_create()
678 drop_nlink(inode); in reiserfs_create()
679 reiserfs_update_sd(&th, inode); in reiserfs_create()
683 unlock_new_inode(inode); in reiserfs_create()
684 iput(inode); in reiserfs_create()
687 reiserfs_update_inode_transaction(inode); in reiserfs_create()
690 unlock_new_inode(inode); in reiserfs_create()
691 d_instantiate(dentry, inode); in reiserfs_create()
699 static int reiserfs_mknod(struct inode *dir, struct dentry *dentry, umode_t mode, in reiserfs_mknod()
703 struct inode *inode; in reiserfs_mknod() local
719 if (!(inode = new_inode(dir->i_sb))) { in reiserfs_mknod()
722 retval = new_inode_init(inode, dir, mode); in reiserfs_mknod()
724 drop_new_inode(inode); in reiserfs_mknod()
729 retval = reiserfs_security_init(dir, inode, &dentry->d_name, &security); in reiserfs_mknod()
731 drop_new_inode(inode); in reiserfs_mknod()
739 drop_new_inode(inode); in reiserfs_mknod()
745 inode, &security); in reiserfs_mknod()
750 inode->i_op = &reiserfs_special_inode_operations; in reiserfs_mknod()
751 init_special_inode(inode, inode->i_mode, rdev); in reiserfs_mknod()
754 reiserfs_update_sd(&th, inode); in reiserfs_mknod()
756 reiserfs_update_inode_transaction(inode); in reiserfs_mknod()
761 dentry->d_name.len, inode, 1 /*visible */ ); in reiserfs_mknod()
764 drop_nlink(inode); in reiserfs_mknod()
765 reiserfs_update_sd(&th, inode); in reiserfs_mknod()
769 unlock_new_inode(inode); in reiserfs_mknod()
770 iput(inode); in reiserfs_mknod()
774 unlock_new_inode(inode); in reiserfs_mknod()
775 d_instantiate(dentry, inode); in reiserfs_mknod()
783 static int reiserfs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode) in reiserfs_mkdir()
786 struct inode *inode; in reiserfs_mkdir() local
810 if (!(inode = new_inode(dir->i_sb))) { in reiserfs_mkdir()
813 retval = new_inode_init(inode, dir, mode); in reiserfs_mkdir()
815 drop_new_inode(inode); in reiserfs_mkdir()
820 retval = reiserfs_security_init(dir, inode, &dentry->d_name, &security); in reiserfs_mkdir()
822 drop_new_inode(inode); in reiserfs_mkdir()
830 drop_new_inode(inode); in reiserfs_mkdir()
843 dentry, inode, &security); in reiserfs_mkdir()
849 reiserfs_update_inode_transaction(inode); in reiserfs_mkdir()
852 inode->i_op = &reiserfs_dir_inode_operations; in reiserfs_mkdir()
853 inode->i_fop = &reiserfs_dir_operations; in reiserfs_mkdir()
858 dentry->d_name.len, inode, 1 /*visible */ ); in reiserfs_mkdir()
861 clear_nlink(inode); in reiserfs_mkdir()
863 reiserfs_update_sd(&th, inode); in reiserfs_mkdir()
867 unlock_new_inode(inode); in reiserfs_mkdir()
868 iput(inode); in reiserfs_mkdir()
874 unlock_new_inode(inode); in reiserfs_mkdir()
875 d_instantiate(dentry, inode); in reiserfs_mkdir()
882 static inline int reiserfs_empty_dir(struct inode *inode) in reiserfs_empty_dir() argument
890 if (inode->i_size != EMPTY_DIR_SIZE && in reiserfs_empty_dir()
891 inode->i_size != EMPTY_DIR_SIZE_V1) { in reiserfs_empty_dir()
897 static int reiserfs_rmdir(struct inode *dir, struct dentry *dentry) in reiserfs_rmdir()
900 struct inode *inode; in reiserfs_rmdir() local
936 inode = d_inode(dentry); in reiserfs_rmdir()
938 reiserfs_update_inode_transaction(inode); in reiserfs_rmdir()
941 if (de.de_objectid != inode->i_ino) { in reiserfs_rmdir()
948 if (!reiserfs_empty_dir(inode)) { in reiserfs_rmdir()
960 if (inode->i_nlink != 2 && inode->i_nlink != 1) in reiserfs_rmdir()
961 reiserfs_error(inode->i_sb, "reiserfs-7040", in reiserfs_rmdir()
963 inode->i_nlink); in reiserfs_rmdir()
965 clear_nlink(inode); in reiserfs_rmdir()
966 inode->i_ctime = dir->i_ctime = dir->i_mtime = CURRENT_TIME_SEC; in reiserfs_rmdir()
967 reiserfs_update_sd(&th, inode); in reiserfs_rmdir()
974 add_save_link(&th, inode, 0 /* not truncate */ ); in reiserfs_rmdir()
994 static int reiserfs_unlink(struct inode *dir, struct dentry *dentry) in reiserfs_unlink()
997 struct inode *inode; in reiserfs_unlink() local
1008 inode = d_inode(dentry); in reiserfs_unlink()
1037 reiserfs_update_inode_transaction(inode); in reiserfs_unlink()
1040 if (de.de_objectid != inode->i_ino) { in reiserfs_unlink()
1048 if (!inode->i_nlink) { in reiserfs_unlink()
1049 reiserfs_warning(inode->i_sb, "reiserfs-7042", in reiserfs_unlink()
1051 inode->i_ino, inode->i_nlink); in reiserfs_unlink()
1052 set_nlink(inode, 1); in reiserfs_unlink()
1055 drop_nlink(inode); in reiserfs_unlink()
1061 savelink = inode->i_nlink; in reiserfs_unlink()
1067 inc_nlink(inode); in reiserfs_unlink()
1070 inode->i_ctime = CURRENT_TIME_SEC; in reiserfs_unlink()
1071 reiserfs_update_sd(&th, inode); in reiserfs_unlink()
1079 add_save_link(&th, inode, 0 /* not truncate */ ); in reiserfs_unlink()
1097 static int reiserfs_symlink(struct inode *parent_dir, in reiserfs_symlink()
1101 struct inode *inode; in reiserfs_symlink() local
1120 if (!(inode = new_inode(parent_dir->i_sb))) { in reiserfs_symlink()
1123 retval = new_inode_init(inode, parent_dir, mode); in reiserfs_symlink()
1125 drop_new_inode(inode); in reiserfs_symlink()
1129 retval = reiserfs_security_init(parent_dir, inode, &dentry->d_name, in reiserfs_symlink()
1132 drop_new_inode(inode); in reiserfs_symlink()
1141 drop_new_inode(inode); in reiserfs_symlink()
1147 drop_new_inode(inode); in reiserfs_symlink()
1156 drop_new_inode(inode); in reiserfs_symlink()
1163 dentry, inode, &security); in reiserfs_symlink()
1169 reiserfs_update_inode_transaction(inode); in reiserfs_symlink()
1172 inode->i_op = &reiserfs_symlink_inode_operations; in reiserfs_symlink()
1173 inode->i_mapping->a_ops = &reiserfs_address_space_operations; in reiserfs_symlink()
1176 dentry->d_name.len, inode, 1 /*visible */ ); in reiserfs_symlink()
1179 drop_nlink(inode); in reiserfs_symlink()
1180 reiserfs_update_sd(&th, inode); in reiserfs_symlink()
1184 unlock_new_inode(inode); in reiserfs_symlink()
1185 iput(inode); in reiserfs_symlink()
1189 unlock_new_inode(inode); in reiserfs_symlink()
1190 d_instantiate(dentry, inode); in reiserfs_symlink()
1197 static int reiserfs_link(struct dentry *old_dentry, struct inode *dir, in reiserfs_link()
1201 struct inode *inode = d_inode(old_dentry); in reiserfs_link() local
1216 if (inode->i_nlink >= REISERFS_LINK_MAX) { in reiserfs_link()
1223 inc_nlink(inode); in reiserfs_link()
1227 drop_nlink(inode); in reiserfs_link()
1235 dentry->d_name.len, inode, 1 /*visible */ ); in reiserfs_link()
1237 reiserfs_update_inode_transaction(inode); in reiserfs_link()
1242 drop_nlink(inode); in reiserfs_link()
1248 inode->i_ctime = CURRENT_TIME_SEC; in reiserfs_link()
1249 reiserfs_update_sd(&th, inode); in reiserfs_link()
1251 ihold(inode); in reiserfs_link()
1252 d_instantiate(dentry, inode); in reiserfs_link()
1274 struct inode *inode) in entry_points_to_object() argument
1279 if (inode) { in entry_points_to_object()
1281 reiserfs_panic(inode->i_sb, "vs-7042", in entry_points_to_object()
1283 return (de->de_objectid == inode->i_ino) ? 1 : 0; in entry_points_to_object()
1307 static int reiserfs_rename(struct inode *old_dir, struct dentry *old_dentry, in reiserfs_rename()
1308 struct inode *new_dir, struct dentry *new_dentry) in reiserfs_rename()
1316 struct inode *old_inode, *new_dentry_inode; in reiserfs_rename()