Lines Matching defs:idesc

58 ckinode(union dinode *dp, struct inodesc *idesc)
67 if (idesc->id_fix != IGNORE)
68 idesc->id_fix = DONTKNOW;
69 idesc->id_lbn = -1;
70 idesc->id_entryno = 0;
71 idesc->id_filesize = DIP(dp, di_size);
82 idesc->id_lbn++;
85 idesc->id_numfrags =
88 idesc->id_numfrags = sblock.fs_frag;
90 if (idesc->id_type == DATA && ndb >= 0) {
92 getpathname(pathbuf, idesc->id_number,
93 idesc->id_number);
97 dp = ginode(idesc->id_number);
109 idesc->id_blkno = DIP(&dino, di_db[i]);
110 if (idesc->id_type != DATA)
111 ret = (*idesc->id_func)(idesc);
113 ret = dirscan(idesc);
117 idesc->id_numfrags = sblock.fs_frag;
123 idesc->id_blkno = DIP(&dino, di_ib[i]);
124 ret = iblock(idesc, i + 1, remsize, BT_LEVEL1 + i);
128 idesc->id_lbn += sizepb / sblock.fs_bsize;
129 if (idesc->id_type == DATA && remsize > 0) {
131 getpathname(pathbuf, idesc->id_number,
132 idesc->id_number);
136 dp = ginode(idesc->id_number);
154 iblock(struct inodesc *idesc, long ilevel, off_t isize, int type)
163 if (idesc->id_type != DATA) {
164 func = idesc->id_func;
165 if (((n = (*func)(idesc)) & KEEPON) == 0)
169 if (chkrange(idesc->id_blkno, idesc->id_numfrags))
171 bp = getdatablk(idesc->id_blkno, sblock.fs_bsize, type);
179 if (idesc->id_func == pass1check && nif < NINDIR(&sblock)) {
184 (u_long)idesc->id_number);
187 } else if (dofix(idesc, buf)) {
196 idesc->id_lbn++;
198 idesc->id_blkno = IBLK(bp, i);
200 n = (*func)(idesc);
202 n = iblock(idesc, ilevel, isize, type);
208 if (idesc->id_type == DATA && isize > 0) {
210 getpathname(pathbuf, idesc->id_number,
211 idesc->id_number);
215 dp = ginode(idesc->id_number);
525 clri(struct inodesc *idesc, const char *type, int flag)
529 dp = ginode(idesc->id_number);
533 pinode(idesc->id_number);
540 (void)ckinode(dp, idesc);
541 inoinfo(idesc->id_number)->ino_state = USTATE;
545 cmd.value = idesc->id_number;
558 findname(struct inodesc *idesc)
560 struct direct *dirp = idesc->id_dirp;
562 if (dirp->d_ino != idesc->id_parent || idesc->id_entryno < 2) {
563 idesc->id_entryno++;
566 memmove(idesc->id_name, dirp->d_name, (size_t)dirp->d_namlen + 1);
571 findino(struct inodesc *idesc)
573 struct direct *dirp = idesc->id_dirp;
577 if (strcmp(dirp->d_name, idesc->id_name) == 0 &&
579 idesc->id_parent = dirp->d_ino;
586 clearentry(struct inodesc *idesc)
588 struct direct *dirp = idesc->id_dirp;
590 if (dirp->d_ino != idesc->id_parent || idesc->id_entryno < 2) {
591 idesc->id_entryno++;
721 struct inodesc idesc;
724 memset(&idesc, 0, sizeof(struct inodesc));
725 idesc.id_type = ADDR;
726 idesc.id_func = pass4check;
727 idesc.id_number = ino;
729 (void)ckinode(dp, &idesc);