Lines Matching full:de
221 * len <= EXT2_NAME_LEN and de != NULL are guaranteed by caller.
224 struct ext2_dir_entry_2 * de) in ext2_match() argument
226 if (len != de->name_len) in ext2_match()
228 if (!de->inode) in ext2_match()
230 return !memcmp(name, de->name, len); in ext2_match()
245 ext2_dirent *de = (ext2_dirent*)(base + offset); in ext2_validate_entry() local
247 while ((char*)p < (char*)de) { in ext2_validate_entry()
255 static inline void ext2_set_de_type(ext2_dirent *de, struct inode *inode) in ext2_set_de_type() argument
258 de->file_type = fs_umode_to_ftype(inode->i_mode); in ext2_set_de_type()
260 de->file_type = 0; in ext2_set_de_type()
284 ext2_dirent *de; in ext2_readdir() local
303 de = (ext2_dirent *)(kaddr+offset); in ext2_readdir()
305 for ( ;(char*)de <= limit; de = ext2_next_entry(de)) { in ext2_readdir()
306 if (de->rec_len == 0) { in ext2_readdir()
312 if (de->inode) { in ext2_readdir()
316 d_type = fs_ftype_to_dtype(de->file_type); in ext2_readdir()
318 if (!dir_emit(ctx, de->name, de->name_len, in ext2_readdir()
319 le32_to_cpu(de->inode), in ext2_readdir()
325 ctx->pos += ext2_rec_len_from_disk(de->rec_len); in ext2_readdir()
350 ext2_dirent * de; in ext2_find_entry() local
369 de = (ext2_dirent *) kaddr; in ext2_find_entry()
371 while ((char *) de <= kaddr) { in ext2_find_entry()
372 if (de->rec_len == 0) { in ext2_find_entry()
378 if (ext2_match(namelen, name, de)) in ext2_find_entry()
380 de = ext2_next_entry(de); in ext2_find_entry()
401 return de; in ext2_find_entry()
407 ext2_dirent *de = NULL; in ext2_dotdot() local
410 de = ext2_next_entry((ext2_dirent *) page_address(page)); in ext2_dotdot()
413 return de; in ext2_dotdot()
418 struct ext2_dir_entry_2 *de; in ext2_inode_by_name() local
421 de = ext2_find_entry(dir, child, &page); in ext2_inode_by_name()
422 if (IS_ERR(de)) in ext2_inode_by_name()
423 return PTR_ERR(de); in ext2_inode_by_name()
425 *ino = le32_to_cpu(de->inode); in ext2_inode_by_name()
436 void ext2_set_link(struct inode *dir, struct ext2_dir_entry_2 *de, in ext2_set_link() argument
440 (char *) de - (char *) page_address(page); in ext2_set_link()
441 unsigned len = ext2_rec_len_from_disk(de->rec_len); in ext2_set_link()
447 de->inode = cpu_to_le32(inode->i_ino); in ext2_set_link()
448 ext2_set_de_type(de, inode); in ext2_set_link()
469 ext2_dirent * de; in ext2_add_link() local
491 de = (ext2_dirent *)kaddr; in ext2_add_link()
493 while ((char *)de <= kaddr) { in ext2_add_link()
494 if ((char *)de == dir_end) { in ext2_add_link()
498 de->rec_len = ext2_rec_len_to_disk(chunk_size); in ext2_add_link()
499 de->inode = 0; in ext2_add_link()
502 if (de->rec_len == 0) { in ext2_add_link()
509 if (ext2_match (namelen, name, de)) in ext2_add_link()
511 name_len = EXT2_DIR_REC_LEN(de->name_len); in ext2_add_link()
512 rec_len = ext2_rec_len_from_disk(de->rec_len); in ext2_add_link()
513 if (!de->inode && rec_len >= reclen) in ext2_add_link()
517 de = (ext2_dirent *) ((char *) de + rec_len); in ext2_add_link()
527 (char*)de - (char*)page_address(page); in ext2_add_link()
531 if (de->inode) { in ext2_add_link()
532 ext2_dirent *de1 = (ext2_dirent *) ((char *) de + name_len); in ext2_add_link()
534 de->rec_len = ext2_rec_len_to_disk(name_len); in ext2_add_link()
535 de = de1; in ext2_add_link()
537 de->name_len = namelen; in ext2_add_link()
538 memcpy(de->name, name, namelen); in ext2_add_link()
539 de->inode = cpu_to_le32(inode->i_ino); in ext2_add_link()
540 ext2_set_de_type (de, inode); in ext2_add_link()
568 ext2_dirent * de = (ext2_dirent *) (kaddr + from); in ext2_delete_entry() local
571 while ((char*)de < (char*)dir) { in ext2_delete_entry()
572 if (de->rec_len == 0) { in ext2_delete_entry()
578 pde = de; in ext2_delete_entry()
579 de = ext2_next_entry(de); in ext2_delete_entry()
606 struct ext2_dir_entry_2 * de; in ext2_make_empty() local
620 de = (struct ext2_dir_entry_2 *)kaddr; in ext2_make_empty()
621 de->name_len = 1; in ext2_make_empty()
622 de->rec_len = ext2_rec_len_to_disk(EXT2_DIR_REC_LEN(1)); in ext2_make_empty()
623 memcpy (de->name, ".\0\0", 4); in ext2_make_empty()
624 de->inode = cpu_to_le32(inode->i_ino); in ext2_make_empty()
625 ext2_set_de_type (de, inode); in ext2_make_empty()
627 de = (struct ext2_dir_entry_2 *)(kaddr + EXT2_DIR_REC_LEN(1)); in ext2_make_empty()
628 de->name_len = 2; in ext2_make_empty()
629 de->rec_len = ext2_rec_len_to_disk(chunk_size - EXT2_DIR_REC_LEN(1)); in ext2_make_empty()
630 de->inode = cpu_to_le32(parent->i_ino); in ext2_make_empty()
631 memcpy (de->name, "..\0", 4); in ext2_make_empty()
632 ext2_set_de_type (de, inode); in ext2_make_empty()
651 ext2_dirent * de; in ext2_empty_dir() local
660 de = (ext2_dirent *)kaddr; in ext2_empty_dir()
663 while ((char *)de <= kaddr) { in ext2_empty_dir()
664 if (de->rec_len == 0) { in ext2_empty_dir()
667 printk("kaddr=%p, de=%p\n", kaddr, de); in ext2_empty_dir()
670 if (de->inode != 0) { in ext2_empty_dir()
672 if (de->name[0] != '.') in ext2_empty_dir()
674 if (de->name_len > 2) in ext2_empty_dir()
676 if (de->name_len < 2) { in ext2_empty_dir()
677 if (de->inode != in ext2_empty_dir()
680 } else if (de->name[1] != '.') in ext2_empty_dir()
683 de = ext2_next_entry(de); in ext2_empty_dir()