Lines Matching refs:de
137 struct ocfs2_dir_entry *de, in ocfs2_skip_dir_trailer() argument
317 struct ocfs2_dir_entry * de, in ocfs2_check_dir_entry() argument
322 const int rlen = le16_to_cpu(de->rec_len); in ocfs2_check_dir_entry()
328 else if (unlikely(rlen < OCFS2_DIR_REC_LEN(de->name_len))) in ocfs2_check_dir_entry()
331 ((char *) de - bh->b_data) + rlen > dir->i_sb->s_blocksize)) in ocfs2_check_dir_entry()
338 offset, (unsigned long long)le64_to_cpu(de->inode), rlen, in ocfs2_check_dir_entry()
339 de->name_len); in ocfs2_check_dir_entry()
346 struct ocfs2_dir_entry *de) in ocfs2_match() argument
348 if (len != de->name_len) in ocfs2_match()
350 if (!de->inode) in ocfs2_match()
352 return !memcmp(name, de->name, len); in ocfs2_match()
366 struct ocfs2_dir_entry *de; in ocfs2_search_dirblock() local
378 de = (struct ocfs2_dir_entry *) de_buf; in ocfs2_search_dirblock()
381 ocfs2_match(namelen, name, de)) { in ocfs2_search_dirblock()
383 if (!ocfs2_check_dir_entry(dir, de, bh, offset)) { in ocfs2_search_dirblock()
387 *res_dir = de; in ocfs2_search_dirblock()
393 de_len = le16_to_cpu(de->rec_len); in ocfs2_search_dirblock()
1122 struct ocfs2_dir_entry *de = res->dl_entry; in ocfs2_update_entry() local
1141 de->inode = cpu_to_le64(OCFS2_I(new_entry_inode)->ip_blkno); in ocfs2_update_entry()
1142 ocfs2_set_de_type(de, new_entry_inode->i_mode); in ocfs2_update_entry()
1159 struct ocfs2_dir_entry *de, *pde; in __ocfs2_delete_entry() local
1168 de = (struct ocfs2_dir_entry *) first_de; in __ocfs2_delete_entry()
1170 if (!ocfs2_check_dir_entry(dir, de, bh, i)) { in __ocfs2_delete_entry()
1175 if (de == de_del) { in __ocfs2_delete_entry()
1185 le16_to_cpu(de->rec_len)); in __ocfs2_delete_entry()
1186 de->inode = 0; in __ocfs2_delete_entry()
1191 i += le16_to_cpu(de->rec_len); in __ocfs2_delete_entry()
1192 pde = de; in __ocfs2_delete_entry()
1193 de = (struct ocfs2_dir_entry *)((char *)de + le16_to_cpu(de->rec_len)); in __ocfs2_delete_entry()
1199 static unsigned int ocfs2_figure_dirent_hole(struct ocfs2_dir_entry *de) in ocfs2_figure_dirent_hole() argument
1203 if (le64_to_cpu(de->inode) == 0) in ocfs2_figure_dirent_hole()
1204 hole = le16_to_cpu(de->rec_len); in ocfs2_figure_dirent_hole()
1206 hole = le16_to_cpu(de->rec_len) - in ocfs2_figure_dirent_hole()
1207 OCFS2_DIR_REC_LEN(de->name_len); in ocfs2_figure_dirent_hole()
1217 struct ocfs2_dir_entry *de; in ocfs2_find_max_rec_len() local
1223 de = (struct ocfs2_dir_entry *)de_buf; in ocfs2_find_max_rec_len()
1226 this_hole = ocfs2_figure_dirent_hole(de); in ocfs2_find_max_rec_len()
1231 de_buf += le16_to_cpu(de->rec_len); in ocfs2_find_max_rec_len()
1232 de = (struct ocfs2_dir_entry *)de_buf; in ocfs2_find_max_rec_len()
1433 static inline int ocfs2_dirent_would_fit(struct ocfs2_dir_entry *de, in ocfs2_dirent_would_fit() argument
1439 if (le64_to_cpu(de->inode) == 0 && in ocfs2_dirent_would_fit()
1440 le16_to_cpu(de->rec_len) >= new_rec_len) in ocfs2_dirent_would_fit()
1447 de_really_used = OCFS2_DIR_REC_LEN(de->name_len); in ocfs2_dirent_would_fit()
1448 if (le16_to_cpu(de->rec_len) >= (de_really_used + new_rec_len)) in ocfs2_dirent_would_fit()
1617 struct ocfs2_dir_entry *de, *de1; in __ocfs2_add_entry() local
1663 de = (struct ocfs2_dir_entry *) data_start; in __ocfs2_add_entry()
1665 BUG_ON((char *)de >= (size + data_start)); in __ocfs2_add_entry()
1670 if (!ocfs2_check_dir_entry(dir, de, insert_bh, offset)) { in __ocfs2_add_entry()
1674 if (ocfs2_match(namelen, name, de)) { in __ocfs2_add_entry()
1681 mlog_bug_on_msg(ocfs2_skip_dir_trailer(dir, de, offset, size), in __ocfs2_add_entry()
1689 if (ocfs2_dirent_would_fit(de, rec_len)) { in __ocfs2_add_entry()
1720 offset += le16_to_cpu(de->rec_len); in __ocfs2_add_entry()
1721 if (le64_to_cpu(de->inode)) { in __ocfs2_add_entry()
1722 de1 = (struct ocfs2_dir_entry *)((char *) de + in __ocfs2_add_entry()
1723 OCFS2_DIR_REC_LEN(de->name_len)); in __ocfs2_add_entry()
1725 cpu_to_le16(le16_to_cpu(de->rec_len) - in __ocfs2_add_entry()
1726 OCFS2_DIR_REC_LEN(de->name_len)); in __ocfs2_add_entry()
1727 de->rec_len = cpu_to_le16(OCFS2_DIR_REC_LEN(de->name_len)); in __ocfs2_add_entry()
1728 de = de1; in __ocfs2_add_entry()
1730 de->file_type = OCFS2_FT_UNKNOWN; in __ocfs2_add_entry()
1732 de->inode = cpu_to_le64(blkno); in __ocfs2_add_entry()
1733 ocfs2_set_de_type(de, inode->i_mode); in __ocfs2_add_entry()
1735 de->inode = 0; in __ocfs2_add_entry()
1736 de->name_len = namelen; in __ocfs2_add_entry()
1737 memcpy(de->name, name, namelen); in __ocfs2_add_entry()
1748 offset += le16_to_cpu(de->rec_len); in __ocfs2_add_entry()
1749 de = (struct ocfs2_dir_entry *) ((char *) de + le16_to_cpu(de->rec_len)); in __ocfs2_add_entry()
1771 struct ocfs2_dir_entry *de; in ocfs2_dir_foreach_blk_id() local
1790 de = (struct ocfs2_dir_entry *) in ocfs2_dir_foreach_blk_id()
1798 if (le16_to_cpu(de->rec_len) < in ocfs2_dir_foreach_blk_id()
1801 i += le16_to_cpu(de->rec_len); in ocfs2_dir_foreach_blk_id()
1807 de = (struct ocfs2_dir_entry *) (data->id_data + ctx->pos); in ocfs2_dir_foreach_blk_id()
1808 if (!ocfs2_check_dir_entry(inode, de, di_bh, ctx->pos)) { in ocfs2_dir_foreach_blk_id()
1813 offset += le16_to_cpu(de->rec_len); in ocfs2_dir_foreach_blk_id()
1814 if (le64_to_cpu(de->inode)) { in ocfs2_dir_foreach_blk_id()
1817 if (de->file_type < OCFS2_FT_MAX) in ocfs2_dir_foreach_blk_id()
1818 d_type = ocfs2_filetype_table[de->file_type]; in ocfs2_dir_foreach_blk_id()
1820 if (!dir_emit(ctx, de->name, de->name_len, in ocfs2_dir_foreach_blk_id()
1821 le64_to_cpu(de->inode), d_type)) in ocfs2_dir_foreach_blk_id()
1824 ctx->pos += le16_to_cpu(de->rec_len); in ocfs2_dir_foreach_blk_id()
1843 struct ocfs2_dir_entry * de; in ocfs2_dir_foreach_blk_el() local
1884 de = (struct ocfs2_dir_entry *) (bh->b_data + i); in ocfs2_dir_foreach_blk_el()
1891 if (le16_to_cpu(de->rec_len) < in ocfs2_dir_foreach_blk_el()
1894 i += le16_to_cpu(de->rec_len); in ocfs2_dir_foreach_blk_el()
1904 de = (struct ocfs2_dir_entry *) (bh->b_data + offset); in ocfs2_dir_foreach_blk_el()
1905 if (!ocfs2_check_dir_entry(inode, de, bh, offset)) { in ocfs2_dir_foreach_blk_el()
1912 if (le64_to_cpu(de->inode)) { in ocfs2_dir_foreach_blk_el()
1915 if (de->file_type < OCFS2_FT_MAX) in ocfs2_dir_foreach_blk_el()
1916 d_type = ocfs2_filetype_table[de->file_type]; in ocfs2_dir_foreach_blk_el()
1917 if (!dir_emit(ctx, de->name, in ocfs2_dir_foreach_blk_el()
1918 de->name_len, in ocfs2_dir_foreach_blk_el()
1919 le64_to_cpu(de->inode), in ocfs2_dir_foreach_blk_el()
1926 offset += le16_to_cpu(de->rec_len); in ocfs2_dir_foreach_blk_el()
1927 ctx->pos += le16_to_cpu(de->rec_len); in ocfs2_dir_foreach_blk_el()
2194 struct ocfs2_dir_entry *de = (struct ocfs2_dir_entry *)start; in ocfs2_fill_initial_dirents() local
2196 de->inode = cpu_to_le64(OCFS2_I(inode)->ip_blkno); in ocfs2_fill_initial_dirents()
2197 de->name_len = 1; in ocfs2_fill_initial_dirents()
2198 de->rec_len = in ocfs2_fill_initial_dirents()
2199 cpu_to_le16(OCFS2_DIR_REC_LEN(de->name_len)); in ocfs2_fill_initial_dirents()
2200 strcpy(de->name, "."); in ocfs2_fill_initial_dirents()
2201 ocfs2_set_de_type(de, S_IFDIR); in ocfs2_fill_initial_dirents()
2203 de = (struct ocfs2_dir_entry *) ((char *)de + le16_to_cpu(de->rec_len)); in ocfs2_fill_initial_dirents()
2204 de->inode = cpu_to_le64(OCFS2_I(parent)->ip_blkno); in ocfs2_fill_initial_dirents()
2205 de->rec_len = cpu_to_le16(size - OCFS2_DIR_REC_LEN(1)); in ocfs2_fill_initial_dirents()
2206 de->name_len = 2; in ocfs2_fill_initial_dirents()
2207 strcpy(de->name, ".."); in ocfs2_fill_initial_dirents()
2208 ocfs2_set_de_type(de, S_IFDIR); in ocfs2_fill_initial_dirents()
2210 return de; in ocfs2_fill_initial_dirents()
2261 struct ocfs2_dir_entry *de; in ocfs2_fill_new_dir_el() local
2283 de = ocfs2_fill_initial_dirents(inode, parent, new_bh->b_data, size); in ocfs2_fill_new_dir_el()
2285 int size = le16_to_cpu(de->rec_len); in ocfs2_fill_new_dir_el()
2631 struct ocfs2_dir_entry *de; in ocfs2_dx_dir_index_block() local
2640 de = (struct ocfs2_dir_entry *)de_buf; in ocfs2_dx_dir_index_block()
2642 namelen = de->name_len; in ocfs2_dx_dir_index_block()
2643 if (!namelen || !de->inode) in ocfs2_dx_dir_index_block()
2646 ocfs2_dx_dir_name_hash(dir, de->name, namelen, &hinfo); in ocfs2_dx_dir_index_block()
2661 de_buf += le16_to_cpu(de->rec_len); in ocfs2_dx_dir_index_block()
2677 struct ocfs2_dir_entry *de; in ocfs2_dx_dir_index_root_block() local
2687 de = (struct ocfs2_dir_entry *)de_buf; in ocfs2_dx_dir_index_root_block()
2689 if (!de->name_len || !de->inode) in ocfs2_dx_dir_index_root_block()
2692 ocfs2_dx_dir_name_hash(dir, de->name, de->name_len, &hinfo); in ocfs2_dx_dir_index_root_block()
2697 de->name_len, de->name, in ocfs2_dx_dir_index_root_block()
2705 de_buf += le16_to_cpu(de->rec_len); in ocfs2_dx_dir_index_root_block()
2719 struct ocfs2_dir_entry *de; in ocfs2_new_dx_should_be_inline() local
2726 de = (struct ocfs2_dir_entry *)de_buf; in ocfs2_new_dx_should_be_inline()
2728 if (de->name_len && de->inode) in ocfs2_new_dx_should_be_inline()
2731 de_buf += le16_to_cpu(de->rec_len); in ocfs2_new_dx_should_be_inline()
2756 struct ocfs2_dir_entry *de; in ocfs2_expand_last_dirent() local
2770 de = (struct ocfs2_dir_entry *)de_buf; in ocfs2_expand_last_dirent()
2772 this_hole = ocfs2_figure_dirent_hole(de); in ocfs2_expand_last_dirent()
2776 prev_de = de; in ocfs2_expand_last_dirent()
2777 de_buf += le16_to_cpu(de->rec_len); in ocfs2_expand_last_dirent()
2778 de = (struct ocfs2_dir_entry *)de_buf; in ocfs2_expand_last_dirent()
3200 struct ocfs2_dir_entry * de; in ocfs2_extend_dir() local
3324 de = (struct ocfs2_dir_entry *) new_bh->b_data; in ocfs2_extend_dir()
3325 de->inode = 0; in ocfs2_extend_dir()
3327 de->rec_len = cpu_to_le16(ocfs2_dir_trailer_blk_off(sb)); in ocfs2_extend_dir()
3329 ocfs2_init_dir_trailer(dir, new_bh, le16_to_cpu(de->rec_len)); in ocfs2_extend_dir()
3340 de->rec_len = cpu_to_le16(sb->s_blocksize); in ocfs2_extend_dir()
3381 struct ocfs2_dir_entry *de, *last_de = NULL; in ocfs2_find_dir_space_id() local
3400 de = (struct ocfs2_dir_entry *)de_buf; in ocfs2_find_dir_space_id()
3402 if (!ocfs2_check_dir_entry(dir, de, di_bh, offset)) { in ocfs2_find_dir_space_id()
3406 if (ocfs2_match(namelen, name, de)) { in ocfs2_find_dir_space_id()
3415 if (ocfs2_dirent_would_fit(de, rec_len)) { in ocfs2_find_dir_space_id()
3424 last_de = de; in ocfs2_find_dir_space_id()
3425 de_buf += le16_to_cpu(de->rec_len); in ocfs2_find_dir_space_id()
3426 offset += le16_to_cpu(de->rec_len); in ocfs2_find_dir_space_id()
3450 struct ocfs2_dir_entry *de; in ocfs2_find_dir_space_el() local
3461 de = (struct ocfs2_dir_entry *) bh->b_data; in ocfs2_find_dir_space_el()
3463 if ((char *)de >= sb->s_blocksize + bh->b_data) { in ocfs2_find_dir_space_el()
3482 de = (struct ocfs2_dir_entry *) bh->b_data; in ocfs2_find_dir_space_el()
3484 if (!ocfs2_check_dir_entry(dir, de, bh, offset)) { in ocfs2_find_dir_space_el()
3488 if (ocfs2_match(namelen, name, de)) { in ocfs2_find_dir_space_el()
3493 if (ocfs2_skip_dir_trailer(dir, de, offset % blocksize, in ocfs2_find_dir_space_el()
3497 if (ocfs2_dirent_would_fit(de, rec_len)) { in ocfs2_find_dir_space_el()
3506 offset += le16_to_cpu(de->rec_len); in ocfs2_find_dir_space_el()
3507 de = (struct ocfs2_dir_entry *)((char *) de + le16_to_cpu(de->rec_len)); in ocfs2_find_dir_space_el()