Lines Matching refs:de

183 					struct exofs_dir_entry *de)  in exofs_match()  argument
185 if (len != de->name_len) in exofs_match()
187 if (!de->inode_no) in exofs_match()
189 return !memcmp(name, de->name, len); in exofs_match()
201 struct exofs_dir_entry *de = (struct exofs_dir_entry *)(base + offset); in exofs_validate_entry() local
204 while ((char *)p < (char *)de) { in exofs_validate_entry()
235 void exofs_set_de_type(struct exofs_dir_entry *de, struct inode *inode) in exofs_set_de_type() argument
238 de->file_type = exofs_type_by_mode[(mode & S_IFMT) >> S_SHIFT]; in exofs_set_de_type()
257 struct exofs_dir_entry *de; in exofs_readdir() local
276 de = (struct exofs_dir_entry *)(kaddr + offset); in exofs_readdir()
279 for (; (char *)de <= limit; de = exofs_next_entry(de)) { in exofs_readdir()
280 if (de->rec_len == 0) { in exofs_readdir()
287 if (de->inode_no) { in exofs_readdir()
290 if (de->file_type < EXOFS_FT_MAX) in exofs_readdir()
291 t = exofs_filetype_table[de->file_type]; in exofs_readdir()
295 if (!dir_emit(ctx, de->name, de->name_len, in exofs_readdir()
296 le64_to_cpu(de->inode_no), in exofs_readdir()
302 ctx->pos += le16_to_cpu(de->rec_len); in exofs_readdir()
319 struct exofs_dir_entry *de; in exofs_find_entry() local
335 de = (struct exofs_dir_entry *) kaddr; in exofs_find_entry()
337 while ((char *) de <= kaddr) { in exofs_find_entry()
338 if (de->rec_len == 0) { in exofs_find_entry()
345 if (exofs_match(namelen, name, de)) in exofs_find_entry()
347 de = exofs_next_entry(de); in exofs_find_entry()
360 return de; in exofs_find_entry()
366 struct exofs_dir_entry *de = NULL; in exofs_dotdot() local
369 de = exofs_next_entry( in exofs_dotdot()
373 return de; in exofs_dotdot()
379 struct exofs_dir_entry *de; in exofs_parent_ino() local
382 de = exofs_dotdot(d_inode(child), &page); in exofs_parent_ino()
383 if (!de) in exofs_parent_ino()
386 ino = le64_to_cpu(de->inode_no); in exofs_parent_ino()
394 struct exofs_dir_entry *de; in exofs_inode_by_name() local
397 de = exofs_find_entry(dir, dentry, &page); in exofs_inode_by_name()
398 if (de) { in exofs_inode_by_name()
399 res = le64_to_cpu(de->inode_no); in exofs_inode_by_name()
405 int exofs_set_link(struct inode *dir, struct exofs_dir_entry *de, in exofs_set_link() argument
409 (char *) de - (char *) page_address(page); in exofs_set_link()
410 unsigned len = le16_to_cpu(de->rec_len); in exofs_set_link()
420 de->inode_no = cpu_to_le64(inode->i_ino); in exofs_set_link()
421 exofs_set_de_type(de, inode); in exofs_set_link()
440 struct exofs_dir_entry *de; in exofs_add_link() local
457 de = (struct exofs_dir_entry *)kaddr; in exofs_add_link()
459 while ((char *)de <= kaddr) { in exofs_add_link()
460 if ((char *)de == dir_end) { in exofs_add_link()
463 de->rec_len = cpu_to_le16(chunk_size); in exofs_add_link()
464 de->inode_no = 0; in exofs_add_link()
467 if (de->rec_len == 0) { in exofs_add_link()
475 if (exofs_match(namelen, name, de)) in exofs_add_link()
477 name_len = EXOFS_DIR_REC_LEN(de->name_len); in exofs_add_link()
478 rec_len = le16_to_cpu(de->rec_len); in exofs_add_link()
479 if (!de->inode_no && rec_len >= reclen) in exofs_add_link()
483 de = (struct exofs_dir_entry *) ((char *) de + rec_len); in exofs_add_link()
495 (char *)de - (char *)page_address(page); in exofs_add_link()
500 if (de->inode_no) { in exofs_add_link()
502 (struct exofs_dir_entry *)((char *)de + name_len); in exofs_add_link()
504 de->rec_len = cpu_to_le16(name_len); in exofs_add_link()
505 de = de1; in exofs_add_link()
507 de->name_len = namelen; in exofs_add_link()
508 memcpy(de->name, name, namelen); in exofs_add_link()
509 de->inode_no = cpu_to_le64(inode->i_ino); in exofs_add_link()
510 exofs_set_de_type(de, inode); in exofs_add_link()
535 struct exofs_dir_entry *de = (struct exofs_dir_entry *) (kaddr + from); in exofs_delete_entry() local
538 while (de < dir) { in exofs_delete_entry()
539 if (de->rec_len == 0) { in exofs_delete_entry()
546 pde = de; in exofs_delete_entry()
547 de = exofs_next_entry(de); in exofs_delete_entry()
580 struct exofs_dir_entry *de; in exofs_make_empty() local
595 de = (struct exofs_dir_entry *)kaddr; in exofs_make_empty()
596 de->name_len = 1; in exofs_make_empty()
597 de->rec_len = cpu_to_le16(EXOFS_DIR_REC_LEN(1)); in exofs_make_empty()
598 memcpy(de->name, THIS_DIR, sizeof(THIS_DIR)); in exofs_make_empty()
599 de->inode_no = cpu_to_le64(inode->i_ino); in exofs_make_empty()
600 exofs_set_de_type(de, inode); in exofs_make_empty()
602 de = (struct exofs_dir_entry *)(kaddr + EXOFS_DIR_REC_LEN(1)); in exofs_make_empty()
603 de->name_len = 2; in exofs_make_empty()
604 de->rec_len = cpu_to_le16(chunk_size - EXOFS_DIR_REC_LEN(1)); in exofs_make_empty()
605 de->inode_no = cpu_to_le64(parent->i_ino); in exofs_make_empty()
606 memcpy(de->name, PARENT_DIR, sizeof(PARENT_DIR)); in exofs_make_empty()
607 exofs_set_de_type(de, inode); in exofs_make_empty()
622 struct exofs_dir_entry *de; in exofs_empty_dir() local
629 de = (struct exofs_dir_entry *)kaddr; in exofs_empty_dir()
632 while ((char *)de <= kaddr) { in exofs_empty_dir()
633 if (de->rec_len == 0) { in exofs_empty_dir()
636 "kaddr=%p, de=%p\n", kaddr, de); in exofs_empty_dir()
639 if (de->inode_no != 0) { in exofs_empty_dir()
641 if (de->name[0] != '.') in exofs_empty_dir()
643 if (de->name_len > 2) in exofs_empty_dir()
645 if (de->name_len < 2) { in exofs_empty_dir()
646 if (le64_to_cpu(de->inode_no) != in exofs_empty_dir()
649 } else if (de->name[1] != '.') in exofs_empty_dir()
652 de = exofs_next_entry(de); in exofs_empty_dir()