Lines Matching refs:dir

228 	while (clu.dir != EXFAT_EOF_CLUSTER) {  in exfat_search_empty_slot()
244 clu.dir, clu.size, clu.flags); in exfat_search_empty_slot()
260 p_dir->dir, clu.dir); in exfat_search_empty_slot()
277 clu.dir++; in exfat_search_empty_slot()
279 clu.dir = EXFAT_EOF_CLUSTER; in exfat_search_empty_slot()
281 if (exfat_get_next_cluster(sb, &clu.dir)) in exfat_search_empty_slot()
347 if (exfat_zeroed_cluster(inode, clu.dir)) in exfat_find_empty_entry()
355 exfat_chain_cont_cluster(sb, p_dir->dir, p_dir->size); in exfat_find_empty_entry()
361 if (exfat_ent_set(sb, last_clu, clu.dir)) in exfat_find_empty_entry()
371 exfat_chain_set(&hint_femp.cur, clu.dir, 0, clu.flags); in exfat_find_empty_entry()
378 if (p_dir->dir != sbi->root_dir) { in exfat_find_empty_entry()
382 &(ei->dir), ei->entry + 1, &bh, &sector); in exfat_find_empty_entry()
391 if (exfat_update_dir_chksum(inode, &(ei->dir), in exfat_find_empty_entry()
453 const unsigned char *path, struct exfat_chain *dir, in exfat_resolve_path() argument
456 return __exfat_resolve_path(inode, path, dir, uni, 0); in exfat_resolve_path()
460 const unsigned char *path, struct exfat_chain *dir, in exfat_resolve_path_for_lookup() argument
463 return __exfat_resolve_path(inode, path, dir, uni, 1); in exfat_resolve_path_for_lookup()
468 return ((loff_t) info->dir.dir << 32) | (info->entry & 0xffffffff); in exfat_make_i_pos()
504 start_clu = clu.dir; in exfat_add_entry()
521 info->dir = *p_dir; in exfat_add_entry()
544 static int exfat_create(struct user_namespace *mnt_userns, struct inode *dir, in exfat_create() argument
547 struct super_block *sb = dir->i_sb; in exfat_create()
556 err = exfat_add_entry(dir, dentry->d_name.name, &cdir, TYPE_FILE, in exfat_create()
562 inode_inc_iversion(dir); in exfat_create()
563 dir->i_ctime = dir->i_mtime = current_time(dir); in exfat_create()
564 if (IS_DIRSYNC(dir)) in exfat_create()
565 exfat_sync_inode(dir); in exfat_create()
567 mark_inode_dirty(dir); in exfat_create()
588 static int exfat_find(struct inode *dir, struct qstr *qname, in exfat_find() argument
594 struct super_block *sb = dir->i_sb; in exfat_find()
596 struct exfat_inode_info *ei = EXFAT_I(dir); in exfat_find()
606 ret = exfat_resolve_path_for_lookup(dir, qname->name, &cdir, &uni_name); in exfat_find()
615 if (ei->version != (inode_peek_iversion_raw(dir) & 0xffffffff)) { in exfat_find()
616 ei->hint_stat.clu = cdir.dir; in exfat_find()
618 ei->version = (inode_peek_iversion_raw(dir) & 0xffffffff); in exfat_find()
629 info->dir = cdir; in exfat_find()
634 cdir.dir = hint_opt.clu; in exfat_find()
676 i_size_read(dir), ei->dir.dir, ei->entry); in exfat_find()
697 static struct dentry *exfat_lookup(struct inode *dir, struct dentry *dentry, in exfat_lookup() argument
700 struct super_block *sb = dir->i_sb; in exfat_lookup()
709 err = exfat_find(dir, &dentry->d_name, &info); in exfat_lookup()
765 exfat_d_version_set(dentry, inode_query_iversion(dir)); in exfat_lookup()
774 static int exfat_unlink(struct inode *dir, struct dentry *dentry) in exfat_unlink() argument
778 struct super_block *sb = dir->i_sb; in exfat_unlink()
786 exfat_chain_dup(&cdir, &ei->dir); in exfat_unlink()
788 if (ei->dir.dir == DIR_DELETED) { in exfat_unlink()
810 if (exfat_remove_entries(dir, &cdir, entry, 0, num_entries)) { in exfat_unlink()
816 ei->dir.dir = DIR_DELETED; in exfat_unlink()
819 inode_inc_iversion(dir); in exfat_unlink()
820 dir->i_mtime = dir->i_atime = current_time(dir); in exfat_unlink()
821 exfat_truncate_atime(&dir->i_atime); in exfat_unlink()
822 if (IS_DIRSYNC(dir)) in exfat_unlink()
823 exfat_sync_inode(dir); in exfat_unlink()
825 mark_inode_dirty(dir); in exfat_unlink()
831 exfat_d_version_set(dentry, inode_query_iversion(dir)); in exfat_unlink()
837 static int exfat_mkdir(struct user_namespace *mnt_userns, struct inode *dir, in exfat_mkdir() argument
840 struct super_block *sb = dir->i_sb; in exfat_mkdir()
849 err = exfat_add_entry(dir, dentry->d_name.name, &cdir, TYPE_DIR, in exfat_mkdir()
855 inode_inc_iversion(dir); in exfat_mkdir()
856 dir->i_ctime = dir->i_mtime = current_time(dir); in exfat_mkdir()
857 if (IS_DIRSYNC(dir)) in exfat_mkdir()
858 exfat_sync_inode(dir); in exfat_mkdir()
860 mark_inode_dirty(dir); in exfat_mkdir()
861 inc_nlink(dir); in exfat_mkdir()
896 while (clu.dir != EXFAT_EOF_CLUSTER) { in exfat_check_dir_empty()
914 clu.dir++; in exfat_check_dir_empty()
916 clu.dir = EXFAT_EOF_CLUSTER; in exfat_check_dir_empty()
918 if (exfat_get_next_cluster(sb, &(clu.dir))) in exfat_check_dir_empty()
926 static int exfat_rmdir(struct inode *dir, struct dentry *dentry) in exfat_rmdir() argument
940 exfat_chain_dup(&cdir, &ei->dir); in exfat_rmdir()
943 if (ei->dir.dir == DIR_DELETED) { in exfat_rmdir()
976 err = exfat_remove_entries(dir, &cdir, entry, 0, num_entries); in exfat_rmdir()
981 ei->dir.dir = DIR_DELETED; in exfat_rmdir()
984 inode_inc_iversion(dir); in exfat_rmdir()
985 dir->i_mtime = dir->i_atime = current_time(dir); in exfat_rmdir()
986 exfat_truncate_atime(&dir->i_atime); in exfat_rmdir()
987 if (IS_DIRSYNC(dir)) in exfat_rmdir()
988 exfat_sync_inode(dir); in exfat_rmdir()
990 mark_inode_dirty(dir); in exfat_rmdir()
991 drop_nlink(dir); in exfat_rmdir()
997 exfat_d_version_set(dentry, inode_query_iversion(dir)); in exfat_rmdir()
1155 exfat_chain_set(&ei->dir, p_newdir->dir, p_newdir->size, in exfat_move_file()
1175 if (unlikely(parent_ei->flags != ei->dir.flags || in exfat_update_parent_info()
1176 parent_isize != EXFAT_CLU_TO_B(ei->dir.size, sbi) || in exfat_update_parent_info()
1177 parent_ei->start_clu != ei->dir.dir)) { in exfat_update_parent_info()
1178 exfat_chain_set(&ei->dir, parent_ei->start_clu, in exfat_update_parent_info()
1209 if (ei->dir.dir == DIR_DELETED) { in __exfat_rename()
1216 exfat_chain_dup(&olddir, &ei->dir); in __exfat_rename()
1231 if (new_ei->dir.dir == DIR_DELETED) { in __exfat_rename()
1238 p_dir = &(new_ei->dir); in __exfat_rename()
1251 new_clu.dir = new_ei->start_clu; in __exfat_rename()
1271 if (olddir.dir == newdir.dir) in __exfat_rename()
1322 new_ei->dir.dir = DIR_DELETED; in __exfat_rename()
1364 i_pos = ((loff_t)EXFAT_I(old_inode)->dir.dir << 32) | in exfat_rename()