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()
76 struct ufs_dir_entry *de; in ufs_inode_by_name() local
79 de = ufs_find_entry(dir, qstr, &page); in ufs_inode_by_name()
80 if (de) { in ufs_inode_by_name()
81 res = fs32_to_cpu(dir->i_sb, de->d_ino); in ufs_inode_by_name()
89 void ufs_set_link(struct inode *dir, struct ufs_dir_entry *de, in ufs_set_link() argument
93 (char *) de - (char *) page_address(page); in ufs_set_link()
94 unsigned len = fs16_to_cpu(dir->i_sb, de->d_reclen); in ufs_set_link()
101 de->d_ino = cpu_to_fs32(dir->i_sb, inode->i_ino); in ufs_set_link()
102 ufs_set_de_type(dir->i_sb, de, inode->i_mode); in ufs_set_link()
233 struct ufs_dir_entry *de = NULL; in ufs_dotdot() local
236 de = ufs_next_entry(dir->i_sb, in ufs_dotdot()
240 return de; in ufs_dotdot()
262 struct ufs_dir_entry *de; in ufs_find_entry() local
282 de = (struct ufs_dir_entry *) kaddr; in ufs_find_entry()
284 while ((char *) de <= kaddr) { in ufs_find_entry()
285 if (de->d_reclen == 0) { in ufs_find_entry()
291 if (ufs_match(sb, namelen, name, de)) in ufs_find_entry()
293 de = ufs_next_entry(sb, de); in ufs_find_entry()
306 return de; in ufs_find_entry()
322 struct ufs_dir_entry *de; in ufs_add_link() local
346 de = (struct ufs_dir_entry *)kaddr; in ufs_add_link()
348 while ((char *)de <= kaddr) { in ufs_add_link()
349 if ((char *)de == dir_end) { in ufs_add_link()
353 de->d_reclen = cpu_to_fs16(sb, chunk_size); in ufs_add_link()
354 de->d_ino = 0; in ufs_add_link()
357 if (de->d_reclen == 0) { in ufs_add_link()
364 if (ufs_match(sb, namelen, name, de)) in ufs_add_link()
366 name_len = UFS_DIR_REC_LEN(ufs_get_de_namlen(sb, de)); in ufs_add_link()
367 rec_len = fs16_to_cpu(sb, de->d_reclen); in ufs_add_link()
368 if (!de->d_ino && rec_len >= reclen) in ufs_add_link()
372 de = (struct ufs_dir_entry *) ((char *) de + rec_len); in ufs_add_link()
382 (char*)de - (char*)page_address(page); in ufs_add_link()
386 if (de->d_ino) { in ufs_add_link()
388 (struct ufs_dir_entry *) ((char *) de + name_len); in ufs_add_link()
390 de->d_reclen = cpu_to_fs16(sb, name_len); in ufs_add_link()
392 de = de1; in ufs_add_link()
395 ufs_set_de_namlen(sb, de, namelen); in ufs_add_link()
396 memcpy(de->d_name, name, namelen + 1); in ufs_add_link()
397 de->d_ino = cpu_to_fs32(sb, inode->i_ino); in ufs_add_link()
398 ufs_set_de_type(sb, de, inode->i_mode); in ufs_add_link()
418 struct ufs_dir_entry *de = (struct ufs_dir_entry*)(base + offset); in ufs_validate_entry() local
420 while ((char*)p < (char*)de) { in ufs_validate_entry()
452 struct ufs_dir_entry *de; in ufs_readdir() local
472 de = (struct ufs_dir_entry *)(kaddr+offset); in ufs_readdir()
474 for ( ;(char*)de <= limit; de = ufs_next_entry(sb, de)) { in ufs_readdir()
475 if (de->d_reclen == 0) { in ufs_readdir()
481 if (de->d_ino) { in ufs_readdir()
484 UFSD("filldir(%s,%u)\n", de->d_name, in ufs_readdir()
485 fs32_to_cpu(sb, de->d_ino)); in ufs_readdir()
486 UFSD("namlen %u\n", ufs_get_de_namlen(sb, de)); in ufs_readdir()
489 d_type = de->d_u.d_44.d_type; in ufs_readdir()
491 if (!dir_emit(ctx, de->d_name, in ufs_readdir()
492 ufs_get_de_namlen(sb, de), in ufs_readdir()
493 fs32_to_cpu(sb, de->d_ino), in ufs_readdir()
499 ctx->pos += fs16_to_cpu(sb, de->d_reclen); in ufs_readdir()
520 struct ufs_dir_entry *de = (struct ufs_dir_entry *) (kaddr + from); in ufs_delete_entry() local
526 fs32_to_cpu(sb, de->d_ino), in ufs_delete_entry()
527 fs16_to_cpu(sb, de->d_reclen), in ufs_delete_entry()
528 ufs_get_de_namlen(sb, de), de->d_name); in ufs_delete_entry()
530 while ((char*)de < (char*)dir) { in ufs_delete_entry()
531 if (de->d_reclen == 0) { in ufs_delete_entry()
537 pde = de; in ufs_delete_entry()
538 de = ufs_next_entry(sb, de); in ufs_delete_entry()
565 struct ufs_dir_entry * de; in ufs_make_empty() local
582 de = (struct ufs_dir_entry *) base; in ufs_make_empty()
584 de->d_ino = cpu_to_fs32(sb, inode->i_ino); in ufs_make_empty()
585 ufs_set_de_type(sb, de, inode->i_mode); in ufs_make_empty()
586 ufs_set_de_namlen(sb, de, 1); in ufs_make_empty()
587 de->d_reclen = cpu_to_fs16(sb, UFS_DIR_REC_LEN(1)); in ufs_make_empty()
588 strcpy (de->d_name, "."); in ufs_make_empty()
589 de = (struct ufs_dir_entry *) in ufs_make_empty()
590 ((char *)de + fs16_to_cpu(sb, de->d_reclen)); in ufs_make_empty()
591 de->d_ino = cpu_to_fs32(sb, dir->i_ino); in ufs_make_empty()
592 ufs_set_de_type(sb, de, dir->i_mode); in ufs_make_empty()
593 de->d_reclen = cpu_to_fs16(sb, chunk_size - UFS_DIR_REC_LEN(1)); in ufs_make_empty()
594 ufs_set_de_namlen(sb, de, 2); in ufs_make_empty()
595 strcpy (de->d_name, ".."); in ufs_make_empty()
615 struct ufs_dir_entry *de; in ufs_empty_dir() local
622 de = (struct ufs_dir_entry *)kaddr; in ufs_empty_dir()
625 while ((char *)de <= kaddr) { in ufs_empty_dir()
626 if (de->d_reclen == 0) { in ufs_empty_dir()
629 "kaddr=%p, de=%p\n", kaddr, de); in ufs_empty_dir()
632 if (de->d_ino) { in ufs_empty_dir()
633 u16 namelen=ufs_get_de_namlen(sb, de); in ufs_empty_dir()
635 if (de->d_name[0] != '.') in ufs_empty_dir()
641 fs32_to_cpu(sb, de->d_ino)) in ufs_empty_dir()
643 } else if (de->d_name[1] != '.') in ufs_empty_dir()
646 de = ufs_next_entry(sb, de); in ufs_empty_dir()