p_dir 546 drivers/staging/exfat/exfat.h s32 (*init_dir_entry)(struct super_block *sb, struct chain_t *p_dir, p_dir 548 drivers/staging/exfat/exfat.h s32 (*init_ext_entry)(struct super_block *sb, struct chain_t *p_dir, p_dir 552 drivers/staging/exfat/exfat.h s32 (*find_dir_entry)(struct super_block *sb, struct chain_t *p_dir, p_dir 556 drivers/staging/exfat/exfat.h struct chain_t *p_dir, s32 entry, p_dir 559 drivers/staging/exfat/exfat.h struct chain_t *p_dir, s32 entry, p_dir 562 drivers/staging/exfat/exfat.h struct chain_t *p_dir, s32 entry, p_dir 845 drivers/staging/exfat/exfat.h s32 fat_init_dir_entry(struct super_block *sb, struct chain_t *p_dir, s32 entry, p_dir 847 drivers/staging/exfat/exfat.h s32 exfat_init_dir_entry(struct super_block *sb, struct chain_t *p_dir, p_dir 849 drivers/staging/exfat/exfat.h s32 fat_init_ext_dir_entry(struct super_block *sb, struct chain_t *p_dir, p_dir 853 drivers/staging/exfat/exfat.h s32 exfat_init_ext_dir_entry(struct super_block *sb, struct chain_t *p_dir, p_dir 864 drivers/staging/exfat/exfat.h void fat_delete_dir_entry(struct super_block *sb, struct chain_t *p_dir, p_dir 866 drivers/staging/exfat/exfat.h void exfat_delete_dir_entry(struct super_block *sb, struct chain_t *p_dir, p_dir 869 drivers/staging/exfat/exfat.h s32 find_location(struct super_block *sb, struct chain_t *p_dir, s32 entry, p_dir 873 drivers/staging/exfat/exfat.h struct dentry_t *get_entry_in_dir(struct super_block *sb, struct chain_t *p_dir, p_dir 876 drivers/staging/exfat/exfat.h struct chain_t *p_dir, s32 entry, p_dir 885 drivers/staging/exfat/exfat.h struct chain_t *p_dir, s32 num_entries); p_dir 886 drivers/staging/exfat/exfat.h s32 find_empty_entry(struct inode *inode, struct chain_t *p_dir, p_dir 888 drivers/staging/exfat/exfat.h s32 fat_find_dir_entry(struct super_block *sb, struct chain_t *p_dir, p_dir 891 drivers/staging/exfat/exfat.h s32 exfat_find_dir_entry(struct super_block *sb, struct chain_t *p_dir, p_dir 894 drivers/staging/exfat/exfat.h s32 fat_count_ext_entries(struct super_block *sb, struct chain_t *p_dir, p_dir 896 drivers/staging/exfat/exfat.h s32 exfat_count_ext_entries(struct super_block *sb, struct chain_t *p_dir, p_dir 898 drivers/staging/exfat/exfat.h s32 count_dos_name_entries(struct super_block *sb, struct chain_t *p_dir, p_dir 900 drivers/staging/exfat/exfat.h void update_dir_checksum(struct super_block *sb, struct chain_t *p_dir, p_dir 904 drivers/staging/exfat/exfat.h bool is_dir_empty(struct super_block *sb, struct chain_t *p_dir); p_dir 907 drivers/staging/exfat/exfat.h s32 get_num_entries_and_dos_name(struct super_block *sb, struct chain_t *p_dir, p_dir 914 drivers/staging/exfat/exfat.h struct chain_t *p_dir, s32 entry, p_dir 917 drivers/staging/exfat/exfat.h struct chain_t *p_dir, s32 entry, p_dir 923 drivers/staging/exfat/exfat.h s32 fat_generate_dos_name(struct super_block *sb, struct chain_t *p_dir, p_dir 933 drivers/staging/exfat/exfat.h s32 resolve_path(struct inode *inode, char *path, struct chain_t *p_dir, p_dir 941 drivers/staging/exfat/exfat.h s32 create_dir(struct inode *inode, struct chain_t *p_dir, p_dir 943 drivers/staging/exfat/exfat.h s32 create_file(struct inode *inode, struct chain_t *p_dir, p_dir 945 drivers/staging/exfat/exfat.h void remove_file(struct inode *inode, struct chain_t *p_dir, s32 entry); p_dir 946 drivers/staging/exfat/exfat.h s32 exfat_rename_file(struct inode *inode, struct chain_t *p_dir, s32 old_entry, p_dir 1239 drivers/staging/exfat/exfat_core.c s32 fat_init_dir_entry(struct super_block *sb, struct chain_t *p_dir, s32 entry, p_dir 1245 drivers/staging/exfat/exfat_core.c dos_ep = (struct dos_dentry_t *)get_entry_in_dir(sb, p_dir, entry, p_dir 1256 drivers/staging/exfat/exfat_core.c s32 exfat_init_dir_entry(struct super_block *sb, struct chain_t *p_dir, p_dir 1267 drivers/staging/exfat/exfat_core.c file_ep = (struct file_dentry_t *)get_entry_in_dir(sb, p_dir, entry, p_dir 1272 drivers/staging/exfat/exfat_core.c strm_ep = (struct strm_dentry_t *)get_entry_in_dir(sb, p_dir, entry + 1, p_dir 1286 drivers/staging/exfat/exfat_core.c static s32 fat_init_ext_entry(struct super_block *sb, struct chain_t *p_dir, p_dir 1298 drivers/staging/exfat/exfat_core.c dos_ep = (struct dos_dentry_t *)get_entry_in_dir(sb, p_dir, entry, p_dir 1313 drivers/staging/exfat/exfat_core.c p_dir, p_dir 1324 drivers/staging/exfat/exfat_core.c ext_ep = (struct ext_dentry_t *)get_entry_in_dir(sb, p_dir, p_dir 1337 drivers/staging/exfat/exfat_core.c static s32 exfat_init_ext_entry(struct super_block *sb, struct chain_t *p_dir, p_dir 1349 drivers/staging/exfat/exfat_core.c file_ep = (struct file_dentry_t *)get_entry_in_dir(sb, p_dir, entry, p_dir 1357 drivers/staging/exfat/exfat_core.c strm_ep = (struct strm_dentry_t *)get_entry_in_dir(sb, p_dir, entry + 1, p_dir 1367 drivers/staging/exfat/exfat_core.c name_ep = (struct name_dentry_t *)get_entry_in_dir(sb, p_dir, p_dir 1378 drivers/staging/exfat/exfat_core.c update_dir_checksum(sb, p_dir, entry); p_dir 1486 drivers/staging/exfat/exfat_core.c void fat_delete_dir_entry(struct super_block *sb, struct chain_t *p_dir, p_dir 1495 drivers/staging/exfat/exfat_core.c ep = get_entry_in_dir(sb, p_dir, entry - i, §or); p_dir 1504 drivers/staging/exfat/exfat_core.c void exfat_delete_dir_entry(struct super_block *sb, struct chain_t *p_dir, p_dir 1513 drivers/staging/exfat/exfat_core.c ep = get_entry_in_dir(sb, p_dir, entry + i, §or); p_dir 1522 drivers/staging/exfat/exfat_core.c void update_dir_checksum(struct super_block *sb, struct chain_t *p_dir, p_dir 1531 drivers/staging/exfat/exfat_core.c file_ep = (struct file_dentry_t *)get_entry_in_dir(sb, p_dir, entry, p_dir 1543 drivers/staging/exfat/exfat_core.c ep = get_entry_in_dir(sb, p_dir, entry + i, NULL); p_dir 1579 drivers/staging/exfat/exfat_core.c static s32 _walk_fat_chain(struct super_block *sb, struct chain_t *p_dir, p_dir 1587 drivers/staging/exfat/exfat_core.c cur_clu = p_dir->dir; p_dir 1589 drivers/staging/exfat/exfat_core.c if (p_dir->flags == 0x03) { p_dir 1604 drivers/staging/exfat/exfat_core.c s32 find_location(struct super_block *sb, struct chain_t *p_dir, s32 entry, p_dir 1614 drivers/staging/exfat/exfat_core.c if (p_dir->dir == CLUSTER_32(0)) { /* FAT16 root_dir */ p_dir 1619 drivers/staging/exfat/exfat_core.c ret = _walk_fat_chain(sb, p_dir, off, &clu); p_dir 1649 drivers/staging/exfat/exfat_core.c struct dentry_t *get_entry_in_dir(struct super_block *sb, struct chain_t *p_dir, p_dir 1656 drivers/staging/exfat/exfat_core.c if (find_location(sb, p_dir, entry, &sec, &off) != FFS_SUCCESS) p_dir 1688 drivers/staging/exfat/exfat_core.c struct chain_t *p_dir, s32 entry, p_dir 1706 drivers/staging/exfat/exfat_core.c __func__, p_dir->dir, p_dir->flags, p_dir->size); p_dir 1709 drivers/staging/exfat/exfat_core.c ret = _walk_fat_chain(sb, p_dir, byte_offset, &clu); p_dir 1750 drivers/staging/exfat/exfat_core.c es->alloc_flag = p_dir->flags; p_dir 1961 drivers/staging/exfat/exfat_core.c struct chain_t *p_dir, s32 num_entries) p_dir 1970 drivers/staging/exfat/exfat_core.c if (p_dir->dir == CLUSTER_32(0)) /* FAT16 root_dir */ p_dir 1975 drivers/staging/exfat/exfat_core.c if (p_fs->hint_uentry.dir == p_dir->dir) { p_dir 1987 drivers/staging/exfat/exfat_core.c clu.dir = p_dir->dir; p_dir 1988 drivers/staging/exfat/exfat_core.c clu.size = p_dir->size; p_dir 1989 drivers/staging/exfat/exfat_core.c clu.flags = p_dir->flags; p_dir 1998 drivers/staging/exfat/exfat_core.c if (p_dir->dir == CLUSTER_32(0)) /* FAT16 root_dir */ p_dir 2013 drivers/staging/exfat/exfat_core.c p_fs->hint_uentry.dir = p_dir->dir; p_dir 2037 drivers/staging/exfat/exfat_core.c if (p_dir->dir == CLUSTER_32(0)) p_dir 2054 drivers/staging/exfat/exfat_core.c s32 find_empty_entry(struct inode *inode, struct chain_t *p_dir, s32 num_entries) p_dir 2066 drivers/staging/exfat/exfat_core.c if (p_dir->dir == CLUSTER_32(0)) /* FAT16 root_dir */ p_dir 2067 drivers/staging/exfat/exfat_core.c return search_deleted_or_unused_entry(sb, p_dir, num_entries); p_dir 2069 drivers/staging/exfat/exfat_core.c while ((dentry = search_deleted_or_unused_entry(sb, p_dir, num_entries)) < 0) { p_dir 2074 drivers/staging/exfat/exfat_core.c if (p_dir->dir != p_fs->root_dir) p_dir 2078 drivers/staging/exfat/exfat_core.c last_clu = find_last_cluster(sb, p_dir); p_dir 2081 drivers/staging/exfat/exfat_core.c clu.flags = p_dir->flags; p_dir 2092 drivers/staging/exfat/exfat_core.c if (clu.flags != p_dir->flags) { p_dir 2093 drivers/staging/exfat/exfat_core.c exfat_chain_cont_cluster(sb, p_dir->dir, p_dir->size); p_dir 2094 drivers/staging/exfat/exfat_core.c p_dir->flags = 0x01; p_dir 2102 drivers/staging/exfat/exfat_core.c p_fs->hint_uentry.dir = p_dir->dir; p_dir 2103 drivers/staging/exfat/exfat_core.c p_fs->hint_uentry.entry = p_dir->size << (p_fs->cluster_size_bits - DENTRY_SIZE_BITS); p_dir 2110 drivers/staging/exfat/exfat_core.c p_dir->size++; p_dir 2114 drivers/staging/exfat/exfat_core.c if (p_dir->dir != p_fs->root_dir) { p_dir 2122 drivers/staging/exfat/exfat_core.c p_fs->fs_func->set_entry_flag(ep, p_dir->flags); p_dir 2133 drivers/staging/exfat/exfat_core.c EXFAT_I(inode)->fid.flags = p_dir->flags; p_dir 2145 drivers/staging/exfat/exfat_core.c s32 fat_find_dir_entry(struct super_block *sb, struct chain_t *p_dir, p_dir 2161 drivers/staging/exfat/exfat_core.c if (p_dir->dir == p_fs->root_dir) { p_dir 2169 drivers/staging/exfat/exfat_core.c if (p_dir->dir == CLUSTER_32(0)) /* FAT16 root_dir */ p_dir 2174 drivers/staging/exfat/exfat_core.c clu.dir = p_dir->dir; p_dir 2175 drivers/staging/exfat/exfat_core.c clu.flags = p_dir->flags; p_dir 2228 drivers/staging/exfat/exfat_core.c if (p_dir->dir == CLUSTER_32(0)) p_dir 2243 drivers/staging/exfat/exfat_core.c s32 exfat_find_dir_entry(struct super_block *sb, struct chain_t *p_dir, p_dir 2260 drivers/staging/exfat/exfat_core.c if (p_dir->dir == p_fs->root_dir) { p_dir 2268 drivers/staging/exfat/exfat_core.c if (p_dir->dir == CLUSTER_32(0)) /* FAT16 root_dir */ p_dir 2273 drivers/staging/exfat/exfat_core.c clu.dir = p_dir->dir; p_dir 2274 drivers/staging/exfat/exfat_core.c clu.size = p_dir->size; p_dir 2275 drivers/staging/exfat/exfat_core.c clu.flags = p_dir->flags; p_dir 2277 drivers/staging/exfat/exfat_core.c p_fs->hint_uentry.dir = p_dir->dir; p_dir 2369 drivers/staging/exfat/exfat_core.c if (p_dir->dir == CLUSTER_32(0)) p_dir 2386 drivers/staging/exfat/exfat_core.c s32 fat_count_ext_entries(struct super_block *sb, struct chain_t *p_dir, p_dir 2398 drivers/staging/exfat/exfat_core.c ext_ep = (struct ext_dentry_t *)get_entry_in_dir(sb, p_dir, p_dir 2416 drivers/staging/exfat/exfat_core.c s32 exfat_count_ext_entries(struct super_block *sb, struct chain_t *p_dir, p_dir 2426 drivers/staging/exfat/exfat_core.c ext_ep = get_entry_in_dir(sb, p_dir, entry, NULL); p_dir 2440 drivers/staging/exfat/exfat_core.c s32 count_dos_name_entries(struct super_block *sb, struct chain_t *p_dir, p_dir 2450 drivers/staging/exfat/exfat_core.c if (p_dir->dir == CLUSTER_32(0)) /* FAT16 root_dir */ p_dir 2455 drivers/staging/exfat/exfat_core.c clu.dir = p_dir->dir; p_dir 2456 drivers/staging/exfat/exfat_core.c clu.size = p_dir->size; p_dir 2457 drivers/staging/exfat/exfat_core.c clu.flags = p_dir->flags; p_dir 2480 drivers/staging/exfat/exfat_core.c if (p_dir->dir == CLUSTER_32(0)) p_dir 2497 drivers/staging/exfat/exfat_core.c bool is_dir_empty(struct super_block *sb, struct chain_t *p_dir) p_dir 2506 drivers/staging/exfat/exfat_core.c if (p_dir->dir == CLUSTER_32(0)) /* FAT16 root_dir */ p_dir 2511 drivers/staging/exfat/exfat_core.c clu.dir = p_dir->dir; p_dir 2512 drivers/staging/exfat/exfat_core.c clu.size = p_dir->size; p_dir 2513 drivers/staging/exfat/exfat_core.c clu.flags = p_dir->flags; p_dir 2531 drivers/staging/exfat/exfat_core.c if (p_dir->dir == CLUSTER_32(0)) /* FAT16 root_dir */ p_dir 2536 drivers/staging/exfat/exfat_core.c if ((p_dir->dir == p_fs->root_dir) || ((++count) > 2)) p_dir 2540 drivers/staging/exfat/exfat_core.c if (p_dir->dir == CLUSTER_32(0)) p_dir 2563 drivers/staging/exfat/exfat_core.c s32 get_num_entries_and_dos_name(struct super_block *sb, struct chain_t *p_dir, p_dir 2580 drivers/staging/exfat/exfat_core.c ret = fat_generate_dos_name(sb, p_dir, p_dosname); p_dir 2618 drivers/staging/exfat/exfat_core.c struct chain_t *p_dir, s32 entry, p_dir 2626 drivers/staging/exfat/exfat_core.c ep = (struct ext_dentry_t *)get_entry_in_dir(sb, p_dir, entry, p_dir 2645 drivers/staging/exfat/exfat_core.c struct chain_t *p_dir, s32 entry, p_dir 2653 drivers/staging/exfat/exfat_core.c es = get_entry_set_in_dir(sb, p_dir, entry, ES_ALL_ENTRIES, &ep); p_dir 2743 drivers/staging/exfat/exfat_core.c s32 fat_generate_dos_name(struct super_block *sb, struct chain_t *p_dir, p_dir 2758 drivers/staging/exfat/exfat_core.c if (p_dir->dir == CLUSTER_32(0)) /* FAT16 root_dir */ p_dir 2763 drivers/staging/exfat/exfat_core.c clu.dir = p_dir->dir; p_dir 2764 drivers/staging/exfat/exfat_core.c clu.flags = p_dir->flags; p_dir 2809 drivers/staging/exfat/exfat_core.c if (p_dir->dir == CLUSTER_32(0)) p_dir 2956 drivers/staging/exfat/exfat_core.c s32 resolve_path(struct inode *inode, char *path, struct chain_t *p_dir, p_dir 2973 drivers/staging/exfat/exfat_core.c p_dir->dir = fid->start_clu; p_dir 2974 drivers/staging/exfat/exfat_core.c p_dir->size = (s32)(fid->size >> p_fs->cluster_size_bits); p_dir 2975 drivers/staging/exfat/exfat_core.c p_dir->flags = fid->flags; p_dir 3200 drivers/staging/exfat/exfat_core.c s32 create_dir(struct inode *inode, struct chain_t *p_dir, p_dir 3211 drivers/staging/exfat/exfat_core.c ret = get_num_entries_and_dos_name(sb, p_dir, p_uniname, &num_entries, p_dir 3217 drivers/staging/exfat/exfat_core.c dentry = find_empty_entry(inode, p_dir, num_entries); p_dir 3260 drivers/staging/exfat/exfat_core.c if (p_dir->dir == p_fs->root_dir) p_dir 3265 drivers/staging/exfat/exfat_core.c p_dir->dir, 0); p_dir 3278 drivers/staging/exfat/exfat_core.c ret = fs_func->init_dir_entry(sb, p_dir, dentry, TYPE_DIR, clu.dir, p_dir 3283 drivers/staging/exfat/exfat_core.c ret = fs_func->init_ext_entry(sb, p_dir, dentry, num_entries, p_uniname, p_dir 3288 drivers/staging/exfat/exfat_core.c fid->dir.dir = p_dir->dir; p_dir 3289 drivers/staging/exfat/exfat_core.c fid->dir.size = p_dir->size; p_dir 3290 drivers/staging/exfat/exfat_core.c fid->dir.flags = p_dir->flags; p_dir 3305 drivers/staging/exfat/exfat_core.c s32 create_file(struct inode *inode, struct chain_t *p_dir, p_dir 3314 drivers/staging/exfat/exfat_core.c ret = get_num_entries_and_dos_name(sb, p_dir, p_uniname, &num_entries, p_dir 3320 drivers/staging/exfat/exfat_core.c dentry = find_empty_entry(inode, p_dir, num_entries); p_dir 3328 drivers/staging/exfat/exfat_core.c ret = fs_func->init_dir_entry(sb, p_dir, dentry, TYPE_FILE | mode, p_dir 3333 drivers/staging/exfat/exfat_core.c ret = fs_func->init_ext_entry(sb, p_dir, dentry, num_entries, p_uniname, p_dir 3338 drivers/staging/exfat/exfat_core.c fid->dir.dir = p_dir->dir; p_dir 3339 drivers/staging/exfat/exfat_core.c fid->dir.size = p_dir->size; p_dir 3340 drivers/staging/exfat/exfat_core.c fid->dir.flags = p_dir->flags; p_dir 3355 drivers/staging/exfat/exfat_core.c void remove_file(struct inode *inode, struct chain_t *p_dir, s32 entry) p_dir 3364 drivers/staging/exfat/exfat_core.c ep = get_entry_in_dir(sb, p_dir, entry, §or); p_dir 3371 drivers/staging/exfat/exfat_core.c num_entries = fs_func->count_ext_entries(sb, p_dir, entry, ep); p_dir 3381 drivers/staging/exfat/exfat_core.c fs_func->delete_dir_entry(sb, p_dir, entry, 0, num_entries); p_dir 3384 drivers/staging/exfat/exfat_core.c s32 exfat_rename_file(struct inode *inode, struct chain_t *p_dir, s32 oldentry, p_dir 3395 drivers/staging/exfat/exfat_core.c epold = get_entry_in_dir(sb, p_dir, oldentry, §or_old); p_dir 3402 drivers/staging/exfat/exfat_core.c num_old_entries = fs_func->count_ext_entries(sb, p_dir, oldentry, p_dir 3410 drivers/staging/exfat/exfat_core.c ret = get_num_entries_and_dos_name(sb, p_dir, p_uniname, p_dir 3418 drivers/staging/exfat/exfat_core.c newentry = find_empty_entry(inode, p_dir, num_new_entries); p_dir 3424 drivers/staging/exfat/exfat_core.c epnew = get_entry_in_dir(sb, p_dir, newentry, §or_new); p_dir 3441 drivers/staging/exfat/exfat_core.c epold = get_entry_in_dir(sb, p_dir, oldentry + 1, p_dir 3444 drivers/staging/exfat/exfat_core.c epnew = get_entry_in_dir(sb, p_dir, newentry + 1, p_dir 3457 drivers/staging/exfat/exfat_core.c ret = fs_func->init_ext_entry(sb, p_dir, newentry, p_dir 3463 drivers/staging/exfat/exfat_core.c fs_func->delete_dir_entry(sb, p_dir, oldentry, 0, p_dir 3476 drivers/staging/exfat/exfat_core.c ret = fs_func->init_ext_entry(sb, p_dir, oldentry, p_dir 3482 drivers/staging/exfat/exfat_core.c fs_func->delete_dir_entry(sb, p_dir, oldentry, num_new_entries, p_dir 1222 drivers/staging/exfat/exfat_super.c struct chain_t *p_dir = NULL; p_dir 1280 drivers/staging/exfat/exfat_super.c p_dir = &(new_fid->dir); p_dir 1282 drivers/staging/exfat/exfat_super.c ep = get_entry_in_dir(sb, p_dir, new_entry, NULL); p_dir 1319 drivers/staging/exfat/exfat_super.c ep = get_entry_in_dir(sb, p_dir, new_entry, NULL); p_dir 1323 drivers/staging/exfat/exfat_super.c num_entries = p_fs->fs_func->count_ext_entries(sb, p_dir, p_dir 1327 drivers/staging/exfat/exfat_super.c p_fs->fs_func->delete_dir_entry(sb, p_dir, new_entry, 0,