Lines Matching refs:idesc
278 pass2check(struct inodesc *idesc) in pass2check() argument
280 struct direct *dirp = idesc->id_dirp; in pass2check()
292 if (idesc->id_entryno != 0) in pass2check()
295 if (dirp->d_ino != idesc->id_number) { in pass2check()
296 direrror(idesc->id_number, "BAD INODE NUMBER FOR '.'"); in pass2check()
298 dirp->d_ino = idesc->id_number; in pass2check()
303 direrror(idesc->id_number, "BAD TYPE VALUE FOR '.'"); in pass2check()
311 proto.d_ino = idesc->id_number; in pass2check()
316 direrror(idesc->id_number, "MISSING '.'"); in pass2check()
339 idesc->id_entryno++; in pass2check()
340 inoinfo(idesc->id_number)->ino_linkcnt--; in pass2check()
345 if (idesc->id_entryno > 1) in pass2check()
347 inp = getinoinfo(idesc->id_number); in pass2check()
353 if (idesc->id_entryno == 0) { in pass2check()
359 idesc->id_entryno++; in pass2check()
367 direrror(idesc->id_number, "BAD INODE NUMBER FOR '..'"); in pass2check()
382 direrror(idesc->id_number, "BAD TYPE VALUE FOR '..'"); in pass2check()
389 fileerror(inp->i_parent != 0 ? inp->i_parent : idesc->id_number, in pass2check()
390 idesc->id_number, "MISSING '..'"); in pass2check()
405 idesc->id_entryno++; in pass2check()
421 idesc->id_entryno++; in pass2check()
436 idesc->id_entryno++; in pass2check()
448 idesc->id_entryno >= 2) { in pass2check()
450 direrror(idesc->id_number, "EXTRA '.' ENTRY"); in pass2check()
457 direrror(idesc->id_number, "EXTRA '..' ENTRY"); in pass2check()
464 idesc->id_entryno++; in pass2check()
467 fileerror(idesc->id_number, dirp->d_ino, "I OUT OF RANGE"); in pass2check()
471 fileerror(idesc->id_number, dirp->d_ino, "BAD WHITEOUT ENTRY"); in pass2check()
480 if (idesc->id_entryno <= 2) in pass2check()
482 fileerror(idesc->id_number, dirp->d_ino, "UNALLOCATED"); in pass2check()
488 if (idesc->id_entryno <= 2) in pass2check()
498 getpathname(dirname, idesc->id_number, in pass2check()
507 cmd.value = idesc->id_number; in pass2check()
522 inoinfo(idesc->id_number)->ino_linkcnt--; in pass2check()
526 fileerror(idesc->id_number, dirp->d_ino, errmsg); in pass2check()
539 if (inoinfo(idesc->id_number)->ino_state == DFOUND) in pass2check()
545 if (idesc->id_entryno > 2) { in pass2check()
547 inp->i_parent = idesc->id_number; in pass2check()
549 } else if ((n = fix_extraneous(inp, idesc))) { in pass2check()
558 fileerror(idesc->id_number, dirp->d_ino, in pass2check()
580 fix_extraneous(struct inoinfo *inp, struct inodesc *idesc) in fix_extraneous() argument
595 dotdesc.id_number = idesc->id_dirp->d_ino; in fix_extraneous()
620 idesc->id_number == inp->i_parent || /* Case 2 */ in fix_extraneous()
621 inp->i_dotdot != idesc->id_number || /* Case 3 */ in fix_extraneous()
623 getpathname(newname, idesc->id_number, idesc->id_number); in fix_extraneous()
626 strcat(newname, idesc->id_dirp->d_name); in fix_extraneous()
636 cmd.value = idesc->id_number; in fix_extraneous()
642 cmd.value = (intptr_t)idesc->id_dirp->d_name; in fix_extraneous()
692 inp->i_parent = idesc->id_number; /* reparent to correct dir */ in fix_extraneous()
706 inp->i_parent = idesc->id_number; /* reparent to correct directory */ in fix_extraneous()
712 deleteentry(struct inodesc *idesc) in deleteentry() argument
714 struct direct *dirp = idesc->id_dirp; in deleteentry()
716 if (idesc->id_entryno++ < 2 || dirp->d_ino != idesc->id_parent) in deleteentry()