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 dquot_initialize(inode); in new_inode_init()
620 static int reiserfs_create(struct inode *dir, struct dentry *dentry, umode_t mode, in reiserfs_create()
624 struct inode *inode; in reiserfs_create() local
638 if (!(inode = new_inode(dir->i_sb))) { in reiserfs_create()
641 new_inode_init(inode, dir, mode); in reiserfs_create()
644 retval = reiserfs_security_init(dir, inode, &dentry->d_name, &security); in reiserfs_create()
646 drop_new_inode(inode); in reiserfs_create()
654 drop_new_inode(inode); in reiserfs_create()
660 inode, &security); in reiserfs_create()
664 inode->i_op = &reiserfs_file_inode_operations; in reiserfs_create()
665 inode->i_fop = &reiserfs_file_operations; in reiserfs_create()
666 inode->i_mapping->a_ops = &reiserfs_address_space_operations; in reiserfs_create()
670 dentry->d_name.len, inode, 1 /*visible */ ); in reiserfs_create()
673 drop_nlink(inode); in reiserfs_create()
674 reiserfs_update_sd(&th, inode); in reiserfs_create()
678 unlock_new_inode(inode); in reiserfs_create()
679 iput(inode); in reiserfs_create()
682 reiserfs_update_inode_transaction(inode); in reiserfs_create()
685 unlock_new_inode(inode); in reiserfs_create()
686 d_instantiate(dentry, inode); in reiserfs_create()
694 static int reiserfs_mknod(struct inode *dir, struct dentry *dentry, umode_t mode, in reiserfs_mknod()
698 struct inode *inode; in reiserfs_mknod() local
715 if (!(inode = new_inode(dir->i_sb))) { in reiserfs_mknod()
718 new_inode_init(inode, dir, mode); in reiserfs_mknod()
721 retval = reiserfs_security_init(dir, inode, &dentry->d_name, &security); in reiserfs_mknod()
723 drop_new_inode(inode); in reiserfs_mknod()
731 drop_new_inode(inode); in reiserfs_mknod()
737 inode, &security); in reiserfs_mknod()
742 inode->i_op = &reiserfs_special_inode_operations; in reiserfs_mknod()
743 init_special_inode(inode, inode->i_mode, rdev); in reiserfs_mknod()
746 reiserfs_update_sd(&th, inode); in reiserfs_mknod()
748 reiserfs_update_inode_transaction(inode); in reiserfs_mknod()
753 dentry->d_name.len, inode, 1 /*visible */ ); in reiserfs_mknod()
756 drop_nlink(inode); in reiserfs_mknod()
757 reiserfs_update_sd(&th, inode); in reiserfs_mknod()
761 unlock_new_inode(inode); in reiserfs_mknod()
762 iput(inode); in reiserfs_mknod()
766 unlock_new_inode(inode); in reiserfs_mknod()
767 d_instantiate(dentry, inode); in reiserfs_mknod()
775 static int reiserfs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode) in reiserfs_mkdir()
778 struct inode *inode; in reiserfs_mkdir() local
800 if (!(inode = new_inode(dir->i_sb))) { in reiserfs_mkdir()
803 new_inode_init(inode, dir, mode); in reiserfs_mkdir()
806 retval = reiserfs_security_init(dir, inode, &dentry->d_name, &security); in reiserfs_mkdir()
808 drop_new_inode(inode); in reiserfs_mkdir()
816 drop_new_inode(inode); in reiserfs_mkdir()
829 dentry, inode, &security); in reiserfs_mkdir()
835 reiserfs_update_inode_transaction(inode); in reiserfs_mkdir()
838 inode->i_op = &reiserfs_dir_inode_operations; in reiserfs_mkdir()
839 inode->i_fop = &reiserfs_dir_operations; in reiserfs_mkdir()
844 dentry->d_name.len, inode, 1 /*visible */ ); in reiserfs_mkdir()
847 clear_nlink(inode); in reiserfs_mkdir()
849 reiserfs_update_sd(&th, inode); in reiserfs_mkdir()
853 unlock_new_inode(inode); in reiserfs_mkdir()
854 iput(inode); in reiserfs_mkdir()
860 unlock_new_inode(inode); in reiserfs_mkdir()
861 d_instantiate(dentry, inode); in reiserfs_mkdir()
868 static inline int reiserfs_empty_dir(struct inode *inode) in reiserfs_empty_dir() argument
876 if (inode->i_size != EMPTY_DIR_SIZE && in reiserfs_empty_dir()
877 inode->i_size != EMPTY_DIR_SIZE_V1) { in reiserfs_empty_dir()
883 static int reiserfs_rmdir(struct inode *dir, struct dentry *dentry) in reiserfs_rmdir()
886 struct inode *inode; in reiserfs_rmdir() local
920 inode = d_inode(dentry); in reiserfs_rmdir()
922 reiserfs_update_inode_transaction(inode); in reiserfs_rmdir()
925 if (de.de_objectid != inode->i_ino) { in reiserfs_rmdir()
932 if (!reiserfs_empty_dir(inode)) { in reiserfs_rmdir()
944 if (inode->i_nlink != 2 && inode->i_nlink != 1) in reiserfs_rmdir()
945 reiserfs_error(inode->i_sb, "reiserfs-7040", in reiserfs_rmdir()
947 inode->i_nlink); in reiserfs_rmdir()
949 clear_nlink(inode); in reiserfs_rmdir()
950 inode->i_ctime = dir->i_ctime = dir->i_mtime = CURRENT_TIME_SEC; in reiserfs_rmdir()
951 reiserfs_update_sd(&th, inode); in reiserfs_rmdir()
958 add_save_link(&th, inode, 0 /* not truncate */ ); in reiserfs_rmdir()
978 static int reiserfs_unlink(struct inode *dir, struct dentry *dentry) in reiserfs_unlink()
981 struct inode *inode; in reiserfs_unlink() local
990 inode = d_inode(dentry); in reiserfs_unlink()
1019 reiserfs_update_inode_transaction(inode); in reiserfs_unlink()
1022 if (de.de_objectid != inode->i_ino) { in reiserfs_unlink()
1030 if (!inode->i_nlink) { in reiserfs_unlink()
1031 reiserfs_warning(inode->i_sb, "reiserfs-7042", in reiserfs_unlink()
1033 inode->i_ino, inode->i_nlink); in reiserfs_unlink()
1034 set_nlink(inode, 1); in reiserfs_unlink()
1037 drop_nlink(inode); in reiserfs_unlink()
1043 savelink = inode->i_nlink; in reiserfs_unlink()
1049 inc_nlink(inode); in reiserfs_unlink()
1052 inode->i_ctime = CURRENT_TIME_SEC; in reiserfs_unlink()
1053 reiserfs_update_sd(&th, inode); in reiserfs_unlink()
1061 add_save_link(&th, inode, 0 /* not truncate */ ); in reiserfs_unlink()
1079 static int reiserfs_symlink(struct inode *parent_dir, in reiserfs_symlink()
1083 struct inode *inode; in reiserfs_symlink() local
1100 if (!(inode = new_inode(parent_dir->i_sb))) { in reiserfs_symlink()
1103 new_inode_init(inode, parent_dir, mode); in reiserfs_symlink()
1105 retval = reiserfs_security_init(parent_dir, inode, &dentry->d_name, in reiserfs_symlink()
1108 drop_new_inode(inode); in reiserfs_symlink()
1117 drop_new_inode(inode); in reiserfs_symlink()
1123 drop_new_inode(inode); in reiserfs_symlink()
1132 drop_new_inode(inode); in reiserfs_symlink()
1139 dentry, inode, &security); in reiserfs_symlink()
1145 reiserfs_update_inode_transaction(inode); in reiserfs_symlink()
1148 inode->i_op = &reiserfs_symlink_inode_operations; in reiserfs_symlink()
1149 inode->i_mapping->a_ops = &reiserfs_address_space_operations; in reiserfs_symlink()
1152 dentry->d_name.len, inode, 1 /*visible */ ); in reiserfs_symlink()
1155 drop_nlink(inode); in reiserfs_symlink()
1156 reiserfs_update_sd(&th, inode); in reiserfs_symlink()
1160 unlock_new_inode(inode); in reiserfs_symlink()
1161 iput(inode); in reiserfs_symlink()
1165 unlock_new_inode(inode); in reiserfs_symlink()
1166 d_instantiate(dentry, inode); in reiserfs_symlink()
1173 static int reiserfs_link(struct dentry *old_dentry, struct inode *dir, in reiserfs_link()
1177 struct inode *inode = d_inode(old_dentry); in reiserfs_link() local
1190 if (inode->i_nlink >= REISERFS_LINK_MAX) { in reiserfs_link()
1197 inc_nlink(inode); in reiserfs_link()
1201 drop_nlink(inode); in reiserfs_link()
1209 dentry->d_name.len, inode, 1 /*visible */ ); in reiserfs_link()
1211 reiserfs_update_inode_transaction(inode); in reiserfs_link()
1216 drop_nlink(inode); in reiserfs_link()
1222 inode->i_ctime = CURRENT_TIME_SEC; in reiserfs_link()
1223 reiserfs_update_sd(&th, inode); in reiserfs_link()
1225 ihold(inode); in reiserfs_link()
1226 d_instantiate(dentry, inode); in reiserfs_link()
1248 struct inode *inode) in entry_points_to_object() argument
1253 if (inode) { in entry_points_to_object()
1255 reiserfs_panic(inode->i_sb, "vs-7042", in entry_points_to_object()
1257 return (de->de_objectid == inode->i_ino) ? 1 : 0; in entry_points_to_object()
1281 static int reiserfs_rename(struct inode *old_dir, struct dentry *old_dentry, in reiserfs_rename()
1282 struct inode *new_dir, struct dentry *new_dentry) in reiserfs_rename()
1290 struct inode *old_inode, *new_dentry_inode; in reiserfs_rename()