Home | History | Annotate | Download | only in e2fsck

Lines Matching full:dirent

343 		     struct ext2_dir_entry *dirent,
352 if (!dirent->inode)
354 else if (((dirent->name_len & 0xFF) != 1) ||
355 (dirent->name[0] != '.'))
357 else if (dirent->name[1] != '\0')
360 (void) ext2fs_get_rec_len(ctx->fs, dirent, &rec_len);
364 rec_len = dirent->rec_len = 12;
365 dirent->inode = ino;
366 dirent->name_len = 1;
367 dirent->name[0] = '.';
368 dirent->name[1] = '\0';
373 if (dirent->inode != ino) {
375 dirent->inode = ino;
385 ((char *) dirent + 12);
386 dirent->rec_len = 12;
404 struct ext2_dir_entry *dirent,
409 if (!dirent->inode)
411 else if (((dirent->name_len & 0xFF) != 2) ||
412 (dirent->name[0] != '.') ||
413 (dirent->name[1] != '.'))
415 else if (dirent->name[2] != '\0')
418 (void) ext2fs_get_rec_len(ctx->fs, dirent, &rec_len);
422 dirent->rec_len = 12;
428 dirent->inode = EXT2_ROOT_INO;
429 dirent->name_len = 2;
430 dirent->name[0] = '.';
431 dirent->name[1] = '.';
432 dirent->name[2] = '\0';
437 if (e2fsck_dir_info_set_dotdot(ctx, ino, dirent->inode)) {
449 struct ext2_dir_entry *dirent,
457 for ( i = 0; i < (dirent->name_len & 0xFF); i++) {
458 if (dirent->name[i] == '/' || dirent->name[i] == '\0') {
463 dirent->name[i] = '.';
475 struct ext2_dir_entry *dirent,
479 int filetype = dirent->name_len >> 8;
488 dirent->name_len = dirent->name_len & 0xFF;
492 if (ext2fs_test_inode_bitmap(ctx->inode_dir_map, dirent->inode)) {
495 dirent->inode)) {
499 dirent->inode))
502 e2fsck_read_inode(ctx, dirent->inode, &inode,
514 dirent->name_len = (dirent->name_len & 0xFF) | should_be << 8;
636 struct ext2_dir_entry *dirent,
640 char *cp = (char *) dirent;
643 unsigned int name_len = dirent->name_len & 0xFF;
645 (void) ext2fs_get_rec_len(fs, dirent, &rec_len);
665 dirent->inode <= fs->super->s_inodes_count &&
666 strnlen(dirent->name, name_len) == name_len) {
667 (void) ext2fs_set_rec_len(fs, (int) rec_len + left, dirent);
696 (void) ext2fs_set_rec_len(fs, rec_len, dirent);
697 dirent->name_len = 0;
698 dirent->inode = 0;
710 struct ext2_dir_entry *dirent, *prev;
753 cd->pctx.dirent = 0;
807 dirent = (struct ext2_dir_entry *) buf;
808 (void) ext2fs_get_rec_len(fs, dirent, &rec_len);
827 } else if ((dirent->inode == 0) &&
829 (dirent->name_len == 0) &&
845 dirent = (struct ext2_dir_entry *) (buf + offset);
846 (void) ext2fs_get_rec_len(fs, dirent, &rec_len);
847 cd->pctx.dirent = dirent;
852 (((dirent->name_len & (unsigned) 0xFF)+8) > rec_len)) {
854 salvage_directory(fs, dirent, prev, &offset);
860 if ((dirent->name_len & 0xFF) > EXT2_NAME_LEN) {
862 dirent->name_len = EXT2_NAME_LEN;
868 if (check_dot(ctx, dirent, ino, &cd->pctx))
871 ret = check_dotdot(ctx, dirent, ino, &cd->pctx);
876 } else if (dirent->inode == ino) {
879 dirent->inode = 0;
884 if (!dirent->inode)
890 if (((dirent->inode != EXT2_ROOT_INO) &&
891 (dirent->inode < EXT2_FIRST_INODE(fs->super))) ||
892 (dirent->inode > fs->super->s_inodes_count)) {
896 dirent->inode))) {
903 ((dirent->name_len & 0xFF) == 1) &&
904 (dirent->name[0] == '.')) {
912 ((dirent->name_len & 0xFF) == 2) &&
913 (dirent->name[0] == '.') &&
914 (dirent->name[1] == '.')) {
922 (dirent->inode == EXT2_ROOT_INO)) {
931 (dirent->name_len & 0xFF) == 0) {
940 dirent->inode = 0;
958 dirent->inode)) {
960 dirent->inode,
962 dirent->inode = 0;
970 group = ext2fs_group_of_ino(fs, dirent->inode);
985 pctx.num = dirent->inode;
997 } else if (dirent->inode >= first_unused_inode) {
998 pctx.num = dirent->inode;
1020 dirent->inode)))
1025 dirent->inode = 0;
1035 if (check_name(ctx, dirent, ino, &cd->pctx))
1038 if (check_filetype(ctx, dirent, ino, &cd->pctx))
1043 ext2fs_dirhash(dx_dir->hashversion, dirent->name,
1044 (dirent->name_len & 0xFF),
1062 dirent->inode))) {
1063 if (e2fsck_dir_info_get_parent(ctx, dirent->inode,
1065 cd->pctx.ino = dirent->inode;
1073 dirent->inode = 0;
1080 dirent->inode, ino);
1086 } else if (dict_lookup(&de_dict, dirent)) {
1089 pctx.dirent = dirent;
1097 dict_alloc_insert(&de_dict, dirent, dirent);
1099 ext2fs_icount_increment(ctx->inode_count, dirent->inode,
1105 prev = dirent;
1107 (void) ext2fs_get_rec_len(fs, dirent, &rec_len);
1130 dirent->rec_len = cd->pctx.num;