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()
1112 struct ocfs2_dir_entry *de = res->dl_entry; in ocfs2_update_entry() local
1131 de->inode = cpu_to_le64(OCFS2_I(new_entry_inode)->ip_blkno); in ocfs2_update_entry()
1132 ocfs2_set_de_type(de, new_entry_inode->i_mode); in ocfs2_update_entry()
1149 struct ocfs2_dir_entry *de, *pde; in __ocfs2_delete_entry() local
1158 de = (struct ocfs2_dir_entry *) first_de; in __ocfs2_delete_entry()
1160 if (!ocfs2_check_dir_entry(dir, de, bh, i)) { in __ocfs2_delete_entry()
1165 if (de == de_del) { in __ocfs2_delete_entry()
1175 le16_to_cpu(de->rec_len)); in __ocfs2_delete_entry()
1176 de->inode = 0; in __ocfs2_delete_entry()
1181 i += le16_to_cpu(de->rec_len); in __ocfs2_delete_entry()
1182 pde = de; in __ocfs2_delete_entry()
1183 de = (struct ocfs2_dir_entry *)((char *)de + le16_to_cpu(de->rec_len)); in __ocfs2_delete_entry()
1189 static unsigned int ocfs2_figure_dirent_hole(struct ocfs2_dir_entry *de) in ocfs2_figure_dirent_hole() argument
1193 if (le64_to_cpu(de->inode) == 0) in ocfs2_figure_dirent_hole()
1194 hole = le16_to_cpu(de->rec_len); in ocfs2_figure_dirent_hole()
1196 hole = le16_to_cpu(de->rec_len) - in ocfs2_figure_dirent_hole()
1197 OCFS2_DIR_REC_LEN(de->name_len); in ocfs2_figure_dirent_hole()
1207 struct ocfs2_dir_entry *de; in ocfs2_find_max_rec_len() local
1213 de = (struct ocfs2_dir_entry *)de_buf; in ocfs2_find_max_rec_len()
1216 this_hole = ocfs2_figure_dirent_hole(de); in ocfs2_find_max_rec_len()
1221 de_buf += le16_to_cpu(de->rec_len); in ocfs2_find_max_rec_len()
1222 de = (struct ocfs2_dir_entry *)de_buf; in ocfs2_find_max_rec_len()
1423 static inline int ocfs2_dirent_would_fit(struct ocfs2_dir_entry *de, in ocfs2_dirent_would_fit() argument
1429 if (le64_to_cpu(de->inode) == 0 && in ocfs2_dirent_would_fit()
1430 le16_to_cpu(de->rec_len) >= new_rec_len) in ocfs2_dirent_would_fit()
1437 de_really_used = OCFS2_DIR_REC_LEN(de->name_len); in ocfs2_dirent_would_fit()
1438 if (le16_to_cpu(de->rec_len) >= (de_really_used + new_rec_len)) in ocfs2_dirent_would_fit()
1607 struct ocfs2_dir_entry *de, *de1; in __ocfs2_add_entry() local
1653 de = (struct ocfs2_dir_entry *) data_start; in __ocfs2_add_entry()
1655 BUG_ON((char *)de >= (size + data_start)); in __ocfs2_add_entry()
1660 if (!ocfs2_check_dir_entry(dir, de, insert_bh, offset)) { in __ocfs2_add_entry()
1664 if (ocfs2_match(namelen, name, de)) { in __ocfs2_add_entry()
1671 mlog_bug_on_msg(ocfs2_skip_dir_trailer(dir, de, offset, size), in __ocfs2_add_entry()
1679 if (ocfs2_dirent_would_fit(de, rec_len)) { in __ocfs2_add_entry()
1710 offset += le16_to_cpu(de->rec_len); in __ocfs2_add_entry()
1711 if (le64_to_cpu(de->inode)) { in __ocfs2_add_entry()
1712 de1 = (struct ocfs2_dir_entry *)((char *) de + in __ocfs2_add_entry()
1713 OCFS2_DIR_REC_LEN(de->name_len)); in __ocfs2_add_entry()
1715 cpu_to_le16(le16_to_cpu(de->rec_len) - in __ocfs2_add_entry()
1716 OCFS2_DIR_REC_LEN(de->name_len)); in __ocfs2_add_entry()
1717 de->rec_len = cpu_to_le16(OCFS2_DIR_REC_LEN(de->name_len)); in __ocfs2_add_entry()
1718 de = de1; in __ocfs2_add_entry()
1720 de->file_type = OCFS2_FT_UNKNOWN; in __ocfs2_add_entry()
1722 de->inode = cpu_to_le64(blkno); in __ocfs2_add_entry()
1723 ocfs2_set_de_type(de, inode->i_mode); in __ocfs2_add_entry()
1725 de->inode = 0; in __ocfs2_add_entry()
1726 de->name_len = namelen; in __ocfs2_add_entry()
1727 memcpy(de->name, name, namelen); in __ocfs2_add_entry()
1738 offset += le16_to_cpu(de->rec_len); in __ocfs2_add_entry()
1739 de = (struct ocfs2_dir_entry *) ((char *) de + le16_to_cpu(de->rec_len)); in __ocfs2_add_entry()
1761 struct ocfs2_dir_entry *de; in ocfs2_dir_foreach_blk_id() local
1780 de = (struct ocfs2_dir_entry *) in ocfs2_dir_foreach_blk_id()
1788 if (le16_to_cpu(de->rec_len) < in ocfs2_dir_foreach_blk_id()
1791 i += le16_to_cpu(de->rec_len); in ocfs2_dir_foreach_blk_id()
1797 de = (struct ocfs2_dir_entry *) (data->id_data + ctx->pos); in ocfs2_dir_foreach_blk_id()
1798 if (!ocfs2_check_dir_entry(inode, de, di_bh, ctx->pos)) { in ocfs2_dir_foreach_blk_id()
1803 offset += le16_to_cpu(de->rec_len); in ocfs2_dir_foreach_blk_id()
1804 if (le64_to_cpu(de->inode)) { in ocfs2_dir_foreach_blk_id()
1807 if (de->file_type < OCFS2_FT_MAX) in ocfs2_dir_foreach_blk_id()
1808 d_type = ocfs2_filetype_table[de->file_type]; in ocfs2_dir_foreach_blk_id()
1810 if (!dir_emit(ctx, de->name, de->name_len, in ocfs2_dir_foreach_blk_id()
1811 le64_to_cpu(de->inode), d_type)) in ocfs2_dir_foreach_blk_id()
1814 ctx->pos += le16_to_cpu(de->rec_len); in ocfs2_dir_foreach_blk_id()
1833 struct ocfs2_dir_entry * de; in ocfs2_dir_foreach_blk_el() local
1874 de = (struct ocfs2_dir_entry *) (bh->b_data + i); in ocfs2_dir_foreach_blk_el()
1881 if (le16_to_cpu(de->rec_len) < in ocfs2_dir_foreach_blk_el()
1884 i += le16_to_cpu(de->rec_len); in ocfs2_dir_foreach_blk_el()
1894 de = (struct ocfs2_dir_entry *) (bh->b_data + offset); in ocfs2_dir_foreach_blk_el()
1895 if (!ocfs2_check_dir_entry(inode, de, bh, offset)) { in ocfs2_dir_foreach_blk_el()
1902 if (le64_to_cpu(de->inode)) { in ocfs2_dir_foreach_blk_el()
1905 if (de->file_type < OCFS2_FT_MAX) in ocfs2_dir_foreach_blk_el()
1906 d_type = ocfs2_filetype_table[de->file_type]; in ocfs2_dir_foreach_blk_el()
1907 if (!dir_emit(ctx, de->name, in ocfs2_dir_foreach_blk_el()
1908 de->name_len, in ocfs2_dir_foreach_blk_el()
1909 le64_to_cpu(de->inode), in ocfs2_dir_foreach_blk_el()
1916 offset += le16_to_cpu(de->rec_len); in ocfs2_dir_foreach_blk_el()
1917 ctx->pos += le16_to_cpu(de->rec_len); in ocfs2_dir_foreach_blk_el()
2184 struct ocfs2_dir_entry *de = (struct ocfs2_dir_entry *)start; in ocfs2_fill_initial_dirents() local
2186 de->inode = cpu_to_le64(OCFS2_I(inode)->ip_blkno); in ocfs2_fill_initial_dirents()
2187 de->name_len = 1; in ocfs2_fill_initial_dirents()
2188 de->rec_len = in ocfs2_fill_initial_dirents()
2189 cpu_to_le16(OCFS2_DIR_REC_LEN(de->name_len)); in ocfs2_fill_initial_dirents()
2190 strcpy(de->name, "."); in ocfs2_fill_initial_dirents()
2191 ocfs2_set_de_type(de, S_IFDIR); in ocfs2_fill_initial_dirents()
2193 de = (struct ocfs2_dir_entry *) ((char *)de + le16_to_cpu(de->rec_len)); in ocfs2_fill_initial_dirents()
2194 de->inode = cpu_to_le64(OCFS2_I(parent)->ip_blkno); in ocfs2_fill_initial_dirents()
2195 de->rec_len = cpu_to_le16(size - OCFS2_DIR_REC_LEN(1)); in ocfs2_fill_initial_dirents()
2196 de->name_len = 2; in ocfs2_fill_initial_dirents()
2197 strcpy(de->name, ".."); in ocfs2_fill_initial_dirents()
2198 ocfs2_set_de_type(de, S_IFDIR); in ocfs2_fill_initial_dirents()
2200 return de; in ocfs2_fill_initial_dirents()
2251 struct ocfs2_dir_entry *de; in ocfs2_fill_new_dir_el() local
2273 de = ocfs2_fill_initial_dirents(inode, parent, new_bh->b_data, size); in ocfs2_fill_new_dir_el()
2275 int size = le16_to_cpu(de->rec_len); in ocfs2_fill_new_dir_el()
2621 struct ocfs2_dir_entry *de; in ocfs2_dx_dir_index_block() local
2630 de = (struct ocfs2_dir_entry *)de_buf; in ocfs2_dx_dir_index_block()
2632 namelen = de->name_len; in ocfs2_dx_dir_index_block()
2633 if (!namelen || !de->inode) in ocfs2_dx_dir_index_block()
2636 ocfs2_dx_dir_name_hash(dir, de->name, namelen, &hinfo); in ocfs2_dx_dir_index_block()
2651 de_buf += le16_to_cpu(de->rec_len); in ocfs2_dx_dir_index_block()
2667 struct ocfs2_dir_entry *de; in ocfs2_dx_dir_index_root_block() local
2677 de = (struct ocfs2_dir_entry *)de_buf; in ocfs2_dx_dir_index_root_block()
2679 if (!de->name_len || !de->inode) in ocfs2_dx_dir_index_root_block()
2682 ocfs2_dx_dir_name_hash(dir, de->name, de->name_len, &hinfo); in ocfs2_dx_dir_index_root_block()
2687 de->name_len, de->name, in ocfs2_dx_dir_index_root_block()
2695 de_buf += le16_to_cpu(de->rec_len); in ocfs2_dx_dir_index_root_block()
2709 struct ocfs2_dir_entry *de; in ocfs2_new_dx_should_be_inline() local
2716 de = (struct ocfs2_dir_entry *)de_buf; in ocfs2_new_dx_should_be_inline()
2718 if (de->name_len && de->inode) in ocfs2_new_dx_should_be_inline()
2721 de_buf += le16_to_cpu(de->rec_len); in ocfs2_new_dx_should_be_inline()
2746 struct ocfs2_dir_entry *de; in ocfs2_expand_last_dirent() local
2760 de = (struct ocfs2_dir_entry *)de_buf; in ocfs2_expand_last_dirent()
2762 this_hole = ocfs2_figure_dirent_hole(de); in ocfs2_expand_last_dirent()
2766 prev_de = de; in ocfs2_expand_last_dirent()
2767 de_buf += le16_to_cpu(de->rec_len); in ocfs2_expand_last_dirent()
2768 de = (struct ocfs2_dir_entry *)de_buf; in ocfs2_expand_last_dirent()
3190 struct ocfs2_dir_entry * de; in ocfs2_extend_dir() local
3314 de = (struct ocfs2_dir_entry *) new_bh->b_data; in ocfs2_extend_dir()
3315 de->inode = 0; in ocfs2_extend_dir()
3317 de->rec_len = cpu_to_le16(ocfs2_dir_trailer_blk_off(sb)); in ocfs2_extend_dir()
3319 ocfs2_init_dir_trailer(dir, new_bh, le16_to_cpu(de->rec_len)); in ocfs2_extend_dir()
3330 de->rec_len = cpu_to_le16(sb->s_blocksize); in ocfs2_extend_dir()
3371 struct ocfs2_dir_entry *de, *last_de = NULL; in ocfs2_find_dir_space_id() local
3390 de = (struct ocfs2_dir_entry *)de_buf; in ocfs2_find_dir_space_id()
3392 if (!ocfs2_check_dir_entry(dir, de, di_bh, offset)) { in ocfs2_find_dir_space_id()
3396 if (ocfs2_match(namelen, name, de)) { in ocfs2_find_dir_space_id()
3405 if (ocfs2_dirent_would_fit(de, rec_len)) { in ocfs2_find_dir_space_id()
3414 last_de = de; in ocfs2_find_dir_space_id()
3415 de_buf += le16_to_cpu(de->rec_len); in ocfs2_find_dir_space_id()
3416 offset += le16_to_cpu(de->rec_len); in ocfs2_find_dir_space_id()
3440 struct ocfs2_dir_entry *de; in ocfs2_find_dir_space_el() local
3451 de = (struct ocfs2_dir_entry *) bh->b_data; in ocfs2_find_dir_space_el()
3453 if ((char *)de >= sb->s_blocksize + bh->b_data) { in ocfs2_find_dir_space_el()
3472 de = (struct ocfs2_dir_entry *) bh->b_data; in ocfs2_find_dir_space_el()
3474 if (!ocfs2_check_dir_entry(dir, de, bh, offset)) { in ocfs2_find_dir_space_el()
3478 if (ocfs2_match(namelen, name, de)) { in ocfs2_find_dir_space_el()
3483 if (ocfs2_skip_dir_trailer(dir, de, offset % blocksize, in ocfs2_find_dir_space_el()
3487 if (ocfs2_dirent_would_fit(de, rec_len)) { in ocfs2_find_dir_space_el()
3496 offset += le16_to_cpu(de->rec_len); in ocfs2_find_dir_space_el()
3497 de = (struct ocfs2_dir_entry *)((char *) de + le16_to_cpu(de->rec_len)); in ocfs2_find_dir_space_el()