Lines Matching refs:ip

748  * specified by ip.  This follows the whole tree and honors di_size and
753 ino_blkatoff(union dinode *ip, ino_t ino, ufs_lbn_t lbn, int *frags)
765 if (lbn > lblkno(fs, ip->dp2.di_extsize - 1))
767 *frags = numfrags(fs, sblksize(fs, ip->dp2.di_extsize, lbn));
768 return (ip->dp2.di_extb[lbn]);
773 if (DIP(ip, di_mode) == IFLNK &&
774 DIP(ip, di_size) < fs->fs_maxsymlinklen)
777 *frags = numfrags(fs, sblksize(fs, DIP(ip, di_size), lbn));
778 return (DIP(ip, di_db[lbn]));
786 return (DIP(ip, di_ib[i]));
794 return indir_blkatoff(DIP(ip, di_ib[i]), ino, -cur - i, lbn);
808 union dinode *ip;
811 ip = ino_read(ino);
813 if (DIP(ip, di_nlink) == 0 || DIP(ip, di_mode) == 0)
815 nblk = ino_blkatoff(ip, ino, lbn, frags);
1026 ino_visit(union dinode *ip, ino_t ino, ino_visitor visitor, int flags)
1037 size = DIP(ip, di_size);
1038 mode = DIP(ip, di_mode) & IFMT;
1041 fs->fs_magic == FS_UFS2_MAGIC && ip->dp2.di_extsize) {
1043 if (ip->dp2.di_extb[i] == 0)
1045 frags = sblksize(fs, ip->dp2.di_extsize, i);
1048 visitor(ino, -1 - i, ip->dp2.di_extb[i], frags);
1056 if (DIP(ip, di_db[i]) == 0)
1061 visitor(ino, i, DIP(ip, di_db[i]), frags);
1072 if (DIP(ip, di_ib[i]) == 0)
1074 indir_visit(ino, -lbn - i, DIP(ip, di_ib[i]), &fragcnt, visitor,
1101 union dinode *ip;
1109 ip = ino_read(ino);
1111 if (DIP(ip, di_mode) == 0)
1120 frags = ino_visit(ip, ino, null_visit, VISIT_INDIR | VISIT_EXT);
1129 isize = DIP(ip, di_size);
1137 if (blocks == DIP(ip, di_blocks))
1141 (uintmax_t)ino, DIP(ip, di_blocks), blocks);
1142 DIP_SET(ip, di_blocks, blocks);
1279 ino_reclaim(union dinode *ip, ino_t ino, int mode)
1287 (uintmax_t)ino, DIP(ip, di_nlink), DIP(ip, di_mode));
1290 if ((DIP(ip, di_mode) & IFMT) == IFDIR)
1291 ino_visit(ip, ino, ino_free_children, 0);
1292 DIP_SET(ip, di_nlink, 0);
1293 ino_visit(ip, ino, blk_free_visit, VISIT_EXT | VISIT_INDIR);
1295 gen = DIP(ip, di_gen);
1297 bzero(ip, sizeof(struct ufs1_dinode));
1299 bzero(ip, sizeof(struct ufs2_dinode));
1300 DIP_SET(ip, di_gen, gen);
1312 union dinode *ip;
1317 ip = ino_read(ino);
1318 nlink = DIP(ip, di_nlink);
1319 mode = DIP(ip, di_mode);
1333 ino_reclaim(ip, ino, mode);
1336 DIP_SET(ip, di_nlink, nlink);
1350 union dinode *ip;
1398 ip = ino_read(ino);
1399 mode = DIP(ip, di_mode) & IFMT;
1402 (uintmax_t)ino, (uintmax_t)nlink, DIP(ip, di_nlink));
1405 (uintmax_t)ino, (uintmax_t)nlink, DIP(ip, di_nlink),
1428 ino_reclaim(ip, ino, mode);
1432 if (DIP(ip, di_nlink) == nlink) {
1438 DIP_SET(ip, di_nlink, nlink);
1517 union dinode *ip;
1530 ip = ino_read(ino);
1531 mode = DIP(ip, di_mode) & IFMT;
1532 cursize = DIP(ip, di_size);
1546 if (DIP(ip, di_db[i]) == 0)
1550 blk_free(DIP(ip, di_db[i]), 0, frags);
1551 DIP_SET(ip, di_db[i], 0);
1563 if (DIP(ip, di_ib[i]) == 0)
1565 indir_trunc(ino, -lbn - i, DIP(ip, di_ib[i]), lastlbn);
1569 blk_free(DIP(ip, di_ib[i]), 0, fs->fs_frag);
1570 DIP_SET(ip, di_ib[i], 0);
1581 totalfrags = ino_visit(ip, ino, null_visit, VISIT_INDIR | VISIT_EXT);
1591 bn = DIP(ip, di_db[visitlbn]);
1604 DIP_SET(ip, di_blocks, fsbtodb(fs, totalfrags));
1605 DIP_SET(ip, di_size, size);
1612 if (off && DIP(ip, di_mode) != IFDIR) {
1616 bn = ino_blkatoff(ip, ino, visitlbn, &frags);
1932 union dinode *ip;
1940 ip = ino_read(ino);
1941 mode = DIP(ip, di_mode) & IFMT;
1942 inon = DIP(ip, di_freelink);
1943 DIP_SET(ip, di_freelink, 0);
1947 if (DIP(ip, di_nlink) == 0) {
1951 ino_reclaim(ip, ino, mode);
1954 (uintmax_t)ino, mode, DIP(ip, di_nlink));
2381 suj_verifyino(union dinode *ip)
2384 if (DIP(ip, di_nlink) != 1) {
2386 DIP(ip, di_nlink), (uintmax_t)sujino);
2390 if ((DIP(ip, di_flags) & (SF_IMMUTABLE | SF_NOUNLINK)) !=
2393 DIP(ip, di_flags), (uintmax_t)sujino);
2397 if (DIP(ip, di_mode) != (IFREG | IREAD)) {
2399 DIP(ip, di_mode), (uintmax_t)sujino);
2403 if (DIP(ip, di_size) < SUJ_MIN) {
2405 DIP(ip, di_size), (uintmax_t)sujino);
2409 if (DIP(ip, di_modrev) != fs->fs_mtime) {
2683 union dinode *ip;
2713 ip = ino_read(ROOTINO);
2715 ino_visit(ip, ROOTINO, suj_find, 0);