• Home
  • Raw
  • Download

Lines Matching refs:dir_ent

333 	struct dir_ent *(_readdir)(struct dir_info *), int);
822 char *_pathname(struct dir_ent *dir_ent, char *pathname, int *size) in _pathname() argument
832 dir_ent->our_dir->pathname, in _pathname()
833 dir_ent->source_name ? : dir_ent->name); in _pathname()
854 char *pathname(struct dir_ent *dir_ent) in pathname() argument
859 if (dir_ent->nonstandard_pathname) in pathname()
860 return dir_ent->nonstandard_pathname; in pathname()
862 return pathname = _pathname(dir_ent, pathname, &size); in pathname()
866 char *pathname_reader(struct dir_ent *dir_ent) in pathname_reader() argument
871 if (dir_ent->nonstandard_pathname) in pathname_reader()
872 return dir_ent->nonstandard_pathname; in pathname_reader()
874 return pathname = _pathname(dir_ent, pathname, &size); in pathname_reader()
878 char *subpathname(struct dir_ent *dir_ent) in subpathname() argument
891 if(dir_ent->our_dir->subpath[0] != '\0') in subpathname()
893 dir_ent->our_dir->subpath, dir_ent->name); in subpathname()
895 res = snprintf(subpath, size, "/%s", dir_ent->name); in subpathname()
924 return dir->depth ? get_inode_no(dir->dir_ent->inode) : inode_no; in get_parent_no()
967 struct dir_ent *dir_ent, int type, long long byte_size, in create_inode() argument
971 struct stat *buf = &dir_ent->inode->buf; in create_inode()
975 char *filename = pathname(dir_ent); in create_inode()
976 int nlink = dir_ent->inode->nlink; in create_inode()
977 int xattr = read_xattrs(dir_ent); in create_inode()
981 if(dir_ent->inode->nlink > 1 || in create_inode()
1020 base->inode_number = get_inode_no(dir_ent->inode); in create_inode()
1050 sub_path = subpathname(dir_ent); in create_inode()
1090 sub_path = subpathname(dir_ent); in create_inode()
1110 dir->nlink = dir_ent->dir->directory_count + 2; in create_inode()
1115 dir->parent_inode = get_parent_no(dir_ent->our_dir); in create_inode()
1128 start_block, offset, dir_ent->dir->directory_count + 2); in create_inode()
1134 dir->nlink = dir_ent->dir->directory_count + 2; in create_inode()
1138 dir->parent_inode = get_parent_no(dir_ent->our_dir); in create_inode()
1142 offset, dir_ent->dir->directory_count + 2); in create_inode()
1195 int byte = strlen(dir_ent->inode->symlink); in create_inode()
1202 strncpy(inode + off, dir_ent->inode->symlink, byte); in create_inode()
1208 int byte = strlen(dir_ent->inode->symlink); in create_inode()
1216 strncpy(inode + off, dir_ent->inode->symlink, byte); in create_inode()
1414 create_inode(inode, dir_info, dir_info->dir_ent, SQUASHFS_DIR_TYPE, in write_dir()
1719 struct dir_ent *dir_ent) in get_and_fill_fragment() argument
1727 fragment = eval_frag_actions(root_dir, dir_ent); in get_and_fill_fragment()
2222 void reader_read_process(struct dir_ent *dir_ent) in reader_read_process() argument
2225 struct inode_info *inode = dir_ent->inode; in reader_read_process()
2305 void reader_read_file(struct dir_ent *dir_ent) in reader_read_file() argument
2307 struct stat *buf = &dir_ent->inode->buf, buf2; in reader_read_file()
2311 struct inode_info *inode = dir_ent->inode; in reader_read_file()
2322 file = open(pathname_reader(dir_ent), O_RDONLY); in reader_read_file()
2394 pathname_reader(dir_ent), strerror(errno)); in reader_read_file()
2414 struct dir_ent *dir_ent = dir->list; in reader_scan() local
2416 for(; dir_ent; dir_ent = dir_ent->next) { in reader_scan()
2417 struct stat *buf = &dir_ent->inode->buf; in reader_scan()
2418 if(dir_ent->inode->root_entry) in reader_scan()
2421 if(IS_PSEUDO_PROCESS(dir_ent->inode)) { in reader_scan()
2422 reader_read_process(dir_ent); in reader_scan()
2428 reader_read_file(dir_ent); in reader_scan()
2431 reader_scan(dir_ent->dir); in reader_scan()
2602 void write_file_empty(squashfs_inode *inode, struct dir_ent *dir_ent, in write_file_empty() argument
2608 create_inode(inode, NULL, dir_ent, SQUASHFS_FILE_TYPE, 0, 0, 0, in write_file_empty()
2613 void write_file_frag(squashfs_inode *inode, struct dir_ent *dir_ent, in write_file_frag() argument
2624 fragment = get_and_fill_fragment(file_buffer, dir_ent); in write_file_frag()
2640 create_inode(inode, NULL, dir_ent, SQUASHFS_FILE_TYPE, size, 0, in write_file_frag()
2648 int write_file_process(squashfs_inode *inode, struct dir_ent *dir_ent, in write_file_process() argument
2696 fragment = get_and_fill_fragment(fragment_buffer, dir_ent); in write_file_process()
2706 create_inode(inode, NULL, dir_ent, SQUASHFS_FILE_TYPE, read_size, start, in write_file_process()
2738 int write_file_blocks_dup(squashfs_inode *inode, struct dir_ent *dir_ent, in write_file_blocks_dup() argument
2810 fragment = get_and_fill_fragment(fragment_buffer, dir_ent); in write_file_blocks_dup()
2844 if(sparse && (dir_ent->inode->buf.st_blocks << 9) >= read_size) in write_file_blocks_dup()
2847 create_inode(inode, NULL, dir_ent, SQUASHFS_FILE_TYPE, read_size, in write_file_blocks_dup()
2880 int write_file_blocks(squashfs_inode *inode, struct dir_ent *dir_ent, in write_file_blocks() argument
2893 return write_file_blocks_dup(inode, dir_ent, read_buffer, dup); in write_file_blocks()
2940 fragment = get_and_fill_fragment(fragment_buffer, dir_ent); in write_file_blocks()
2958 if(sparse && (dir_ent->inode->buf.st_blocks << 9) >= read_size) in write_file_blocks()
2961 create_inode(inode, NULL, dir_ent, SQUASHFS_FILE_TYPE, read_size, start, in write_file_blocks()
2993 void write_file(squashfs_inode *inode, struct dir_ent *dir, int *dup) in write_file()
3187 static inline struct dir_ent *create_dir_entry(char *name, char *source_name, in create_dir_entry()
3190 struct dir_ent *dir_ent = malloc(sizeof(struct dir_ent)); in create_dir_entry() local
3191 if(dir_ent == NULL) in create_dir_entry()
3194 dir_ent->name = name; in create_dir_entry()
3195 dir_ent->source_name = source_name; in create_dir_entry()
3196 dir_ent->nonstandard_pathname = nonstandard_pathname; in create_dir_entry()
3197 dir_ent->our_dir = dir; in create_dir_entry()
3198 dir_ent->inode = NULL; in create_dir_entry()
3199 dir_ent->next = NULL; in create_dir_entry()
3202 dir_ent->capabilities = 0; in create_dir_entry()
3206 return dir_ent; in create_dir_entry()
3210 static inline void add_dir_entry(struct dir_ent *dir_ent, struct dir_info *sub_dir, in add_dir_entry() argument
3213 struct dir_info *dir = dir_ent->our_dir; in add_dir_entry()
3216 sub_dir->dir_ent = dir_ent; in add_dir_entry()
3225 alloc_mounted_path(mount_point, subpathname(dir_ent), &mounted_path); in add_dir_entry()
3229 …android_fs_config(fs_config_func, rel_path, &inode_info->buf, target_out_path, &dir_ent->capabilit… in add_dir_entry()
3232 …android_fs_config(fs_config_func, pathname(dir_ent), &inode_info->buf, target_out_path, &dir_ent->… in add_dir_entry()
3238 dir_ent->inode = inode_info; in add_dir_entry()
3239 dir_ent->dir = sub_dir; in add_dir_entry()
3241 dir_ent->next = dir->list; in add_dir_entry()
3242 dir->list = dir_ent; in add_dir_entry()
3250 struct dir_ent *dir_ent = create_dir_entry(name, source_name, in add_dir_entry2() local
3254 add_dir_entry(dir_ent, sub_dir, inode_info); in add_dir_entry2()
3258 static inline void free_dir_entry(struct dir_ent *dir_ent) in free_dir_entry() argument
3260 if(dir_ent->name) in free_dir_entry()
3261 free(dir_ent->name); in free_dir_entry()
3263 if(dir_ent->source_name) in free_dir_entry()
3264 free(dir_ent->source_name); in free_dir_entry()
3266 if(dir_ent->nonstandard_pathname) in free_dir_entry()
3267 free(dir_ent->nonstandard_pathname); in free_dir_entry()
3272 if(dir_ent->inode && !dir_ent->inode->root_entry) in free_dir_entry()
3273 dir_ent->inode->nlink --; in free_dir_entry()
3275 free(dir_ent); in free_dir_entry()
3286 struct dir_ent *(_readdir)(struct dir_info *), int progress) in dir_scan()
3289 struct dir_ent *dir_ent; in dir_scan() local
3302 dir_ent = create_dir_entry("", NULL, pathname, in dir_scan()
3317 dir_ent->inode = lookup_inode2(&buf, PSEUDO_FILE_OTHER, 0); in dir_scan()
3333 dir_ent->inode = lookup_inode(&buf); in dir_scan()
3338 dir_ent->capabilities = caps; in dir_scan()
3340 …android_fs_config(fs_config_func, "", &dir_ent->inode->buf, target_out_path, &dir_ent->capabilitie… in dir_scan()
3345 dir_ent->dir = root_dir; in dir_scan()
3346 root_dir->dir_ent = dir_ent; in dir_scan()
3379 alloc_inode_no(dir_ent->inode, root_inode_number); in dir_scan()
3381 eval_actions(root_dir, dir_ent); in dir_scan()
3385 &root_dir->dir_ent->inode->buf); in dir_scan()
3408 dir_ent->inode->inode = *inode; in dir_scan()
3409 dir_ent->inode->type = SQUASHFS_DIR_TYPE; in dir_scan()
3448 struct dir_ent *scan1_encomp_readdir(struct dir_info *dir) in scan1_encomp_readdir()
3477 struct dir_ent *dir_ent = dir->list; in scan1_encomp_readdir() local
3479 for(; dir_ent && strcmp(dir_ent->name, dir_name) != 0; in scan1_encomp_readdir()
3480 dir_ent = dir_ent->next); in scan1_encomp_readdir()
3481 if(dir_ent == NULL) in scan1_encomp_readdir()
3502 struct dir_ent *scan1_single_readdir(struct dir_info *dir) in scan1_single_readdir()
3522 struct dir_ent *dir_ent = dir->list; in scan1_single_readdir() local
3524 for(; dir_ent && strcmp(dir_ent->name, dir_name) != 0; in scan1_single_readdir()
3525 dir_ent = dir_ent->next); in scan1_single_readdir()
3526 if(dir_ent == NULL) in scan1_single_readdir()
3547 struct dir_ent *scan1_readdir(struct dir_info *dir) in scan1_readdir()
3566 struct dir_ent *(_readdir)(struct dir_info *), int depth) in dir_scan1()
3569 struct dir_ent *dir_ent; in dir_scan1() local
3577 while((dir_ent = _readdir(dir))) { in dir_scan1()
3581 char *filename = pathname(dir_ent); in dir_scan1()
3583 char *dir_name = dir_ent->name; in dir_scan1()
3586 free_dir_entry(dir_ent); in dir_scan1()
3594 free_dir_entry(dir_ent); in dir_scan1()
3608 free_dir_entry(dir_ent); in dir_scan1()
3615 free_dir_entry(dir_ent); in dir_scan1()
3620 subpath = subpathname(dir_ent); in dir_scan1()
3623 &buf, depth, dir_ent)) { in dir_scan1()
3625 free_dir_entry(dir_ent); in dir_scan1()
3633 subpath = subpathname(dir_ent); in dir_scan1()
3639 add_dir_entry(dir_ent, sub_dir, in dir_scan1()
3642 free_dir_entry(dir_ent); in dir_scan1()
3661 add_dir_entry(dir_ent, NULL, lookup_inode3(&buf, in dir_scan1()
3667 add_dir_entry(dir_ent, NULL, lookup_inode(&buf)); in dir_scan1()
3683 struct dir_ent *scan2_readdir(struct dir_info *dir, struct dir_ent *dir_ent) in scan2_readdir() argument
3685 if (dir_ent == NULL) in scan2_readdir()
3686 dir_ent = dir->list; in scan2_readdir()
3688 dir_ent = dir_ent->next; in scan2_readdir()
3690 for(; dir_ent && dir_ent->inode->root_entry; dir_ent = dir_ent->next); in scan2_readdir()
3692 return dir_ent; in scan2_readdir()
3696 struct dir_ent *scan2_lookup(struct dir_info *dir, char *name) in scan2_lookup()
3698 struct dir_ent *dir_ent = dir->list; in scan2_lookup() local
3700 for(; dir_ent && strcmp(dir_ent->name, name) != 0; in scan2_lookup()
3701 dir_ent = dir_ent->next); in scan2_lookup()
3703 return dir_ent; in scan2_lookup()
3709 struct dir_ent *dir_ent = NULL; in dir_scan2() local
3714 while((dir_ent = scan2_readdir(dir, dir_ent)) != NULL) { in dir_scan2()
3715 struct inode_info *inode_info = dir_ent->inode; in dir_scan2()
3717 char *name = dir_ent->name; in dir_scan2()
3719 eval_actions(root_dir, dir_ent); in dir_scan2()
3722 dir_scan2(dir_ent->dir, pseudo_subdir(name, pseudo)); in dir_scan2()
3726 dir_ent = scan2_lookup(dir, pseudo_ent->name); in dir_scan2()
3729 if(dir_ent == NULL) { in dir_scan2()
3736 if(dir_ent->inode->root_entry) { in dir_scan2()
3744 buf = &dir_ent->inode->buf; in dir_scan2()
3752 if(dir_ent) { in dir_scan2()
3753 if(dir_ent->inode->root_entry) { in dir_scan2()
3763 pathname(dir_ent)); in dir_scan2()
3780 struct dir_ent *dir_ent = in dir_scan2() local
3783 char *subpath = strdup(subpathname(dir_ent)); in dir_scan2()
3796 add_dir_entry(dir_ent, sub_dir, in dir_scan2()
3818 struct dir_ent *dir_ent = NULL; in dir_scan3() local
3820 while((dir_ent = scan2_readdir(dir, dir_ent)) != NULL) { in dir_scan3()
3822 eval_move_actions(root_dir, dir_ent); in dir_scan3()
3824 if((dir_ent->inode->buf.st_mode & S_IFMT) == S_IFDIR) in dir_scan3()
3825 dir_scan3(dir_ent->dir); in dir_scan3()
3840 struct dir_ent *dir_ent = dir->list; in free_dir() local
3842 while(dir_ent) { in free_dir()
3843 struct dir_ent *tmp = dir_ent; in free_dir()
3845 if((dir_ent->inode->buf.st_mode & S_IFMT) == S_IFDIR) in free_dir()
3846 free_dir(dir_ent->dir); in free_dir()
3848 dir_ent = dir_ent->next; in free_dir()
3860 struct dir_ent *dir_ent = dir->list, *prev = NULL; in dir_scan4() local
3862 while(dir_ent) { in dir_scan4()
3863 if(dir_ent->inode->root_entry) { in dir_scan4()
3864 prev = dir_ent; in dir_scan4()
3865 dir_ent = dir_ent->next; in dir_scan4()
3869 if((dir_ent->inode->buf.st_mode & S_IFMT) == S_IFDIR) in dir_scan4()
3870 dir_scan4(dir_ent->dir); in dir_scan4()
3872 if(eval_prune_actions(root_dir, dir_ent)) { in dir_scan4()
3873 struct dir_ent *tmp = dir_ent; in dir_scan4()
3875 if((dir_ent->inode->buf.st_mode & S_IFMT) == S_IFDIR) { in dir_scan4()
3876 free_dir(dir_ent->dir); in dir_scan4()
3883 dir_ent = dir_ent->next; in dir_scan4()
3885 prev->next = dir_ent; in dir_scan4()
3887 dir->list = dir_ent; in dir_scan4()
3896 prev = dir_ent; in dir_scan4()
3897 dir_ent = dir_ent->next; in dir_scan4()
3910 struct dir_ent *dir_ent = dir->list, *prev = NULL; in dir_scan5() local
3912 while(dir_ent) { in dir_scan5()
3913 if(dir_ent->inode->root_entry) { in dir_scan5()
3914 prev = dir_ent; in dir_scan5()
3915 dir_ent = dir_ent->next; in dir_scan5()
3919 if((dir_ent->inode->buf.st_mode & S_IFMT) == S_IFDIR) { in dir_scan5()
3920 dir_scan5(dir_ent->dir); in dir_scan5()
3922 if(eval_empty_actions(root_dir, dir_ent)) { in dir_scan5()
3923 struct dir_ent *tmp = dir_ent; in dir_scan5()
3929 free(dir_ent->dir->pathname); in dir_scan5()
3930 free(dir_ent->dir->subpath); in dir_scan5()
3931 free(dir_ent->dir); in dir_scan5()
3934 dir_ent = dir_ent->next; in dir_scan5()
3936 prev->next = dir_ent; in dir_scan5()
3938 dir->list = dir_ent; in dir_scan5()
3951 prev = dir_ent; in dir_scan5()
3952 dir_ent = dir_ent->next; in dir_scan5()
3973 struct dir_ent *cur, *l1, *l2, *next; in sort_directory()
4053 struct dir_ent *dir_ent; in dir_scan6() local
4058 for(dir_ent = dir->list; dir_ent; dir_ent = dir_ent->next) { in dir_scan6()
4059 byte_count += strlen(dir_ent->name) + in dir_scan6()
4062 if(dir_ent->inode->root_entry) in dir_scan6()
4065 alloc_inode_no(dir_ent->inode, 0); in dir_scan6()
4067 if((dir_ent->inode->buf.st_mode & S_IFMT) == S_IFDIR) in dir_scan6()
4068 dir_scan6(dir_ent->dir); in dir_scan6()
4095 struct dir_ent *scan7_readdir(struct directory *dir, struct dir_info *dir_info, in scan7_readdir()
4096 struct dir_ent *dir_ent) in scan7_readdir() argument
4098 if (dir_ent == NULL) in scan7_readdir()
4099 dir_ent = dir_info->list; in scan7_readdir()
4101 dir_ent = dir_ent->next; in scan7_readdir()
4103 for(; dir_ent && dir_ent->inode->root_entry; dir_ent = dir_ent->next) in scan7_readdir()
4104 add_dir(dir_ent->inode->inode, dir_ent->inode->inode_number, in scan7_readdir()
4105 dir_ent->name, dir_ent->inode->type, dir); in scan7_readdir()
4107 return dir_ent; in scan7_readdir()
4124 struct dir_ent *dir_ent = NULL; in dir_scan7() local
4128 while((dir_ent = scan7_readdir(&dir, dir_info, dir_ent)) != NULL) { in dir_scan7()
4129 struct stat *buf = &dir_ent->inode->buf; in dir_scan7()
4131 update_info(dir_ent); in dir_scan7()
4133 if(dir_ent->inode->inode == SQUASHFS_INVALID_BLK) { in dir_scan7()
4137 write_file(inode, dir_ent, in dir_scan7()
4141 subpathname(dir_ent), in dir_scan7()
4149 dir_scan7(inode, dir_ent->dir); in dir_scan7()
4154 create_inode(inode, NULL, dir_ent, in dir_scan7()
4158 subpathname(dir_ent), *inode); in dir_scan7()
4164 create_inode(inode, NULL, dir_ent, in dir_scan7()
4168 "\n", subpathname(dir_ent), in dir_scan7()
4175 create_inode(inode, NULL, dir_ent, in dir_scan7()
4179 subpathname(dir_ent), *inode); in dir_scan7()
4185 create_inode(inode, NULL, dir_ent, in dir_scan7()
4189 subpathname(dir_ent), *inode); in dir_scan7()
4195 create_inode(inode, NULL, dir_ent, in dir_scan7()
4200 subpathname(dir_ent), *inode); in dir_scan7()
4207 subpathname(dir_ent), in dir_scan7()
4210 dir_ent->inode->inode = *inode; in dir_scan7()
4211 dir_ent->inode->type = squashfs_type; in dir_scan7()
4213 *inode = dir_ent->inode->inode; in dir_scan7()
4214 squashfs_type = dir_ent->inode->type; in dir_scan7()
4221 subpathname(dir_ent), in dir_scan7()
4227 "LINK\n", subpathname(dir_ent), in dir_scan7()
4232 "LINK\n", subpathname(dir_ent), in dir_scan7()
4237 "LINK\n", subpathname(dir_ent), in dir_scan7()
4242 subpathname(dir_ent), *inode); in dir_scan7()
4247 subpathname(dir_ent), *inode); in dir_scan7()
4252 add_dir(*inode, get_inode_no(dir_ent->inode), dir_ent->name, in dir_scan7()
4257 INFO("directory %s inode 0x%llx\n", subpathname(dir_info->dir_ent), in dir_scan7()