• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500-V1.0.1.40_1.0.68/src/linux/linux-2.6/fs/reiserfs/

Lines Matching refs:de

26 static int bin_search_in_dir_item(struct reiserfs_dir_entry *de, loff_t off)
28 struct item_head *ih = de->de_ih;
29 struct reiserfs_de_head *deh = de->de_deh;
46 de->de_entry_num = j;
50 de->de_entry_num = lbound;
54 // comment? maybe something like set de to point to what the path points to?
55 static inline void set_de_item_location(struct reiserfs_dir_entry *de,
58 de->de_bh = get_last_bh(path);
59 de->de_ih = get_ih(path);
60 de->de_deh = B_I_DEH(de->de_bh, de->de_ih);
61 de->de_item_num = PATH_LAST_POSITION(path);
65 inline void set_de_name_and_namelen(struct reiserfs_dir_entry *de)
67 struct reiserfs_de_head *deh = de->de_deh + de->de_entry_num;
69 BUG_ON(de->de_entry_num >= ih_entry_count(de->de_ih));
71 de->de_entrylen = entry_length(de->de_bh, de->de_ih, de->de_entry_num);
72 de->de_namelen = de->de_entrylen - (de_with_sd(deh) ? SD_SIZE : 0);
73 de->de_name = B_I_PITEM(de->de_bh, de->de_ih) + deh_location(deh);
74 if (de->de_name[de->de_namelen - 1] == 0)
75 de->de_namelen = strlen(de->de_name);
79 static inline void set_de_object_key(struct reiserfs_dir_entry *de)
81 BUG_ON(de->de_entry_num >= ih_entry_count(de->de_ih));
82 de->de_dir_id = deh_dir_id(&(de->de_deh[de->de_entry_num]));
83 de->de_objectid = deh_objectid(&(de->de_deh[de->de_entry_num]));
86 static inline void store_de_entry_key(struct reiserfs_dir_entry *de)
88 struct reiserfs_de_head *deh = de->de_deh + de->de_entry_num;
90 BUG_ON(de->de_entry_num >= ih_entry_count(de->de_ih));
93 de->de_entry_key.version = KEY_FORMAT_3_5;
94 de->de_entry_key.on_disk_key.k_dir_id =
95 le32_to_cpu(de->de_ih->ih_key.k_dir_id);
96 de->de_entry_key.on_disk_key.k_objectid =
97 le32_to_cpu(de->de_ih->ih_key.k_objectid);
98 set_cpu_key_k_offset(&(de->de_entry_key), deh_offset(deh));
99 set_cpu_key_k_type(&(de->de_entry_key), TYPE_DIRENTRY);
115 struct treepath *path, struct reiserfs_dir_entry *de)
143 set_de_item_location(de, path);
146 if (!is_direntry_le_ih(de->de_ih) ||
147 COMP_SHORT_KEYS(&(de->de_ih->ih_key), key)) {
148 print_block(de->de_bh, 0, -1, -1);
152 de->de_ih, key);
157 key. sets de->de_entry_num of de */
158 retval = bin_search_in_dir_item(de, cpu_key_k_offset(key));
159 path->pos_in_item = de->de_entry_num;
162 set_de_name_and_namelen(de);
163 set_de_object_key(de);
196 static int reiserfs_match(struct reiserfs_dir_entry *de,
201 if ((namelen == de->de_namelen) &&
202 !memcmp(de->de_name, name, de->de_namelen))
204 (de_visible(de->de_deh + de->de_entry_num) ? NAME_FOUND :
210 /* de's de_bh, de_ih, de_deh, de_item_num, de_entry_num are set already */
215 struct reiserfs_dir_entry *de,
218 struct reiserfs_de_head *deh = de->de_deh;
222 i = de->de_entry_num;
224 if (i == I_ENTRY_COUNT(de->de_ih) ||
230 RFALSE(de->de_deh != B_I_DEH(de->de_bh, de->de_ih),
243 if (de->de_gen_number_bit_string)
245 de->de_gen_number_bit_string);
248 de->de_entry_num = i;
249 set_de_name_and_namelen(de);
252 reiserfs_match(de, name, namelen)) != NAME_NOT_FOUND) {
253 // de's de_name, de_namelen, de_recordlen are set. Fill the rest:
256 set_de_object_key(de);
258 store_de_entry_key(de);
265 if (GET_GENERATION_NUMBER(le_ih_k_offset(de->de_ih)) == 0)
274 RFALSE(de->de_item_num,
283 struct reiserfs_dir_entry *de)
299 path_to_entry, de);
308 linear_search_in_dir_item(&key_to_search, de, name,
312 path_to_entry->pos_in_item = de->de_entry_num;
318 le_ih_k_offset(de->de_ih) - 1);
329 struct reiserfs_dir_entry de;
336 de.de_gen_number_bit_string = NULL;
339 &path_to_entry, &de);
347 de.de_objectid ==
356 reiserfs_iget(dir->i_sb, (struct cpu_key *)&(de.de_dir_id));
382 struct reiserfs_dir_entry de;
390 de.de_gen_number_bit_string = NULL;
393 retval = reiserfs_find_entry(dir, "..", 2, &path_to_entry, &de);
399 inode = reiserfs_iget(dir->i_sb, (struct cpu_key *)&(de.de_dir_id));
426 struct reiserfs_dir_entry de;
467 /* put key (ino analog) to de */
482 de.de_gen_number_bit_string = bit_string;
483 retval = reiserfs_find_entry(dir, name, namelen, &path, &de);
523 if (search_by_entry_key(dir->i_sb, &entry_key, &path, &de) !=
857 struct reiserfs_dir_entry de;
872 de.de_gen_number_bit_string = NULL;
875 &path, &de)) == NAME_NOT_FOUND) {
888 if (de.de_objectid != inode->i_ino) {
899 retval = reiserfs_cut_from_item(&th, &path, &(de.de_entry_key), dir, NULL, /* page */
913 dir->i_size -= (DEH_SIZE + de.de_entrylen);
939 struct reiserfs_dir_entry de;
960 de.de_gen_number_bit_string = NULL;
963 &path, &de)) == NAME_NOT_FOUND) {
974 if (de.de_objectid != inode->i_ino) {
997 reiserfs_cut_from_item(&th, &path, &(de.de_entry_key), dir, NULL,
1006 dir->i_size -= (de.de_entrylen + DEH_SIZE);
1171 // de contains information pointing to an entry which
1173 struct reiserfs_dir_entry *de)
1175 struct reiserfs_dir_entry tmp = *de;
1179 if (tmp.de_namelen != len || memcmp(name, de->de_name, len))
1185 struct reiserfs_dir_entry *de,
1188 if (!de_still_valid(name, len, de))
1192 if (!de_visible(de->de_deh + de->de_entry_num))
1195 return (de->de_objectid == inode->i_ino) ? 1 : 0;
1199 if (de_visible(de->de_deh + de->de_entry_num))
1207 static void set_ino_in_dir_entry(struct reiserfs_dir_entry *de,
1211 de->de_deh[de->de_entry_num].deh_dir_id = key->k_dir_id;
1212 de->de_deh[de->de_entry_num].deh_objectid = key->k_objectid;