Lines Matching refs:super
108 get_inode(int fd, struct fs *super, ino_t ino)
121 if (!ipbuf || ino < last || ino >= last + INOCNT(super)) {
123 && !(ipbuf = malloc(INOSZ(super))))
125 last = (ino / INOCNT(super)) * INOCNT(super);
127 (off_t)ino_to_fsba(super, last) << super->fs_fshift,
129 read(fd, ipbuf, INOSZ(super)) != (ssize_t)INOSZ(super))
133 if (super->fs_magic == FS_UFS1_MAGIC)
135 &((struct ufs1_dinode *)ipbuf)[ino % INOCNT(super)]);
137 &((struct ufs2_dinode *)ipbuf)[ino % INOCNT(super)]);
147 virtualblocks(struct fs *super, union dinode *dp)
151 sz = DIP(super, dp, size);
153 if (ffs_lblkno(super, sz) >= UFS_NDADDR) {
154 nblk = ffs_blkroundup(super, sz);
156 nblk += super->fs_bsize;
162 if (ffs_lblkno(super, sz) >= UFS_NDADDR) {
163 nblk = ffs_blkroundup(super, sz);
164 sz = ffs_lblkno(super, nblk);
165 sz = howmany(sz - UFS_NDADDR, FFS_NINDIR(super));
167 nblk += sz * super->fs_bsize;
169 sz = howmany(sz - 1, FFS_NINDIR(super));
172 nblk = ffs_fragroundup(super, sz);
342 dofsizes(int fd, struct fs *super, const char *name)
350 maxino = super->fs_ncg * super->fs_ipg - 1;
357 if ((dp = get_inode(fd, super, inode))
359 && ((DIP(super, dp, mode) & IFMT) == IFREG
362 && !isfree(super, dp)
365 sz = estimate ? virtualblocks(super, dp) :
366 actualblocks(super, dp);
413 douser(int fd, struct fs *super, const char *name)
420 maxino = super->fs_ncg * super->fs_ipg - 1;
423 if ((dp = get_inode(fd, super, inode))
424 && !isfree(super, dp))
425 uses(DIP(super, dp, uid),
426 estimate ? virtualblocks(super, dp) :
427 actualblocks(super, dp), DIP(super, dp, atime));
450 donames(int fd, struct fs *super, const char *name)
460 maxino = super->fs_ncg * super->fs_ipg - 1;
477 if ((dp = get_inode(fd, super, inode))
478 && !isfree(super, dp)) {
479 printf("%s\t", user(DIP(super, dp, uid))->name);