Lines Matching refs:de

214 nilfs_match(int len, const unsigned char *name, struct nilfs_dir_entry *de)  in nilfs_match()  argument
216 if (len != de->name_len) in nilfs_match()
218 if (!de->inode) in nilfs_match()
220 return !memcmp(name, de->name, len); in nilfs_match()
256 static void nilfs_set_de_type(struct nilfs_dir_entry *de, struct inode *inode) in nilfs_set_de_type() argument
260 de->file_type = nilfs_type_by_mode[(mode & S_IFMT)>>S_SHIFT]; in nilfs_set_de_type()
277 struct nilfs_dir_entry *de; in nilfs_readdir() local
286 de = (struct nilfs_dir_entry *)(kaddr + offset); in nilfs_readdir()
289 for ( ; (char *)de <= limit; de = nilfs_next_entry(de)) { in nilfs_readdir()
290 if (de->rec_len == 0) { in nilfs_readdir()
295 if (de->inode) { in nilfs_readdir()
298 if (de->file_type < NILFS_FT_MAX) in nilfs_readdir()
299 t = nilfs_filetype_table[de->file_type]; in nilfs_readdir()
303 if (!dir_emit(ctx, de->name, de->name_len, in nilfs_readdir()
304 le64_to_cpu(de->inode), t)) { in nilfs_readdir()
309 ctx->pos += nilfs_rec_len_from_disk(de->rec_len); in nilfs_readdir()
335 struct nilfs_dir_entry *de; in nilfs_find_entry() local
353 de = (struct nilfs_dir_entry *)kaddr; in nilfs_find_entry()
355 while ((char *) de <= kaddr) { in nilfs_find_entry()
356 if (de->rec_len == 0) { in nilfs_find_entry()
362 if (nilfs_match(namelen, name, de)) in nilfs_find_entry()
364 de = nilfs_next_entry(de); in nilfs_find_entry()
385 return de; in nilfs_find_entry()
391 struct nilfs_dir_entry *de = NULL; in nilfs_dotdot() local
394 de = nilfs_next_entry( in nilfs_dotdot()
398 return de; in nilfs_dotdot()
404 struct nilfs_dir_entry *de; in nilfs_inode_by_name() local
407 de = nilfs_find_entry(dir, qstr, &page); in nilfs_inode_by_name()
408 if (de) { in nilfs_inode_by_name()
409 res = le64_to_cpu(de->inode); in nilfs_inode_by_name()
417 void nilfs_set_link(struct inode *dir, struct nilfs_dir_entry *de, in nilfs_set_link() argument
420 unsigned int from = (char *)de - (char *)page_address(page); in nilfs_set_link()
421 unsigned int to = from + nilfs_rec_len_from_disk(de->rec_len); in nilfs_set_link()
428 de->inode = cpu_to_le64(inode->i_ino); in nilfs_set_link()
429 nilfs_set_de_type(de, inode); in nilfs_set_link()
447 struct nilfs_dir_entry *de; in nilfs_add_link() local
469 de = (struct nilfs_dir_entry *)kaddr; in nilfs_add_link()
471 while ((char *)de <= kaddr) { in nilfs_add_link()
472 if ((char *)de == dir_end) { in nilfs_add_link()
476 de->rec_len = nilfs_rec_len_to_disk(chunk_size); in nilfs_add_link()
477 de->inode = 0; in nilfs_add_link()
480 if (de->rec_len == 0) { in nilfs_add_link()
487 if (nilfs_match(namelen, name, de)) in nilfs_add_link()
489 name_len = NILFS_DIR_REC_LEN(de->name_len); in nilfs_add_link()
490 rec_len = nilfs_rec_len_from_disk(de->rec_len); in nilfs_add_link()
491 if (!de->inode && rec_len >= reclen) in nilfs_add_link()
495 de = (struct nilfs_dir_entry *)((char *)de + rec_len); in nilfs_add_link()
504 from = (char *)de - (char *)page_address(page); in nilfs_add_link()
509 if (de->inode) { in nilfs_add_link()
512 de1 = (struct nilfs_dir_entry *)((char *)de + name_len); in nilfs_add_link()
514 de->rec_len = nilfs_rec_len_to_disk(name_len); in nilfs_add_link()
515 de = de1; in nilfs_add_link()
517 de->name_len = namelen; in nilfs_add_link()
518 memcpy(de->name, name, namelen); in nilfs_add_link()
519 de->inode = cpu_to_le64(inode->i_ino); in nilfs_add_link()
520 nilfs_set_de_type(de, inode); in nilfs_add_link()
544 struct nilfs_dir_entry *de, *pde = NULL; in nilfs_delete_entry() local
549 de = (struct nilfs_dir_entry *)(kaddr + from); in nilfs_delete_entry()
551 while ((char *)de < (char *)dir) { in nilfs_delete_entry()
552 if (de->rec_len == 0) { in nilfs_delete_entry()
558 pde = de; in nilfs_delete_entry()
559 de = nilfs_next_entry(de); in nilfs_delete_entry()
584 struct nilfs_dir_entry *de; in nilfs_make_empty() local
598 de = (struct nilfs_dir_entry *)kaddr; in nilfs_make_empty()
599 de->name_len = 1; in nilfs_make_empty()
600 de->rec_len = nilfs_rec_len_to_disk(NILFS_DIR_REC_LEN(1)); in nilfs_make_empty()
601 memcpy(de->name, ".\0\0", 4); in nilfs_make_empty()
602 de->inode = cpu_to_le64(inode->i_ino); in nilfs_make_empty()
603 nilfs_set_de_type(de, inode); in nilfs_make_empty()
605 de = (struct nilfs_dir_entry *)(kaddr + NILFS_DIR_REC_LEN(1)); in nilfs_make_empty()
606 de->name_len = 2; in nilfs_make_empty()
607 de->rec_len = nilfs_rec_len_to_disk(chunk_size - NILFS_DIR_REC_LEN(1)); in nilfs_make_empty()
608 de->inode = cpu_to_le64(parent->i_ino); in nilfs_make_empty()
609 memcpy(de->name, "..\0", 4); in nilfs_make_empty()
610 nilfs_set_de_type(de, inode); in nilfs_make_empty()
628 struct nilfs_dir_entry *de; in nilfs_empty_dir() local
635 de = (struct nilfs_dir_entry *)kaddr; in nilfs_empty_dir()
638 while ((char *)de <= kaddr) { in nilfs_empty_dir()
639 if (de->rec_len == 0) { in nilfs_empty_dir()
642 kaddr, de); in nilfs_empty_dir()
645 if (de->inode != 0) { in nilfs_empty_dir()
647 if (de->name[0] != '.') in nilfs_empty_dir()
649 if (de->name_len > 2) in nilfs_empty_dir()
651 if (de->name_len < 2) { in nilfs_empty_dir()
652 if (de->inode != in nilfs_empty_dir()
655 } else if (de->name[1] != '.') in nilfs_empty_dir()
658 de = nilfs_next_entry(de); in nilfs_empty_dir()