Lines Matching refs:de
256 static int dx_make_map(struct inode *dir, struct ext4_dir_entry_2 *de,
287 struct ext4_dir_entry *de) in get_dirent_tail() argument
294 d = de; in get_dirent_tail()
295 top = (struct ext4_dir_entry *)(((void *)de) + in get_dirent_tail()
307 t = EXT4_DIRENT_TAIL(de, EXT4_BLOCK_SIZE(inode->i_sb)); in get_dirent_tail()
591 struct ext4_dir_entry_2 *de, in dx_show_leaf() argument
595 char *base = (char *) de; in dx_show_leaf()
599 while ((char *) de < base + size) in dx_show_leaf()
601 if (de->inode) in dx_show_leaf()
613 name = de->name; in dx_show_leaf()
614 len = de->name_len; in dx_show_leaf()
624 ext4fs_dirhash(de->name, in dx_show_leaf()
625 de->name_len, &h); in dx_show_leaf()
628 (unsigned) ((char *) de in dx_show_leaf()
633 ctx, de->name_len, in dx_show_leaf()
643 res = ext4_fname_disk_to_usr(ctx, NULL, de, in dx_show_leaf()
656 ext4fs_dirhash(de->name, de->name_len, in dx_show_leaf()
659 h.hash, (unsigned) ((char *) de in dx_show_leaf()
666 int len = de->name_len; in dx_show_leaf()
667 char *name = de->name; in dx_show_leaf()
668 ext4fs_dirhash(de->name, de->name_len, &h); in dx_show_leaf()
670 (unsigned) ((char *) de - base)); in dx_show_leaf()
673 space += EXT4_DIR_REC_LEN(de->name_len); in dx_show_leaf()
676 de = ext4_next_entry(de, size); in dx_show_leaf()
963 struct ext4_dir_entry_2 *de, *top; in htree_dirblock_to_tree() local
974 de = (struct ext4_dir_entry_2 *) bh->b_data; in htree_dirblock_to_tree()
975 top = (struct ext4_dir_entry_2 *) ((char *) de + in htree_dirblock_to_tree()
996 for (; de < top; de = ext4_next_entry(de, dir->i_sb->s_blocksize)) { in htree_dirblock_to_tree()
997 if (ext4_check_dir_entry(dir, NULL, de, bh, in htree_dirblock_to_tree()
1000 + ((char *)de - bh->b_data))) { in htree_dirblock_to_tree()
1004 ext4fs_dirhash(de->name, de->name_len, hinfo); in htree_dirblock_to_tree()
1009 if (de->inode == 0) in htree_dirblock_to_tree()
1013 tmp_str.name = de->name; in htree_dirblock_to_tree()
1014 tmp_str.len = de->name_len; in htree_dirblock_to_tree()
1016 hinfo->hash, hinfo->minor_hash, de, in htree_dirblock_to_tree()
1020 err = ext4_fname_disk_to_usr(ctx, hinfo, de, in htree_dirblock_to_tree()
1027 hinfo->hash, hinfo->minor_hash, de, in htree_dirblock_to_tree()
1058 struct ext4_dir_entry_2 *de; in ext4_htree_fill_tree() local
1100 de = (struct ext4_dir_entry_2 *) frames[0].bh->b_data; in ext4_htree_fill_tree()
1101 tmp_str.name = de->name; in ext4_htree_fill_tree()
1102 tmp_str.len = de->name_len; in ext4_htree_fill_tree()
1104 de, &tmp_str); in ext4_htree_fill_tree()
1110 de = (struct ext4_dir_entry_2 *) frames[0].bh->b_data; in ext4_htree_fill_tree()
1111 de = ext4_next_entry(de, dir->i_sb->s_blocksize); in ext4_htree_fill_tree()
1112 tmp_str.name = de->name; in ext4_htree_fill_tree()
1113 tmp_str.len = de->name_len; in ext4_htree_fill_tree()
1115 de, &tmp_str); in ext4_htree_fill_tree()
1174 static int dx_make_map(struct inode *dir, struct ext4_dir_entry_2 *de, in dx_make_map() argument
1179 char *base = (char *) de; in dx_make_map()
1182 while ((char *) de < base + blocksize) { in dx_make_map()
1183 if (de->name_len && de->inode) { in dx_make_map()
1184 ext4fs_dirhash(de->name, de->name_len, &h); in dx_make_map()
1187 map_tail->offs = ((char *) de - base)>>2; in dx_make_map()
1188 map_tail->size = le16_to_cpu(de->rec_len); in dx_make_map()
1193 de = ext4_next_entry(de, blocksize); in dx_make_map()
1248 struct ext4_dir_entry_2 *de) in ext4_match() argument
1252 if (!de->inode) in ext4_match()
1257 return ext4_fname_match(ctx, fname_crypto_str, len, name, de); in ext4_match()
1259 if (len != de->name_len) in ext4_match()
1261 res = memcmp(name, de->name, len); in ext4_match()
1272 struct ext4_dir_entry_2 * de; in search_dir() local
1285 de = (struct ext4_dir_entry_2 *)search_buf; in search_dir()
1287 while ((char *) de < dlimit) { in search_dir()
1290 if ((char *) de + de->name_len <= dlimit) { in search_dir()
1292 name, de); in search_dir()
1300 if (ext4_check_dir_entry(dir, NULL, de, bh, in search_dir()
1306 *res_dir = de; in search_dir()
1313 de_len = ext4_rec_len_from_disk(de->rec_len, in search_dir()
1320 de = (struct ext4_dir_entry_2 *) ((char *) de + de_len); in search_dir()
1331 struct ext4_dir_entry *de) in is_dx_internal_node() argument
1339 if (de->inode == 0 && in is_dx_internal_node()
1340 ext4_rec_len_from_disk(de->rec_len, sb->s_blocksize) == in is_dx_internal_node()
1562 struct ext4_dir_entry_2 *de; in ext4_lookup() local
1568 bh = ext4_find_entry(dir, &dentry->d_name, &de, NULL); in ext4_lookup()
1573 __u32 ino = le32_to_cpu(de->inode); in ext4_lookup()
1612 struct ext4_dir_entry_2 * de; in ext4_get_parent() local
1615 bh = ext4_find_entry(d_inode(child), &dotdot, &de, NULL); in ext4_get_parent()
1620 ino = le32_to_cpu(de->inode); in ext4_get_parent()
1643 struct ext4_dir_entry_2 *de = (struct ext4_dir_entry_2 *) in dx_move_dirents() local
1645 rec_len = EXT4_DIR_REC_LEN(de->name_len); in dx_move_dirents()
1646 memcpy (to, de, rec_len); in dx_move_dirents()
1649 de->inode = 0; in dx_move_dirents()
1662 struct ext4_dir_entry_2 *next, *to, *prev, *de = (struct ext4_dir_entry_2 *) base; in dx_pack_dirents() local
1665 prev = to = de; in dx_pack_dirents()
1666 while ((char*)de < base + blocksize) { in dx_pack_dirents()
1667 next = ext4_next_entry(de, blocksize); in dx_pack_dirents()
1668 if (de->inode && de->name_len) { in dx_pack_dirents()
1669 rec_len = EXT4_DIR_REC_LEN(de->name_len); in dx_pack_dirents()
1670 if (de > to) in dx_pack_dirents()
1671 memmove(to, de, rec_len); in dx_pack_dirents()
1676 de = next; in dx_pack_dirents()
1698 struct ext4_dir_entry_2 *de = NULL, *de2; in do_split() local
1752 de = dx_pack_dirents(data1, blocksize); in do_split()
1753 de->rec_len = ext4_rec_len_to_disk(data1 + (blocksize - csum_size) - in do_split()
1754 (char *) de, in do_split()
1775 de = de2; in do_split()
1786 return de; in do_split()
1802 struct ext4_dir_entry_2 *de; in ext4_find_dest_de() local
1825 de = (struct ext4_dir_entry_2 *)buf; in ext4_find_dest_de()
1827 while ((char *) de <= top) { in ext4_find_dest_de()
1828 if (ext4_check_dir_entry(dir, NULL, de, bh, in ext4_find_dest_de()
1834 res = ext4_match(ctx, &fname_crypto_str, namelen, name, de); in ext4_find_dest_de()
1841 nlen = EXT4_DIR_REC_LEN(de->name_len); in ext4_find_dest_de()
1842 rlen = ext4_rec_len_from_disk(de->rec_len, buf_size); in ext4_find_dest_de()
1843 if ((de->inode ? rlen - nlen : rlen) >= reclen) in ext4_find_dest_de()
1845 de = (struct ext4_dir_entry_2 *)((char *)de + rlen); in ext4_find_dest_de()
1849 if ((char *) de > top) in ext4_find_dest_de()
1852 *dest_de = de; in ext4_find_dest_de()
1863 struct ext4_dir_entry_2 *de, in ext4_insert_dentry() argument
1899 nlen = EXT4_DIR_REC_LEN(de->name_len); in ext4_insert_dentry()
1900 rlen = ext4_rec_len_from_disk(de->rec_len, buf_size); in ext4_insert_dentry()
1901 if (de->inode) { in ext4_insert_dentry()
1903 (struct ext4_dir_entry_2 *)((char *)de + nlen); in ext4_insert_dentry()
1905 de->rec_len = ext4_rec_len_to_disk(nlen, buf_size); in ext4_insert_dentry()
1906 de = de1; in ext4_insert_dentry()
1908 de->file_type = EXT4_FT_UNKNOWN; in ext4_insert_dentry()
1909 de->inode = cpu_to_le32(inode->i_ino); in ext4_insert_dentry()
1910 ext4_set_de_type(inode->i_sb, de, inode->i_mode); in ext4_insert_dentry()
1911 de->name_len = tmp_str.len; in ext4_insert_dentry()
1913 memcpy(de->name, tmp_str.name, tmp_str.len); in ext4_insert_dentry()
1928 struct inode *inode, struct ext4_dir_entry_2 *de, in add_dirent_to_buf() argument
1941 if (!de) { in add_dirent_to_buf()
1944 name, namelen, &de); in add_dirent_to_buf()
1957 err = ext4_insert_dentry(dir, inode, de, blocksize, &dentry->d_name, in add_dirent_to_buf()
2003 struct ext4_dir_entry_2 *de, *de2; in make_indexed_dir() local
2036 de = (struct ext4_dir_entry_2 *)((char *)fde + in make_indexed_dir()
2038 if ((char *) de >= (((char *) root) + blocksize)) { in make_indexed_dir()
2043 len = ((char *) root) + (blocksize - csum_size) - (char *) de; in make_indexed_dir()
2054 memcpy (data1, de, len); in make_indexed_dir()
2055 de = (struct ext4_dir_entry_2 *) data1; in make_indexed_dir()
2057 while ((char *)(de2 = ext4_next_entry(de, blocksize)) < top) in make_indexed_dir()
2058 de = de2; in make_indexed_dir()
2059 de->rec_len = ext4_rec_len_to_disk(data1 + (blocksize - csum_size) - in make_indexed_dir()
2060 (char *) de, in make_indexed_dir()
2069 de = (struct ext4_dir_entry_2 *) (&root->dotdot); in make_indexed_dir()
2070 de->rec_len = ext4_rec_len_to_disk(blocksize - EXT4_DIR_REC_LEN(2), in make_indexed_dir()
2111 de = do_split(handle,dir, &bh, frame, &hinfo); in make_indexed_dir()
2112 if (IS_ERR(de)) { in make_indexed_dir()
2113 retval = PTR_ERR(de); in make_indexed_dir()
2118 retval = add_dirent_to_buf(handle, dentry, inode, de, bh); in make_indexed_dir()
2147 struct ext4_dir_entry_2 *de; in ext4_add_entry() local
2203 de = (struct ext4_dir_entry_2 *) bh->b_data; in ext4_add_entry()
2204 de->inode = 0; in ext4_add_entry()
2205 de->rec_len = ext4_rec_len_to_disk(blocksize - csum_size, blocksize); in ext4_add_entry()
2212 retval = add_dirent_to_buf(handle, dentry, inode, de, bh); in ext4_add_entry()
2232 struct ext4_dir_entry_2 *de; in ext4_dx_add_entry() local
2348 de = do_split(handle, dir, &bh, frame, &hinfo); in ext4_dx_add_entry()
2349 if (IS_ERR(de)) { in ext4_dx_add_entry()
2350 err = PTR_ERR(de); in ext4_dx_add_entry()
2353 err = add_dirent_to_buf(handle, dentry, inode, de, bh); in ext4_dx_add_entry()
2376 struct ext4_dir_entry_2 *de, *pde; in ext4_generic_delete_entry() local
2382 de = (struct ext4_dir_entry_2 *)entry_buf; in ext4_generic_delete_entry()
2384 if (ext4_check_dir_entry(dir, NULL, de, bh, in ext4_generic_delete_entry()
2387 if (de == de_del) { in ext4_generic_delete_entry()
2392 ext4_rec_len_from_disk(de->rec_len, in ext4_generic_delete_entry()
2396 de->inode = 0; in ext4_generic_delete_entry()
2400 i += ext4_rec_len_from_disk(de->rec_len, blocksize); in ext4_generic_delete_entry()
2401 pde = de; in ext4_generic_delete_entry()
2402 de = ext4_next_entry(de, blocksize); in ext4_generic_delete_entry()
2616 struct ext4_dir_entry_2 *de, in ext4_init_dot_dotdot() argument
2620 de->inode = cpu_to_le32(inode->i_ino); in ext4_init_dot_dotdot()
2621 de->name_len = 1; in ext4_init_dot_dotdot()
2622 de->rec_len = ext4_rec_len_to_disk(EXT4_DIR_REC_LEN(de->name_len), in ext4_init_dot_dotdot()
2624 strcpy(de->name, "."); in ext4_init_dot_dotdot()
2625 ext4_set_de_type(inode->i_sb, de, S_IFDIR); in ext4_init_dot_dotdot()
2627 de = ext4_next_entry(de, blocksize); in ext4_init_dot_dotdot()
2628 de->inode = cpu_to_le32(parent_ino); in ext4_init_dot_dotdot()
2629 de->name_len = 2; in ext4_init_dot_dotdot()
2631 de->rec_len = ext4_rec_len_to_disk(blocksize - in ext4_init_dot_dotdot()
2635 de->rec_len = ext4_rec_len_to_disk( in ext4_init_dot_dotdot()
2636 EXT4_DIR_REC_LEN(de->name_len), blocksize); in ext4_init_dot_dotdot()
2637 strcpy(de->name, ".."); in ext4_init_dot_dotdot()
2638 ext4_set_de_type(inode->i_sb, de, S_IFDIR); in ext4_init_dot_dotdot()
2640 return ext4_next_entry(de, blocksize); in ext4_init_dot_dotdot()
2647 struct ext4_dir_entry_2 *de; in ext4_init_new_dir() local
2669 de = (struct ext4_dir_entry_2 *)dir_block->b_data; in ext4_init_new_dir()
2670 ext4_init_dot_dotdot(inode, de, blocksize, csum_size, dir->i_ino, 0); in ext4_init_new_dir()
2758 struct ext4_dir_entry_2 *de, *de1; in ext4_empty_dir() local
2779 de = (struct ext4_dir_entry_2 *) bh->b_data; in ext4_empty_dir()
2780 de1 = ext4_next_entry(de, sb->s_blocksize); in ext4_empty_dir()
2781 if (le32_to_cpu(de->inode) != inode->i_ino || in ext4_empty_dir()
2783 strcmp(".", de->name) || in ext4_empty_dir()
2791 offset = ext4_rec_len_from_disk(de->rec_len, sb->s_blocksize) + in ext4_empty_dir()
2793 de = ext4_next_entry(de1, sb->s_blocksize); in ext4_empty_dir()
2795 if ((void *) de >= (void *) (bh->b_data+sb->s_blocksize)) { in ext4_empty_dir()
2803 de = (struct ext4_dir_entry_2 *) bh->b_data; in ext4_empty_dir()
2805 if (ext4_check_dir_entry(inode, NULL, de, bh, in ext4_empty_dir()
2807 de = (struct ext4_dir_entry_2 *)(bh->b_data + in ext4_empty_dir()
2812 if (le32_to_cpu(de->inode)) { in ext4_empty_dir()
2816 offset += ext4_rec_len_from_disk(de->rec_len, sb->s_blocksize); in ext4_empty_dir()
2817 de = ext4_next_entry(de, sb->s_blocksize); in ext4_empty_dir()
3000 struct ext4_dir_entry_2 *de; in ext4_rmdir() local
3009 bh = ext4_find_entry(dir, &dentry->d_name, &de, NULL); in ext4_rmdir()
3018 if (le32_to_cpu(de->inode) != inode->i_ino) in ext4_rmdir()
3036 retval = ext4_delete_entry(handle, dir, de, bh); in ext4_rmdir()
3068 struct ext4_dir_entry_2 *de; in ext4_unlink() local
3078 bh = ext4_find_entry(dir, &dentry->d_name, &de, NULL); in ext4_unlink()
3087 if (le32_to_cpu(de->inode) != inode->i_ino) in ext4_unlink()
3107 retval = ext4_delete_entry(handle, dir, de, bh); in ext4_unlink()
3364 struct ext4_dir_entry_2 *de; member
3424 ent->de->inode = cpu_to_le32(ino); in ext4_setent()
3427 ent->de->file_type = file_type; in ext4_setent()
3452 struct ext4_dir_entry_2 *de; in ext4_find_delete_entry() local
3454 bh = ext4_find_entry(dir, d_name, &de, NULL); in ext4_find_delete_entry()
3458 retval = ext4_delete_entry(handle, dir, de, bh); in ext4_find_delete_entry()
3474 if (le32_to_cpu(ent->de->inode) != ent->inode->i_ino || in ext4_rename_delete()
3475 ent->de->name_len != ent->dentry->d_name.len || in ext4_rename_delete()
3476 strncmp(ent->de->name, ent->dentry->d_name.name, in ext4_rename_delete()
3477 ent->de->name_len) || in ext4_rename_delete()
3482 retval = ext4_delete_entry(handle, ent->dir, ent->de, ent->bh); in ext4_rename_delete()
3577 old.bh = ext4_find_entry(old.dir, &old.dentry->d_name, &old.de, NULL); in ext4_rename()
3587 if (!old.bh || le32_to_cpu(old.de->inode) != old.inode->i_ino) in ext4_rename()
3599 &new.de, &new.inlined); in ext4_rename()
3659 old_file_type = old.de->file_type; in ext4_rename()
3766 &old.de, &old.inlined); in ext4_cross_rename()
3776 if (!old.bh || le32_to_cpu(old.de->inode) != old.inode->i_ino) in ext4_cross_rename()
3780 &new.de, &new.inlined); in ext4_cross_rename()
3788 if (!new.bh || le32_to_cpu(new.de->inode) != new.inode->i_ino) in ext4_cross_rename()
3829 new_file_type = new.de->file_type; in ext4_cross_rename()
3830 retval = ext4_setent(handle, &new, old.inode->i_ino, old.de->file_type); in ext4_cross_rename()