Lines Matching full:fs
28 #include <ufs/ffs/fs.h>
42 void prtblknos(struct fs *fs, union dinode *dp);
44 static const char *distance(struct fs *, ufs2_daddr_t, ufs2_daddr_t);
45 static void printblk(struct fs *, ufs_lbn_t, ufs2_daddr_t, int, ufs_lbn_t);
46 static void indirprt(struct fs *, int, ufs_lbn_t, ufs_lbn_t, ufs2_daddr_t,
50 prtblknos(struct fs *fs, union dinode *dp) in prtblknos() argument
57 if (fs->fs_magic == FS_UFS1_MAGIC) { in prtblknos()
91 if (size < fs->fs_maxsymlinklen) { in prtblknos()
93 (fs->fs_magic == FS_UFS1_MAGIC) ? in prtblknos()
115 lastlbn = howmany(size, fs->fs_bsize); in prtblknos()
119 frags = fs->fs_frag; in prtblknos()
121 frags = howmany(size - (lastlbn - 1) * fs->fs_bsize, in prtblknos()
122 fs->fs_fsize); in prtblknos()
123 if (fs->fs_magic == FS_UFS1_MAGIC) in prtblknos()
127 printblk(fs, i, blkno, frags, lastlbn); in prtblknos()
134 if (fs->fs_magic == FS_UFS1_MAGIC) in prtblknos()
138 indirprt(fs, i, blksperindir, lbn, blkno, lastlbn); in prtblknos()
139 blksperindir *= NINDIR(fs); in prtblknos()
145 printblk(fs, lastlbn, 0, frags, 0); in prtblknos()
149 indirprt(struct fs *fs, int level, ufs_lbn_t blksperindir, ufs_lbn_t lbn, argument
156 printblk(fs, lbn, blkno,
157 blksperindir * NINDIR(fs) * fs->fs_frag, lastlbn);
160 printblk(fs, lbn, blkno, fs->fs_frag, -level);
163 if (bread(&disk, fsbtodb(fs, blkno), indir, fs->fs_bsize) == -1) {
165 bp = getdatablk(blkno, fs->fs_bsize, BT_LEVEL1 + level);
167 memcpy(indir, bp->b_un.b_buf, fs->fs_bsize);
172 printblk(fs, lbn, 0,
173 blksperindir * NINDIR(fs) * fs->fs_frag, lastlbn);
176 last = howmany(lastlbn - lbn, blksperindir) < NINDIR(fs) ?
177 howmany(lastlbn - lbn, blksperindir) : NINDIR(fs);
180 if (fs->fs_magic == FS_UFS1_MAGIC)
184 printblk(fs, lbn + i, blkno, fs->fs_frag, lastlbn);
189 if (fs->fs_magic == FS_UFS1_MAGIC)
193 indirprt(fs, level - 1, blksperindir / NINDIR(fs),
199 distance(struct fs *fs, ufs2_daddr_t lastblk, ufs2_daddr_t firstblk) argument
208 firstcg = dtog(fs, firstblk);
209 lastcg = dtog(fs, lastblk);
215 lastcg, (intmax_t)dtogd(fs, lastblk), firstcg,
216 (intmax_t)dtogd(fs, firstblk));
224 printblk(struct fs *fs, ufs_lbn_t lbn, ufs2_daddr_t blkno, int numfrags, argument
233 seq = howmany(numfrags, fs->fs_frag);
239 seq = howmany(numfrags, fs->fs_frag);
249 blkno == firstblk + seq * fs->fs_frag)) {
250 seq += howmany(numfrags, fs->fs_frag);
272 (intmax_t)firstblk, distance(fs, lastblk, firstblk));
277 distance(fs, lastblk, firstblk));
283 distance(fs, lastblk, firstblk));
293 if (seq != 0 && (fs->fs_metaspace == 0 || lastindirblk == 0))
297 distance(fs, lastindirblk, blkno));
299 if (fs->fs_metaspace == 0)