Lines Matching refs:dino
346 #define dblksize(fs, dino, lbn) \
347 ((dino)->di_size >= smalllblktosize(fs, (lbn) + 1) \
349 : fragroundup(fs, blkoff(fs, (dino)->di_size)))
355 clear_inode(struct ufs2_dinode *dino)
363 if (fs->fs_magic == FS_UFS2_MAGIC && dino->di_extsize > 0)
364 extblocks = btodb(fragroundup(fs, dino->di_extsize));
367 osize = dino->di_extsize;
368 dino->di_blocks -= extblocks;
369 dino->di_extsize = 0;
371 if (dino->di_extb[i] == 0)
373 blkfree(dino->di_extb[i], sblksize(fs, osize, i));
381 if (dino->di_ib[level] == 0)
383 freeindir(dino->di_ib[level], level);
387 bn = dino->di_db[i];
390 bsize = dblksize(fs, dino, i);
398 struct ufs2_dinode *dino;
453 dino = p;
455 if (!S_ISREG(dino->di_mode) && !S_ISDIR(dino->di_mode))
458 if (dino->di_nlink > 0)
460 //printf("Clearing inode=%d (size=%jd)\n", ino, (intmax_t)dino->di_size);
462 clear_inode(dino);
475 if (S_ISDIR(dino->di_mode)) {
481 *dino = ufs2_zino;