Lines Matching full:de

14  * on code by Martin von Loewis <martin@mira.isdn.cs.tu-berlin.de>.
33 * len <= UFS_MAXNAMLEN and de != NULL are guaranteed by caller.
36 const unsigned char *name, struct ufs_dir_entry *de) in ufs_match() argument
38 if (len != ufs_get_de_namlen(sb, de)) in ufs_match()
40 if (!de->d_ino) in ufs_match()
42 return !memcmp(name, de->d_name, len); in ufs_match()
78 struct ufs_dir_entry *de; in ufs_inode_by_name() local
81 de = ufs_find_entry(dir, qstr, &page); in ufs_inode_by_name()
82 if (de) { in ufs_inode_by_name()
83 res = fs32_to_cpu(dir->i_sb, de->d_ino); in ufs_inode_by_name()
91 void ufs_set_link(struct inode *dir, struct ufs_dir_entry *de, in ufs_set_link() argument
96 (char *) de - (char *) page_address(page); in ufs_set_link()
97 unsigned len = fs16_to_cpu(dir->i_sb, de->d_reclen); in ufs_set_link()
104 de->d_ino = cpu_to_fs32(dir->i_sb, inode->i_ino); in ufs_set_link()
105 ufs_set_de_type(dir->i_sb, de, inode->i_mode); in ufs_set_link()
238 struct ufs_dir_entry *de = NULL; in ufs_dotdot() local
241 de = ufs_next_entry(dir->i_sb, in ufs_dotdot()
245 return de; in ufs_dotdot()
267 struct ufs_dir_entry *de; in ufs_find_entry() local
287 de = (struct ufs_dir_entry *) kaddr; in ufs_find_entry()
289 while ((char *) de <= kaddr) { in ufs_find_entry()
290 if (ufs_match(sb, namelen, name, de)) in ufs_find_entry()
292 de = ufs_next_entry(sb, de); in ufs_find_entry()
305 return de; in ufs_find_entry()
321 struct ufs_dir_entry *de; in ufs_add_link() local
345 de = (struct ufs_dir_entry *)kaddr; in ufs_add_link()
347 while ((char *)de <= kaddr) { in ufs_add_link()
348 if ((char *)de == dir_end) { in ufs_add_link()
352 de->d_reclen = cpu_to_fs16(sb, chunk_size); in ufs_add_link()
353 de->d_ino = 0; in ufs_add_link()
356 if (de->d_reclen == 0) { in ufs_add_link()
363 if (ufs_match(sb, namelen, name, de)) in ufs_add_link()
365 name_len = UFS_DIR_REC_LEN(ufs_get_de_namlen(sb, de)); in ufs_add_link()
366 rec_len = fs16_to_cpu(sb, de->d_reclen); in ufs_add_link()
367 if (!de->d_ino && rec_len >= reclen) in ufs_add_link()
371 de = (struct ufs_dir_entry *) ((char *) de + rec_len); in ufs_add_link()
381 (char*)de - (char*)page_address(page); in ufs_add_link()
385 if (de->d_ino) { in ufs_add_link()
387 (struct ufs_dir_entry *) ((char *) de + name_len); in ufs_add_link()
389 de->d_reclen = cpu_to_fs16(sb, name_len); in ufs_add_link()
391 de = de1; in ufs_add_link()
394 ufs_set_de_namlen(sb, de, namelen); in ufs_add_link()
395 memcpy(de->d_name, name, namelen + 1); in ufs_add_link()
396 de->d_ino = cpu_to_fs32(sb, inode->i_ino); in ufs_add_link()
397 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()
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_ino) { in ufs_readdir()
475 UFSD("filldir(%s,%u)\n", de->d_name, in ufs_readdir()
476 fs32_to_cpu(sb, de->d_ino)); in ufs_readdir()
477 UFSD("namlen %u\n", ufs_get_de_namlen(sb, de)); in ufs_readdir()
480 d_type = de->d_u.d_44.d_type; in ufs_readdir()
482 if (!dir_emit(ctx, de->d_name, in ufs_readdir()
483 ufs_get_de_namlen(sb, de), in ufs_readdir()
484 fs32_to_cpu(sb, de->d_ino), in ufs_readdir()
490 ctx->pos += fs16_to_cpu(sb, de->d_reclen); in ufs_readdir()
511 struct ufs_dir_entry *de = (struct ufs_dir_entry *) (kaddr + from); in ufs_delete_entry() local
517 fs32_to_cpu(sb, de->d_ino), in ufs_delete_entry()
518 fs16_to_cpu(sb, de->d_reclen), in ufs_delete_entry()
519 ufs_get_de_namlen(sb, de), de->d_name); in ufs_delete_entry()
521 while ((char*)de < (char*)dir) { in ufs_delete_entry()
522 if (de->d_reclen == 0) { in ufs_delete_entry()
528 pde = de; in ufs_delete_entry()
529 de = ufs_next_entry(sb, de); in ufs_delete_entry()
557 struct ufs_dir_entry * de; in ufs_make_empty() local
574 de = (struct ufs_dir_entry *) base; in ufs_make_empty()
576 de->d_ino = cpu_to_fs32(sb, inode->i_ino); in ufs_make_empty()
577 ufs_set_de_type(sb, de, inode->i_mode); in ufs_make_empty()
578 ufs_set_de_namlen(sb, de, 1); in ufs_make_empty()
579 de->d_reclen = cpu_to_fs16(sb, UFS_DIR_REC_LEN(1)); in ufs_make_empty()
580 strcpy (de->d_name, "."); in ufs_make_empty()
581 de = (struct ufs_dir_entry *) in ufs_make_empty()
582 ((char *)de + fs16_to_cpu(sb, de->d_reclen)); in ufs_make_empty()
583 de->d_ino = cpu_to_fs32(sb, dir->i_ino); in ufs_make_empty()
584 ufs_set_de_type(sb, de, dir->i_mode); in ufs_make_empty()
585 de->d_reclen = cpu_to_fs16(sb, chunk_size - UFS_DIR_REC_LEN(1)); in ufs_make_empty()
586 ufs_set_de_namlen(sb, de, 2); in ufs_make_empty()
587 strcpy (de->d_name, ".."); in ufs_make_empty()
608 struct ufs_dir_entry *de; in ufs_empty_dir() local
615 de = (struct ufs_dir_entry *)kaddr; in ufs_empty_dir()
618 while ((char *)de <= kaddr) { in ufs_empty_dir()
619 if (de->d_reclen == 0) { in ufs_empty_dir()
622 "kaddr=%p, de=%p\n", kaddr, de); in ufs_empty_dir()
625 if (de->d_ino) { in ufs_empty_dir()
626 u16 namelen=ufs_get_de_namlen(sb, de); in ufs_empty_dir()
628 if (de->d_name[0] != '.') in ufs_empty_dir()
634 fs32_to_cpu(sb, de->d_ino)) in ufs_empty_dir()
636 } else if (de->d_name[1] != '.') in ufs_empty_dir()
639 de = ufs_next_entry(sb, de); in ufs_empty_dir()