Lines Matching refs:dirp

280 	struct direct *dirp = idesc->id_dirp;  in pass2check()  local
294 if (dirp->d_ino != 0 && strcmp(dirp->d_name, ".") == 0) { in pass2check()
295 if (dirp->d_ino != idesc->id_number) { in pass2check()
298 dirp->d_ino = idesc->id_number; in pass2check()
302 if (dirp->d_type != DT_DIR) { in pass2check()
305 dirp->d_type = DT_DIR; in pass2check()
318 if (dirp->d_reclen < entrysize + DIRSIZ(0, dirp)) { in pass2check()
320 if (dirp->d_ino != 0) { in pass2check()
322 dirp->d_name); in pass2check()
327 proto.d_reclen = dirp->d_reclen; in pass2check()
328 memmove(dirp, &proto, (size_t)entrysize); in pass2check()
334 newdirp = (struct direct *)((char *)(dirp) + entrysize); in pass2check()
335 dirp->d_reclen -= entrysize; in pass2check()
336 memmove(newdirp, dirp, dirp->d_reclen); in pass2check()
338 memmove(dirp, &proto, (size_t)entrysize); in pass2check()
341 dirp = newdirp; in pass2check()
354 n = DIRSIZ(0, dirp); in pass2check()
355 if (dirp->d_reclen < n + entrysize) in pass2check()
357 proto.d_reclen = dirp->d_reclen - n; in pass2check()
358 dirp->d_reclen = n; in pass2check()
360 inoinfo(dirp->d_ino)->ino_linkcnt--; in pass2check()
361 dirp = (struct direct *)((char *)(dirp) + n); in pass2check()
362 memset(dirp, 0, (size_t)proto.d_reclen); in pass2check()
363 dirp->d_reclen = proto.d_reclen; in pass2check()
365 if (dirp->d_ino != 0 && strcmp(dirp->d_name, "..") == 0) { in pass2check()
366 if (dirp->d_ino >= maxino) { in pass2check()
374 dirp->d_ino = inp->i_parent; in pass2check()
376 dirp->d_ino = UFS_ROOTINO; in pass2check()
380 inp->i_dotdot = dirp->d_ino; in pass2check()
381 if (dirp->d_type != DT_DIR) { in pass2check()
383 dirp->d_type = DT_DIR; in pass2check()
392 if (dirp->d_reclen < entrysize + DIRSIZ(0, dirp)) { in pass2check()
394 if (dirp->d_ino != 0) { in pass2check()
396 dirp->d_name); in pass2check()
410 proto.d_reclen = dirp->d_reclen; in pass2check()
411 memmove(dirp, &proto, (size_t)entrysize); in pass2check()
426 if (dirp->d_ino == 0) { in pass2check()
427 proto.d_reclen = dirp->d_reclen; in pass2check()
428 memmove(dirp, &proto, (size_t)entrysize); in pass2check()
430 newdirp = (struct direct *)((char *)(dirp) + entrysize); in pass2check()
431 dirp->d_reclen -= entrysize; in pass2check()
432 memmove(newdirp, dirp, dirp->d_reclen); in pass2check()
434 memmove(dirp, &proto, (size_t)entrysize); in pass2check()
435 if (dirp->d_ino != 0) { in pass2check()
437 inoinfo(dirp->d_ino)->ino_linkcnt--; in pass2check()
439 dirp = newdirp; in pass2check()
444 if (dirp->d_ino == 0) in pass2check()
446 if (dirp->d_namlen <= 2 && in pass2check()
447 dirp->d_name[0] == '.' && in pass2check()
449 if (dirp->d_namlen == 1) { in pass2check()
451 dirp->d_ino = 0; in pass2check()
456 if (dirp->d_name[1] == '.') { in pass2check()
458 dirp->d_ino = 0; in pass2check()
466 if (dirp->d_ino >= maxino) { in pass2check()
467 fileerror(idesc->id_number, dirp->d_ino, "I OUT OF RANGE"); in pass2check()
469 } else if (((dirp->d_ino == UFS_WINO && dirp->d_type != DT_WHT) || in pass2check()
470 (dirp->d_ino != UFS_WINO && dirp->d_type == DT_WHT))) { in pass2check()
471 fileerror(idesc->id_number, dirp->d_ino, "BAD WHITEOUT ENTRY"); in pass2check()
472 dirp->d_ino = UFS_WINO; in pass2check()
473 dirp->d_type = DT_WHT; in pass2check()
478 switch (inoinfo(dirp->d_ino)->ino_state) { in pass2check()
482 fileerror(idesc->id_number, dirp->d_ino, "UNALLOCATED"); in pass2check()
490 if (inoinfo(dirp->d_ino)->ino_state == FCLEAR) in pass2check()
499 dirp->d_ino); in pass2check()
501 dirname, (uintmax_t)dirp->d_ino); in pass2check()
515 if (rmdir(dirp->d_name) == -1) { in pass2check()
526 fileerror(idesc->id_number, dirp->d_ino, errmsg); in pass2check()
529 ginode(dirp->d_ino, &ip); in pass2check()
531 inoinfo(dirp->d_ino)->ino_state = in pass2check()
533 inoinfo(dirp->d_ino)->ino_linkcnt = DIP(dp, di_nlink); in pass2check()
540 inoinfo(dirp->d_ino)->ino_state = DFOUND; in pass2check()
544 inp = getinoinfo(dirp->d_ino); in pass2check()
557 if (dirp->d_type != inoinfo(dirp->d_ino)->ino_type) { in pass2check()
558 fileerror(idesc->id_number, dirp->d_ino, in pass2check()
560 dirp->d_type = inoinfo(dirp->d_ino)->ino_type; in pass2check()
564 inoinfo(dirp->d_ino)->ino_linkcnt--; in pass2check()
569 inoinfo(dirp->d_ino)->ino_state, in pass2check()
570 (uintmax_t)dirp->d_ino); in pass2check()
575 dirp->d_ino = 0; in pass2check()
714 struct direct *dirp = idesc->id_dirp; in deleteentry() local
716 if (idesc->id_entryno++ < 2 || dirp->d_ino != idesc->id_parent) in deleteentry()
718 dirp->d_ino = 0; in deleteentry()