Lines Matching refs:de

178 					struct exofs_dir_entry *de)  in exofs_match()  argument
180 if (len != de->name_len) in exofs_match()
182 if (!de->inode_no) in exofs_match()
184 return !memcmp(name, de->name, len); in exofs_match()
196 struct exofs_dir_entry *de = (struct exofs_dir_entry *)(base + offset); in exofs_validate_entry() local
199 while ((char *)p < (char *)de) { in exofs_validate_entry()
230 void exofs_set_de_type(struct exofs_dir_entry *de, struct inode *inode) in exofs_set_de_type() argument
233 de->file_type = exofs_type_by_mode[(mode & S_IFMT) >> S_SHIFT]; in exofs_set_de_type()
252 struct exofs_dir_entry *de; in exofs_readdir() local
271 de = (struct exofs_dir_entry *)(kaddr + offset); in exofs_readdir()
274 for (; (char *)de <= limit; de = exofs_next_entry(de)) { in exofs_readdir()
275 if (de->rec_len == 0) { in exofs_readdir()
282 if (de->inode_no) { in exofs_readdir()
285 if (de->file_type < EXOFS_FT_MAX) in exofs_readdir()
286 t = exofs_filetype_table[de->file_type]; in exofs_readdir()
290 if (!dir_emit(ctx, de->name, de->name_len, in exofs_readdir()
291 le64_to_cpu(de->inode_no), in exofs_readdir()
297 ctx->pos += le16_to_cpu(de->rec_len); in exofs_readdir()
314 struct exofs_dir_entry *de; in exofs_find_entry() local
330 de = (struct exofs_dir_entry *) kaddr; in exofs_find_entry()
332 while ((char *) de <= kaddr) { in exofs_find_entry()
333 if (de->rec_len == 0) { in exofs_find_entry()
340 if (exofs_match(namelen, name, de)) in exofs_find_entry()
342 de = exofs_next_entry(de); in exofs_find_entry()
355 return de; in exofs_find_entry()
361 struct exofs_dir_entry *de = NULL; in exofs_dotdot() local
364 de = exofs_next_entry( in exofs_dotdot()
368 return de; in exofs_dotdot()
374 struct exofs_dir_entry *de; in exofs_parent_ino() local
377 de = exofs_dotdot(d_inode(child), &page); in exofs_parent_ino()
378 if (!de) in exofs_parent_ino()
381 ino = le64_to_cpu(de->inode_no); in exofs_parent_ino()
389 struct exofs_dir_entry *de; in exofs_inode_by_name() local
392 de = exofs_find_entry(dir, dentry, &page); in exofs_inode_by_name()
393 if (de) { in exofs_inode_by_name()
394 res = le64_to_cpu(de->inode_no); in exofs_inode_by_name()
400 int exofs_set_link(struct inode *dir, struct exofs_dir_entry *de, in exofs_set_link() argument
404 (char *) de - (char *) page_address(page); in exofs_set_link()
405 unsigned len = le16_to_cpu(de->rec_len); in exofs_set_link()
414 de->inode_no = cpu_to_le64(inode->i_ino); in exofs_set_link()
415 exofs_set_de_type(de, inode); in exofs_set_link()
434 struct exofs_dir_entry *de; in exofs_add_link() local
451 de = (struct exofs_dir_entry *)kaddr; in exofs_add_link()
453 while ((char *)de <= kaddr) { in exofs_add_link()
454 if ((char *)de == dir_end) { in exofs_add_link()
457 de->rec_len = cpu_to_le16(chunk_size); in exofs_add_link()
458 de->inode_no = 0; in exofs_add_link()
461 if (de->rec_len == 0) { in exofs_add_link()
469 if (exofs_match(namelen, name, de)) in exofs_add_link()
471 name_len = EXOFS_DIR_REC_LEN(de->name_len); in exofs_add_link()
472 rec_len = le16_to_cpu(de->rec_len); in exofs_add_link()
473 if (!de->inode_no && rec_len >= reclen) in exofs_add_link()
477 de = (struct exofs_dir_entry *) ((char *) de + rec_len); in exofs_add_link()
489 (char *)de - (char *)page_address(page); in exofs_add_link()
494 if (de->inode_no) { in exofs_add_link()
496 (struct exofs_dir_entry *)((char *)de + name_len); in exofs_add_link()
498 de->rec_len = cpu_to_le16(name_len); in exofs_add_link()
499 de = de1; in exofs_add_link()
501 de->name_len = namelen; in exofs_add_link()
502 memcpy(de->name, name, namelen); in exofs_add_link()
503 de->inode_no = cpu_to_le64(inode->i_ino); in exofs_add_link()
504 exofs_set_de_type(de, inode); in exofs_add_link()
529 struct exofs_dir_entry *de = (struct exofs_dir_entry *) (kaddr + from); in exofs_delete_entry() local
532 while (de < dir) { in exofs_delete_entry()
533 if (de->rec_len == 0) { in exofs_delete_entry()
540 pde = de; in exofs_delete_entry()
541 de = exofs_next_entry(de); in exofs_delete_entry()
574 struct exofs_dir_entry *de; in exofs_make_empty() local
589 de = (struct exofs_dir_entry *)kaddr; in exofs_make_empty()
590 de->name_len = 1; in exofs_make_empty()
591 de->rec_len = cpu_to_le16(EXOFS_DIR_REC_LEN(1)); in exofs_make_empty()
592 memcpy(de->name, THIS_DIR, sizeof(THIS_DIR)); in exofs_make_empty()
593 de->inode_no = cpu_to_le64(inode->i_ino); in exofs_make_empty()
594 exofs_set_de_type(de, inode); in exofs_make_empty()
596 de = (struct exofs_dir_entry *)(kaddr + EXOFS_DIR_REC_LEN(1)); in exofs_make_empty()
597 de->name_len = 2; in exofs_make_empty()
598 de->rec_len = cpu_to_le16(chunk_size - EXOFS_DIR_REC_LEN(1)); in exofs_make_empty()
599 de->inode_no = cpu_to_le64(parent->i_ino); in exofs_make_empty()
600 memcpy(de->name, PARENT_DIR, sizeof(PARENT_DIR)); in exofs_make_empty()
601 exofs_set_de_type(de, inode); in exofs_make_empty()
616 struct exofs_dir_entry *de; in exofs_empty_dir() local
623 de = (struct exofs_dir_entry *)kaddr; in exofs_empty_dir()
626 while ((char *)de <= kaddr) { in exofs_empty_dir()
627 if (de->rec_len == 0) { in exofs_empty_dir()
630 "kaddr=%p, de=%p\n", kaddr, de); in exofs_empty_dir()
633 if (de->inode_no != 0) { in exofs_empty_dir()
635 if (de->name[0] != '.') in exofs_empty_dir()
637 if (de->name_len > 2) in exofs_empty_dir()
639 if (de->name_len < 2) { in exofs_empty_dir()
640 if (le64_to_cpu(de->inode_no) != in exofs_empty_dir()
643 } else if (de->name[1] != '.') in exofs_empty_dir()
646 de = exofs_next_entry(de); in exofs_empty_dir()