Lines Matching refs:de
34 const unsigned char *name, struct ufs_dir_entry *de) in ufs_match() argument
36 if (len != ufs_get_de_namlen(sb, de)) in ufs_match()
38 if (!de->d_ino) in ufs_match()
40 return !memcmp(name, de->d_name, len); in ufs_match()
71 struct ufs_dir_entry *de; in ufs_inode_by_name() local
74 de = ufs_find_entry(dir, qstr, &page); in ufs_inode_by_name()
75 if (de) { in ufs_inode_by_name()
76 res = fs32_to_cpu(dir->i_sb, de->d_ino); in ufs_inode_by_name()
84 void ufs_set_link(struct inode *dir, struct ufs_dir_entry *de, in ufs_set_link() argument
89 (char *) de - (char *) page_address(page); in ufs_set_link()
90 unsigned len = fs16_to_cpu(dir->i_sb, de->d_reclen); in ufs_set_link()
97 de->d_ino = cpu_to_fs32(dir->i_sb, inode->i_ino); in ufs_set_link()
98 ufs_set_de_type(dir->i_sb, de, inode->i_mode); in ufs_set_link()
230 struct ufs_dir_entry *de = NULL; in ufs_dotdot() local
233 de = ufs_next_entry(dir->i_sb, in ufs_dotdot()
237 return de; in ufs_dotdot()
259 struct ufs_dir_entry *de; in ufs_find_entry() local
279 de = (struct ufs_dir_entry *) kaddr; in ufs_find_entry()
281 while ((char *) de <= kaddr) { in ufs_find_entry()
282 if (de->d_reclen == 0) { in ufs_find_entry()
288 if (ufs_match(sb, namelen, name, de)) in ufs_find_entry()
290 de = ufs_next_entry(sb, de); in ufs_find_entry()
303 return de; in ufs_find_entry()
319 struct ufs_dir_entry *de; in ufs_add_link() local
343 de = (struct ufs_dir_entry *)kaddr; in ufs_add_link()
345 while ((char *)de <= kaddr) { in ufs_add_link()
346 if ((char *)de == dir_end) { in ufs_add_link()
350 de->d_reclen = cpu_to_fs16(sb, chunk_size); in ufs_add_link()
351 de->d_ino = 0; in ufs_add_link()
354 if (de->d_reclen == 0) { in ufs_add_link()
361 if (ufs_match(sb, namelen, name, de)) in ufs_add_link()
363 name_len = UFS_DIR_REC_LEN(ufs_get_de_namlen(sb, de)); in ufs_add_link()
364 rec_len = fs16_to_cpu(sb, de->d_reclen); in ufs_add_link()
365 if (!de->d_ino && rec_len >= reclen) in ufs_add_link()
369 de = (struct ufs_dir_entry *) ((char *) de + rec_len); in ufs_add_link()
379 (char*)de - (char*)page_address(page); in ufs_add_link()
383 if (de->d_ino) { in ufs_add_link()
385 (struct ufs_dir_entry *) ((char *) de + name_len); in ufs_add_link()
387 de->d_reclen = cpu_to_fs16(sb, name_len); in ufs_add_link()
389 de = de1; in ufs_add_link()
392 ufs_set_de_namlen(sb, de, namelen); in ufs_add_link()
393 memcpy(de->d_name, name, namelen + 1); in ufs_add_link()
394 de->d_ino = cpu_to_fs32(sb, inode->i_ino); in ufs_add_link()
395 ufs_set_de_type(sb, de, inode->i_mode); in ufs_add_link()
415 struct ufs_dir_entry *de = (struct ufs_dir_entry*)(base + offset); in ufs_validate_entry() local
417 while ((char*)p < (char*)de) { in ufs_validate_entry()
449 struct ufs_dir_entry *de; in ufs_readdir() local
469 de = (struct ufs_dir_entry *)(kaddr+offset); in ufs_readdir()
471 for ( ;(char*)de <= limit; de = ufs_next_entry(sb, de)) { in ufs_readdir()
472 if (de->d_reclen == 0) { in ufs_readdir()
478 if (de->d_ino) { in ufs_readdir()
481 UFSD("filldir(%s,%u)\n", de->d_name, in ufs_readdir()
482 fs32_to_cpu(sb, de->d_ino)); in ufs_readdir()
483 UFSD("namlen %u\n", ufs_get_de_namlen(sb, de)); in ufs_readdir()
486 d_type = de->d_u.d_44.d_type; in ufs_readdir()
488 if (!dir_emit(ctx, de->d_name, in ufs_readdir()
489 ufs_get_de_namlen(sb, de), in ufs_readdir()
490 fs32_to_cpu(sb, de->d_ino), in ufs_readdir()
496 ctx->pos += fs16_to_cpu(sb, de->d_reclen); in ufs_readdir()
517 struct ufs_dir_entry *de = (struct ufs_dir_entry *) (kaddr + from); in ufs_delete_entry() local
523 fs32_to_cpu(sb, de->d_ino), in ufs_delete_entry()
524 fs16_to_cpu(sb, de->d_reclen), in ufs_delete_entry()
525 ufs_get_de_namlen(sb, de), de->d_name); in ufs_delete_entry()
527 while ((char*)de < (char*)dir) { in ufs_delete_entry()
528 if (de->d_reclen == 0) { in ufs_delete_entry()
534 pde = de; in ufs_delete_entry()
535 de = ufs_next_entry(sb, de); in ufs_delete_entry()
562 struct ufs_dir_entry * de; in ufs_make_empty() local
579 de = (struct ufs_dir_entry *) base; in ufs_make_empty()
581 de->d_ino = cpu_to_fs32(sb, inode->i_ino); in ufs_make_empty()
582 ufs_set_de_type(sb, de, inode->i_mode); in ufs_make_empty()
583 ufs_set_de_namlen(sb, de, 1); in ufs_make_empty()
584 de->d_reclen = cpu_to_fs16(sb, UFS_DIR_REC_LEN(1)); in ufs_make_empty()
585 strcpy (de->d_name, "."); in ufs_make_empty()
586 de = (struct ufs_dir_entry *) in ufs_make_empty()
587 ((char *)de + fs16_to_cpu(sb, de->d_reclen)); in ufs_make_empty()
588 de->d_ino = cpu_to_fs32(sb, dir->i_ino); in ufs_make_empty()
589 ufs_set_de_type(sb, de, dir->i_mode); in ufs_make_empty()
590 de->d_reclen = cpu_to_fs16(sb, chunk_size - UFS_DIR_REC_LEN(1)); in ufs_make_empty()
591 ufs_set_de_namlen(sb, de, 2); in ufs_make_empty()
592 strcpy (de->d_name, ".."); in ufs_make_empty()
612 struct ufs_dir_entry *de; in ufs_empty_dir() local
619 de = (struct ufs_dir_entry *)kaddr; in ufs_empty_dir()
622 while ((char *)de <= kaddr) { in ufs_empty_dir()
623 if (de->d_reclen == 0) { in ufs_empty_dir()
626 "kaddr=%p, de=%p\n", kaddr, de); in ufs_empty_dir()
629 if (de->d_ino) { in ufs_empty_dir()
630 u16 namelen=ufs_get_de_namlen(sb, de); in ufs_empty_dir()
632 if (de->d_name[0] != '.') in ufs_empty_dir()
638 fs32_to_cpu(sb, de->d_ino)) in ufs_empty_dir()
640 } else if (de->d_name[1] != '.') in ufs_empty_dir()
643 de = ufs_next_entry(sb, de); in ufs_empty_dir()