Home | History | Annotate | Download | only in fsck_ffs

Lines Matching defs:idesc

73 ckinode(union dinode *dp, struct inodesc *idesc)
83 if (idesc->id_fix != IGNORE)
84 idesc->id_fix = DONTKNOW;
85 idesc->id_entryno = 0;
86 idesc->id_filesize = iswap64(DIP(dp, size));
89 (idesc->id_filesize < sblock->fs_maxsymlinklen ||
90 (isappleufs && (idesc->id_filesize < APPLEUFS_MAXSYMLINKLEN)) ||
101 idesc->id_numfrags =
104 idesc->id_numfrags = sblock->fs_frag;
106 if (idesc->id_type == DATA && ndb >= 0) {
110 idesc->id_number, idesc->id_number);
114 dp = ginode(idesc->id_number);
126 idesc->id_blkno = iswap64(dino.dp2.di_db[i]);
128 idesc->id_blkno = iswap32(dino.dp1.di_db[i]);
129 if (idesc->id_type != DATA)
130 ret = (*idesc->id_func)(idesc);
132 ret = dirscan(idesc);
136 idesc->id_numfrags = sblock->fs_frag;
142 idesc->id_blkno = iswap64(dino.dp2.di_ib[i]);
144 idesc->id_blkno = iswap32(dino.dp1.di_ib[i]);
145 ret = iblock(idesc, i + 1, remsize);
149 if (idesc->id_type == DATA && remsize > 0) {
153 idesc->id_number, idesc->id_number);
157 dp = ginode(idesc->id_number);
177 iblock(struct inodesc *idesc, long ilevel, u_int64_t isize)
186 if (idesc->id_type != DATA) {
187 func = idesc->id_func;
188 if (((n = (*func)(idesc)) & KEEPON) == 0)
192 if (chkrange(idesc->id_blkno, idesc->id_numfrags))
194 bp = getdatablk(idesc->id_blkno, sblock->fs_bsize);
215 if (idesc->id_func == pass1check && nif < FFS_NINDIR(sblock)) {
221 (unsigned long long)idesc->id_number);
222 if (dofix(idesc, buf)) {
233 idesc->id_blkno = iswap64(bp->b_un.b_indir2[i]);
235 idesc->id_blkno = iswap32(bp->b_un.b_indir1[i]);
237 n = (*func)(idesc);
239 n = iblock(idesc, ilevel, isize);
245 if (idesc->id_type == DATA && isize > 0) {
249 idesc->id_number, idesc->id_number);
253 dp = ginode(idesc->id_number);
575 clri(struct inodesc *idesc, const char *type, int flag)
579 dp = ginode(idesc->id_number);
583 pinode(idesc->id_number);
593 if (idesc->id_type != SNAP)
594 update_uquot(idesc->id_number,
595 idesc->id_uid, idesc->id_gid, 0, -1);
596 (void)ckinode(dp, idesc);
598 inoinfo(idesc->id_number)->ino_state = USTATE;
605 findname(struct inodesc *idesc)
607 struct direct *dirp = idesc->id_dirp;
611 if (iswap32(dirp->d_ino) != idesc->id_parent || idesc->id_entryno < 2) {
612 idesc->id_entryno++;
620 buf = __UNCONST(idesc->id_name);
626 findino(struct inodesc *idesc)
628 struct direct *dirp = idesc->id_dirp;
632 idesc->id_name) == 0 &&
634 idesc->id_parent = iswap32(dirp->d_ino);
641 clearentry(struct inodesc *idesc)
643 struct direct *dirp = idesc->id_dirp;
645 if (dirp->d_ino != idesc->id_parent || idesc->id_entryno < 2) {
646 idesc->id_entryno++;
829 struct inodesc idesc;
844 memset(&idesc, 0, sizeof(struct inodesc));
845 idesc.id_func = pass4check;
846 idesc.id_number = ino;
848 idesc.id_uid = iswap32(DIP(dp, uid));
849 idesc.id_gid = iswap32(DIP(dp, gid));
851 idesc.id_type = SNAP;
853 idesc.id_type = ADDR;
854 (void)ckinode(dp, &idesc);
858 if (idesc.id_type != SNAP)
859 update_uquot(idesc.id_number,
860 idesc.id_uid, idesc.id_gid, 0, -1);