Lines Matching refs:dir

304 static int reiserfs_find_entry(struct inode *dir, const char *name, int namelen,  in reiserfs_find_entry()  argument
311 if (namelen > REISERFS_MAX_NAME(dir->i_sb->s_blocksize)) in reiserfs_find_entry()
315 make_cpu_key(&key_to_search, dir, in reiserfs_find_entry()
316 get_third_component(dir->i_sb, name, namelen), in reiserfs_find_entry()
321 search_by_entry_key(dir->i_sb, &key_to_search, in reiserfs_find_entry()
324 reiserfs_error(dir->i_sb, "zam-7001", "io error"); in reiserfs_find_entry()
352 static struct dentry *reiserfs_lookup(struct inode *dir, struct dentry *dentry, in reiserfs_lookup() argument
360 if (REISERFS_MAX_NAME(dir->i_sb->s_blocksize) < dentry->d_name.len) in reiserfs_lookup()
363 reiserfs_write_lock(dir->i_sb); in reiserfs_lookup()
367 reiserfs_find_entry(dir, dentry->d_name.name, dentry->d_name.len, in reiserfs_lookup()
371 inode = reiserfs_iget(dir->i_sb, in reiserfs_lookup()
374 reiserfs_write_unlock(dir->i_sb); in reiserfs_lookup()
382 if (IS_PRIVATE(dir)) in reiserfs_lookup()
385 reiserfs_write_unlock(dir->i_sb); in reiserfs_lookup()
403 struct inode *dir = d_inode(child); in reiserfs_get_parent() local
405 if (dir->i_nlink == 0) { in reiserfs_get_parent()
410 reiserfs_write_lock(dir->i_sb); in reiserfs_get_parent()
411 retval = reiserfs_find_entry(dir, "..", 2, &path_to_entry, &de); in reiserfs_get_parent()
414 reiserfs_write_unlock(dir->i_sb); in reiserfs_get_parent()
417 inode = reiserfs_iget(dir->i_sb, (struct cpu_key *)&de.de_dir_id); in reiserfs_get_parent()
418 reiserfs_write_unlock(dir->i_sb); in reiserfs_get_parent()
430 struct inode *dir, const char *name, int namelen, in reiserfs_add_entry() argument
456 if (namelen > REISERFS_MAX_NAME(dir->i_sb->s_blocksize)) in reiserfs_add_entry()
460 make_cpu_key(&entry_key, dir, in reiserfs_add_entry()
461 get_third_component(dir->i_sb, name, namelen), in reiserfs_add_entry()
474 (get_inode_sd_version(dir) == in reiserfs_add_entry()
507 retval = reiserfs_find_entry(dir, name, namelen, &path, &de); in reiserfs_add_entry()
518 reiserfs_error(dir->i_sb, "zam-7002", in reiserfs_add_entry()
531 reiserfs_warning(dir->i_sb, "reiserfs-7010", in reiserfs_add_entry()
548 if (search_by_entry_key(dir->i_sb, &entry_key, &path, &de) != in reiserfs_add_entry()
550 reiserfs_warning(dir->i_sb, "vs-7032", in reiserfs_add_entry()
563 reiserfs_paste_into_item(th, &path, &entry_key, dir, buffer, in reiserfs_add_entry()
572 dir->i_size += paste_size; in reiserfs_add_entry()
573 dir->i_mtime = dir->i_ctime = CURRENT_TIME_SEC; in reiserfs_add_entry()
576 reiserfs_update_sd(th, dir); in reiserfs_add_entry()
603 static int new_inode_init(struct inode *inode, struct inode *dir, umode_t mode) in new_inode_init() argument
615 inode_init_owner(inode, dir, mode); in new_inode_init()
619 static int reiserfs_create(struct inode *dir, struct dentry *dentry, umode_t mode, in reiserfs_create() argument
630 2 * (REISERFS_QUOTA_INIT_BLOCKS(dir->i_sb) + in reiserfs_create()
631 REISERFS_QUOTA_TRANS_BLOCKS(dir->i_sb)); in reiserfs_create()
635 retval = dquot_initialize(dir); in reiserfs_create()
639 if (!(inode = new_inode(dir->i_sb))) { in reiserfs_create()
642 retval = new_inode_init(inode, dir, mode); in reiserfs_create()
648 jbegin_count += reiserfs_cache_default_acl(dir); in reiserfs_create()
649 retval = reiserfs_security_init(dir, inode, &dentry->d_name, &security); in reiserfs_create()
655 reiserfs_write_lock(dir->i_sb); in reiserfs_create()
657 retval = journal_begin(&th, dir->i_sb, jbegin_count); in reiserfs_create()
664 reiserfs_new_inode(&th, dir, mode, NULL, 0 /*i_size */ , dentry, in reiserfs_create()
674 reiserfs_add_entry(&th, dir, dentry->d_name.name, in reiserfs_create()
688 reiserfs_update_inode_transaction(dir); in reiserfs_create()
695 reiserfs_write_unlock(dir->i_sb); in reiserfs_create()
699 static int reiserfs_mknod(struct inode *dir, struct dentry *dentry, umode_t mode, in reiserfs_mknod() argument
712 2 * (REISERFS_QUOTA_INIT_BLOCKS(dir->i_sb) + in reiserfs_mknod()
713 REISERFS_QUOTA_TRANS_BLOCKS(dir->i_sb)); in reiserfs_mknod()
715 retval = dquot_initialize(dir); in reiserfs_mknod()
719 if (!(inode = new_inode(dir->i_sb))) { in reiserfs_mknod()
722 retval = new_inode_init(inode, dir, mode); in reiserfs_mknod()
728 jbegin_count += reiserfs_cache_default_acl(dir); in reiserfs_mknod()
729 retval = reiserfs_security_init(dir, inode, &dentry->d_name, &security); in reiserfs_mknod()
735 reiserfs_write_lock(dir->i_sb); in reiserfs_mknod()
737 retval = journal_begin(&th, dir->i_sb, jbegin_count); in reiserfs_mknod()
744 reiserfs_new_inode(&th, dir, mode, NULL, 0 /*i_size */ , dentry, in reiserfs_mknod()
757 reiserfs_update_inode_transaction(dir); in reiserfs_mknod()
760 reiserfs_add_entry(&th, dir, dentry->d_name.name, in reiserfs_mknod()
779 reiserfs_write_unlock(dir->i_sb); in reiserfs_mknod()
783 static int reiserfs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode) in reiserfs_mkdir() argument
795 2 * (REISERFS_QUOTA_INIT_BLOCKS(dir->i_sb) + in reiserfs_mkdir()
796 REISERFS_QUOTA_TRANS_BLOCKS(dir->i_sb)); in reiserfs_mkdir()
798 retval = dquot_initialize(dir); in reiserfs_mkdir()
807 REISERFS_I(dir)->new_packing_locality = 1; in reiserfs_mkdir()
810 if (!(inode = new_inode(dir->i_sb))) { in reiserfs_mkdir()
813 retval = new_inode_init(inode, dir, mode); in reiserfs_mkdir()
819 jbegin_count += reiserfs_cache_default_acl(dir); in reiserfs_mkdir()
820 retval = reiserfs_security_init(dir, inode, &dentry->d_name, &security); in reiserfs_mkdir()
826 reiserfs_write_lock(dir->i_sb); in reiserfs_mkdir()
828 retval = journal_begin(&th, dir->i_sb, jbegin_count); in reiserfs_mkdir()
838 INC_DIR_INODE_NLINK(dir) in reiserfs_mkdir()
840 retval = reiserfs_new_inode(&th, dir, mode, NULL /*symlink */ , in reiserfs_mkdir()
841 old_format_only(dir->i_sb) ? in reiserfs_mkdir()
845 DEC_DIR_INODE_NLINK(dir) in reiserfs_mkdir()
850 reiserfs_update_inode_transaction(dir); in reiserfs_mkdir()
857 reiserfs_add_entry(&th, dir, dentry->d_name.name, in reiserfs_mkdir()
862 DEC_DIR_INODE_NLINK(dir); in reiserfs_mkdir()
872 reiserfs_update_sd(&th, dir); in reiserfs_mkdir()
878 reiserfs_write_unlock(dir->i_sb); in reiserfs_mkdir()
897 static int reiserfs_rmdir(struct inode *dir, struct dentry *dentry) in reiserfs_rmdir() argument
914 4 * REISERFS_QUOTA_TRANS_BLOCKS(dir->i_sb); in reiserfs_rmdir()
916 retval = dquot_initialize(dir); in reiserfs_rmdir()
920 reiserfs_write_lock(dir->i_sb); in reiserfs_rmdir()
921 retval = journal_begin(&th, dir->i_sb, jbegin_count); in reiserfs_rmdir()
927 reiserfs_find_entry(dir, dentry->d_name.name, dentry->d_name.len, in reiserfs_rmdir()
939 reiserfs_update_inode_transaction(dir); in reiserfs_rmdir()
955 dir, NULL, /* page */ in reiserfs_rmdir()
966 inode->i_ctime = dir->i_ctime = dir->i_mtime = CURRENT_TIME_SEC; in reiserfs_rmdir()
969 DEC_DIR_INODE_NLINK(dir) in reiserfs_rmdir()
970 dir->i_size -= (DEH_SIZE + de.de_entrylen); in reiserfs_rmdir()
971 reiserfs_update_sd(&th, dir); in reiserfs_rmdir()
979 reiserfs_write_unlock(dir->i_sb); in reiserfs_rmdir()
990 reiserfs_write_unlock(dir->i_sb); in reiserfs_rmdir()
994 static int reiserfs_unlink(struct inode *dir, struct dentry *dentry) in reiserfs_unlink() argument
1004 retval = dquot_initialize(dir); in reiserfs_unlink()
1019 4 * REISERFS_QUOTA_TRANS_BLOCKS(dir->i_sb); in reiserfs_unlink()
1021 reiserfs_write_lock(dir->i_sb); in reiserfs_unlink()
1022 retval = journal_begin(&th, dir->i_sb, jbegin_count); in reiserfs_unlink()
1028 reiserfs_find_entry(dir, dentry->d_name.name, dentry->d_name.len, in reiserfs_unlink()
1038 reiserfs_update_inode_transaction(dir); in reiserfs_unlink()
1064 reiserfs_cut_from_item(&th, &path, &de.de_entry_key, dir, NULL, in reiserfs_unlink()
1073 dir->i_size -= (de.de_entrylen + DEH_SIZE); in reiserfs_unlink()
1074 dir->i_ctime = dir->i_mtime = CURRENT_TIME_SEC; in reiserfs_unlink()
1075 reiserfs_update_sd(&th, dir); in reiserfs_unlink()
1083 reiserfs_write_unlock(dir->i_sb); in reiserfs_unlink()
1093 reiserfs_write_unlock(dir->i_sb); in reiserfs_unlink()
1197 static int reiserfs_link(struct dentry *old_dentry, struct inode *dir, in reiserfs_link() argument
1209 2 * REISERFS_QUOTA_TRANS_BLOCKS(dir->i_sb); in reiserfs_link()
1211 retval = dquot_initialize(dir); in reiserfs_link()
1215 reiserfs_write_lock(dir->i_sb); in reiserfs_link()
1218 reiserfs_write_unlock(dir->i_sb); in reiserfs_link()
1225 retval = journal_begin(&th, dir->i_sb, jbegin_count); in reiserfs_link()
1228 reiserfs_write_unlock(dir->i_sb); in reiserfs_link()
1234 reiserfs_add_entry(&th, dir, dentry->d_name.name, in reiserfs_link()
1238 reiserfs_update_inode_transaction(dir); in reiserfs_link()
1244 reiserfs_write_unlock(dir->i_sb); in reiserfs_link()
1254 reiserfs_write_unlock(dir->i_sb); in reiserfs_link()