Lines Matching refs:dp

104 	struct direct *dp;
124 for (dp = fsck_readdir(idesc); dp != NULL; dp = fsck_readdir(idesc)) {
130 dsize = MIN(dp->d_reclen, sizeof (u.dbuf));
131 (void) memmove((void *)u.dbuf, (void *)dp, (size_t)dsize);
162 struct direct *dp, *ndp = 0;
201 dp = (struct direct *)(bp->b_un.b_buf + idesc->id_loc);
206 if (dircheck(idesc, dp) == 0) {
242 dp = (struct direct *)(bp->b_un.b_buf + origloc);
251 dp->d_reclen = size;
252 dp->d_ino = 0;
253 dp->d_namlen = 0;
254 dp->d_name[0] = '\0';
264 dp->d_reclen += size;
287 * dp points into bp, which will get re-used at some
293 return (dp);
298 idesc->id_loc += dp->d_reclen;
299 idesc->id_filesize -= (offset_t)dp->d_reclen;
318 * See comment above about dp pointing into bp.
320 return (dp);
328 dircheck(struct inodesc *idesc, struct direct *dp)
344 size = DIRSIZ(dp);
346 if (dp->d_ino < maxino &&
347 dp->d_reclen != 0 &&
348 (int)dp->d_reclen <= spaceleft &&
349 (dp->d_reclen & 0x3) == 0 &&
350 (int)dp->d_reclen >= size &&
352 dp->d_namlen <= MAXNAMLEN) {
353 if (dp->d_ino == 0)
355 for (cp = dp->d_name, size = 0; size < (size_t)dp->d_namlen;
367 dp->d_ino, dp->d_reclen, dp->d_namlen, dp->d_name);
375 struct dinode *dp;
380 dp = ginode(idesc->id_number);
381 if (dp->di_nlink == lcnt) {
412 dp = ginode(idesc->id_number);
424 LINK_RANGE(flow, dp->di_nlink, -lcnt);
426 LINK_CLEAR(flow, idesc->id_number, dp->di_mode, &lcidesc);
431 dp = ginode(idesc->id_number);
432 if (lcnt && dp->di_nlink != lcnt) {
434 file_id(idesc->id_number, dp->di_mode));
436 dp = ginode(idesc->id_number);
438 dp->di_nlink, dp->di_nlink - lcnt);
448 if ((dp->di_mode & IFMT) == IFSHAD)
455 dp->di_nlink -= lcnt;
459 } else if (((dp->di_mode & IFMT) == IFDIR) ||
460 ((dp->di_mode & IFMT) == IFATTRDIR)) {
516 struct dinode *dp;
524 dp = ginode(orphan);
525 lostdir = (((dp->di_mode & IFMT) == IFDIR) ||
526 ((dp->di_mode & IFMT) == IFATTRDIR));
527 if (debug && lostdir && dp->di_nlink <= 0 && lncntp[orphan] == -1)
531 lostshadow = (dp->di_mode & IFMT) == IFSHAD;
532 pwarn("UNREF %s ", file_id(orphan, dp->di_mode));
534 if (lostshadow || (dp->di_size == 0 && dp->di_oeftflag == 0))
540 dp = ginode(UFSROOTINO);
546 if ((ckinode(dp, &idesc, CKI_TRAVERSE) & FOUND) != 0) {
585 dp = ginode(lfdir);
586 if ((dp->di_mode & IFMT) != IFDIR) {
649 struct dinode *dp;
655 dp = ginode(orphan);
656 mode = dp->di_mode & IFMT;
668 dp = ginode(orphan);
671 LINK_CLEAR(flow_msg, orphan, dp->di_mode, &idesc);
775 struct dinode *dp;
793 dp = ginode(parent);
794 if ((dp->di_size % DIRBLKSIZ) != 0) {
795 dp->di_size = roundup(dp->di_size, DIRBLKSIZ);
800 iip->i_isize = dp->di_size;
803 if ((ckinode(dp, &idesc, CKI_TRAVERSE) & ALTERED) != 0) {
806 iip->i_isize = dp->di_size;
832 struct dinode *dp;
844 dp = ginode(ino);
845 if (dp->di_size == 0) {
849 nxtbn = lblkno(&sblock, dp->di_size - 1) + 1;
856 if (dp->di_db[bc] == 0) {
883 lffragsz = dp->di_size % sblock.fs_bsize;
930 bpback = getdirblk(dp->di_db[nxtbn - 1],
931 (size_t)dblksize(&sblock, dp, nxtbn - 1));
963 if (dp->di_ib[0] == 0) {
966 bp[1] = getdatablk(dp->di_ib[0], (size_t)sblock.fs_bsize);
1002 freeblk(ino, dp->di_db[nxtbn - 1],
1005 dp->di_size -= (u_offset_t)lffragsz;
1006 dp->di_blocks = dp->di_blocks - frag2blks;
1007 dp->di_db[nxtbn - 1] = newblk[0];
1008 dp->di_size += (u_offset_t)sblock.fs_bsize;
1009 dp->di_blocks += btodb(sblock.fs_bsize);
1018 dp->di_size += (u_offset_t)sblock.fs_bsize;
1019 dp->di_blocks += btodb(sblock.fs_bsize);
1021 dp->di_blocks += btodb(sblock.fs_bsize);
1029 dp->di_db[nxtbn] = newblk[0];
1036 dp->di_ib[0] = newblk[1];
1128 struct dinode *dp;
1140 dp = ginode(ino);
1141 bp = getdirblk(dp->di_db[0], (size_t)sblock.fs_fsize);
1153 dp->di_nlink = 2;
1156 cacheino(dp, ino);
1167 cacheino(dp, ino);
1169 init_inoinfo(inp, dp, ino);
1180 TRACK_LNCNTP(ino, lncntp[ino] = dp->di_nlink);
1204 LINK_RANGE(flow, (int)dp->di_nlink, 1);
1207 LINK_CLEAR(flow, parent, dp->di_mode, &idesc);
1251 dp = ginode(parent);
1252 dp->di_nlink++;
1347 struct dinode *dp;
1386 dp = ginode(oldino);
1387 LINK_CLEAR(flow_msg, oldino, dp->di_mode,