• Home
  • Raw
  • Download

Lines Matching refs:de

26 static int bin_search_in_dir_item(struct reiserfs_dir_entry *de, loff_t off)  in bin_search_in_dir_item()  argument
28 struct item_head *ih = de->de_ih; in bin_search_in_dir_item()
29 struct reiserfs_de_head *deh = de->de_deh; in bin_search_in_dir_item()
46 de->de_entry_num = j; in bin_search_in_dir_item()
50 de->de_entry_num = lbound; in bin_search_in_dir_item()
55 static inline void set_de_item_location(struct reiserfs_dir_entry *de, in set_de_item_location() argument
58 de->de_bh = get_last_bh(path); in set_de_item_location()
59 de->de_ih = get_ih(path); in set_de_item_location()
60 de->de_deh = B_I_DEH(de->de_bh, de->de_ih); in set_de_item_location()
61 de->de_item_num = PATH_LAST_POSITION(path); in set_de_item_location()
65 inline void set_de_name_and_namelen(struct reiserfs_dir_entry *de) in set_de_name_and_namelen() argument
67 struct reiserfs_de_head *deh = de->de_deh + de->de_entry_num; in set_de_name_and_namelen()
69 BUG_ON(de->de_entry_num >= ih_entry_count(de->de_ih)); in set_de_name_and_namelen()
71 de->de_entrylen = entry_length(de->de_bh, de->de_ih, de->de_entry_num); in set_de_name_and_namelen()
72 de->de_namelen = de->de_entrylen - (de_with_sd(deh) ? SD_SIZE : 0); in set_de_name_and_namelen()
73 de->de_name = B_I_PITEM(de->de_bh, de->de_ih) + deh_location(deh); in set_de_name_and_namelen()
74 if (de->de_name[de->de_namelen - 1] == 0) in set_de_name_and_namelen()
75 de->de_namelen = strlen(de->de_name); in set_de_name_and_namelen()
79 static inline void set_de_object_key(struct reiserfs_dir_entry *de) in set_de_object_key() argument
81 BUG_ON(de->de_entry_num >= ih_entry_count(de->de_ih)); in set_de_object_key()
82 de->de_dir_id = deh_dir_id(&(de->de_deh[de->de_entry_num])); in set_de_object_key()
83 de->de_objectid = deh_objectid(&(de->de_deh[de->de_entry_num])); in set_de_object_key()
86 static inline void store_de_entry_key(struct reiserfs_dir_entry *de) in store_de_entry_key() argument
88 struct reiserfs_de_head *deh = de->de_deh + de->de_entry_num; in store_de_entry_key()
90 BUG_ON(de->de_entry_num >= ih_entry_count(de->de_ih)); in store_de_entry_key()
93 de->de_entry_key.version = KEY_FORMAT_3_5; in store_de_entry_key()
94 de->de_entry_key.on_disk_key.k_dir_id = in store_de_entry_key()
95 le32_to_cpu(de->de_ih->ih_key.k_dir_id); in store_de_entry_key()
96 de->de_entry_key.on_disk_key.k_objectid = in store_de_entry_key()
97 le32_to_cpu(de->de_ih->ih_key.k_objectid); in store_de_entry_key()
98 set_cpu_key_k_offset(&(de->de_entry_key), deh_offset(deh)); in store_de_entry_key()
99 set_cpu_key_k_type(&(de->de_entry_key), TYPE_DIRENTRY); in store_de_entry_key()
115 struct treepath *path, struct reiserfs_dir_entry *de) in search_by_entry_key() argument
143 set_de_item_location(de, path); in search_by_entry_key()
146 if (!is_direntry_le_ih(de->de_ih) || in search_by_entry_key()
147 COMP_SHORT_KEYS(&(de->de_ih->ih_key), key)) { in search_by_entry_key()
148 print_block(de->de_bh, 0, -1, -1); in search_by_entry_key()
152 de->de_ih, key); in search_by_entry_key()
158 retval = bin_search_in_dir_item(de, cpu_key_k_offset(key)); in search_by_entry_key()
159 path->pos_in_item = de->de_entry_num; in search_by_entry_key()
162 set_de_name_and_namelen(de); in search_by_entry_key()
163 set_de_object_key(de); in search_by_entry_key()
196 static int reiserfs_match(struct reiserfs_dir_entry *de, in reiserfs_match() argument
201 if ((namelen == de->de_namelen) && in reiserfs_match()
202 !memcmp(de->de_name, name, de->de_namelen)) in reiserfs_match()
204 (de_visible(de->de_deh + de->de_entry_num) ? NAME_FOUND : in reiserfs_match()
215 struct reiserfs_dir_entry *de, in linear_search_in_dir_item() argument
218 struct reiserfs_de_head *deh = de->de_deh; in linear_search_in_dir_item()
222 i = de->de_entry_num; in linear_search_in_dir_item()
224 if (i == I_ENTRY_COUNT(de->de_ih) || in linear_search_in_dir_item()
230 RFALSE(de->de_deh != B_I_DEH(de->de_bh, de->de_ih), in linear_search_in_dir_item()
243 if (de->de_gen_number_bit_string) in linear_search_in_dir_item()
245 de->de_gen_number_bit_string); in linear_search_in_dir_item()
248 de->de_entry_num = i; in linear_search_in_dir_item()
249 set_de_name_and_namelen(de); in linear_search_in_dir_item()
252 reiserfs_match(de, name, namelen)) != NAME_NOT_FOUND) { in linear_search_in_dir_item()
256 set_de_object_key(de); in linear_search_in_dir_item()
258 store_de_entry_key(de); in linear_search_in_dir_item()
265 if (GET_GENERATION_NUMBER(le_ih_k_offset(de->de_ih)) == 0) in linear_search_in_dir_item()
275 RFALSE(de->de_item_num, in linear_search_in_dir_item()
285 struct reiserfs_dir_entry *de) in reiserfs_find_entry() argument
301 path_to_entry, de); in reiserfs_find_entry()
310 linear_search_in_dir_item(&key_to_search, de, name, in reiserfs_find_entry()
314 path_to_entry->pos_in_item = de->de_entry_num; in reiserfs_find_entry()
320 le_ih_k_offset(de->de_ih) - 1); in reiserfs_find_entry()
331 struct reiserfs_dir_entry de; in reiserfs_lookup() local
338 de.de_gen_number_bit_string = NULL; in reiserfs_lookup()
341 &path_to_entry, &de); in reiserfs_lookup()
349 de.de_objectid == in reiserfs_lookup()
358 reiserfs_iget(dir->i_sb, (struct cpu_key *)&(de.de_dir_id)); in reiserfs_lookup()
384 struct reiserfs_dir_entry de; in reiserfs_get_parent() local
391 de.de_gen_number_bit_string = NULL; in reiserfs_get_parent()
394 retval = reiserfs_find_entry(dir, "..", 2, &path_to_entry, &de); in reiserfs_get_parent()
400 inode = reiserfs_iget(dir->i_sb, (struct cpu_key *)&(de.de_dir_id)); in reiserfs_get_parent()
419 struct reiserfs_dir_entry de; in reiserfs_add_entry() local
475 de.de_gen_number_bit_string = bit_string; in reiserfs_add_entry()
476 retval = reiserfs_find_entry(dir, name, namelen, &path, &de); in reiserfs_add_entry()
516 if (search_by_entry_key(dir->i_sb, &entry_key, &path, &de) != in reiserfs_add_entry()
857 struct reiserfs_dir_entry de; in reiserfs_rmdir() local
872 de.de_gen_number_bit_string = NULL; in reiserfs_rmdir()
875 &path, &de)) == NAME_NOT_FOUND) { in reiserfs_rmdir()
888 if (de.de_objectid != inode->i_ino) { in reiserfs_rmdir()
900 retval = reiserfs_cut_from_item(&th, &path, &(de.de_entry_key), dir, NULL, /* page */ in reiserfs_rmdir()
914 dir->i_size -= (DEH_SIZE + de.de_entrylen); in reiserfs_rmdir()
940 struct reiserfs_dir_entry de; in reiserfs_unlink() local
961 de.de_gen_number_bit_string = NULL; in reiserfs_unlink()
964 &path, &de)) == NAME_NOT_FOUND) { in reiserfs_unlink()
975 if (de.de_objectid != inode->i_ino) { in reiserfs_unlink()
999 reiserfs_cut_from_item(&th, &path, &(de.de_entry_key), dir, NULL, in reiserfs_unlink()
1008 dir->i_size -= (de.de_entrylen + DEH_SIZE); in reiserfs_unlink()
1178 struct reiserfs_dir_entry *de) in de_still_valid() argument
1180 struct reiserfs_dir_entry tmp = *de; in de_still_valid()
1185 if (tmp.de_namelen != len || memcmp(name, de->de_name, len)) in de_still_valid()
1191 struct reiserfs_dir_entry *de, in entry_points_to_object() argument
1194 if (!de_still_valid(name, len, de)) in entry_points_to_object()
1198 if (!de_visible(de->de_deh + de->de_entry_num)) in entry_points_to_object()
1201 return (de->de_objectid == inode->i_ino) ? 1 : 0; in entry_points_to_object()
1205 if (de_visible(de->de_deh + de->de_entry_num)) in entry_points_to_object()
1213 static void set_ino_in_dir_entry(struct reiserfs_dir_entry *de, in set_ino_in_dir_entry() argument
1217 de->de_deh[de->de_entry_num].deh_dir_id = key->k_dir_id; in set_ino_in_dir_entry()
1218 de->de_deh[de->de_entry_num].deh_objectid = key->k_objectid; in set_ino_in_dir_entry()