Lines Matching refs:fs

42  *	@(#)fs.h	7.7 (Berkeley) 5/9/89
57 * For file system fs, the offsets of the various blocks of interest
59 * [fs->fs_sblkno] Super-block
60 * [fs->fs_cblkno] Cylinder group block
61 * [fs->fs_iblkno] Inode blocks
62 * [fs->fs_dblkno] Data blocks
63 * The beginning of cylinder group cg in fs, is given by
64 * the ``cgbase(fs, cg)'' macro.
89 * information in the inode, using the ``blksize(fs, ip, lbn)'' macro.
146 struct fs
148 int xxx1; /* struct fs *fs_link; */
149 int xxx2; /* struct fs *fs_rlink; */
157 int fs_size; /* number of blocks in fs */
158 int fs_dsize; /* number of data blocks in fs */
160 int fs_bsize; /* size of basic blocks in fs */
161 int fs_fsize; /* size of frag blocks in fs */
162 int fs_frag; /* number of frags in a block in fs */
253 #define fs_postbl(fs, cylno) \
254 (((fs)->fs_postblformat == FS_42POSTBLFMT) \
255 ? ((fs)->fs_opostbl[cylno]) \
256 : ((short *)((char *)(fs) + (fs)->fs_postbloff) + (cylno) * (fs)->fs_nrpos))
257 #define fs_rotbl(fs) \
258 (((fs)->fs_postblformat == FS_42POSTBLFMT) \
259 ? ((fs)->fs_space) \
260 : ((u_char *)((char *)(fs) + (fs)->fs_rotbloff)))
267 #define fs_cs(fs, indx) \
268 fs_csp[(indx) >> (fs)->fs_csshift][(indx) & ~(fs)->fs_csmask]
304 #define cg_blks(fs, cgp, cylno) \
307 : ((short *)((char *)(cgp) + (cgp)->cg_boff) + (cylno) * (fs)->fs_nrpos))
349 #define fsbtodb(fs, b) ((b) << (fs)->fs_fsbtodb)
350 #define dbtofsb(fs, b) ((b) >> (fs)->fs_fsbtodb)
356 #define cgbase(fs, c) ((mach_daddr_t)((fs)->fs_fpg * (c)))
357 #define cgstart(fs, c) \
358 (cgbase(fs, c) + (fs)->fs_cgoffset * ((c) & ~((fs)->fs_cgmask)))
359 #define cgsblock(fs, c) (cgstart(fs, c) + (fs)->fs_sblkno) /* super blk */
360 #define cgtod(fs, c) (cgstart(fs, c) + (fs)->fs_cblkno) /* cg block */
361 #define cgimin(fs, c) (cgstart(fs, c) + (fs)->fs_iblkno) /* inode blk */
362 #define cgdmin(fs, c) (cgstart(fs, c) + (fs)->fs_dblkno) /* 1st data */
370 #define itoo(fs, x) ((x) % INOPB(fs))
371 #define itog(fs, x) ((x) / (fs)->fs_ipg)
372 #define itod(fs, x) \
373 ((mach_daddr_t)(cgimin(fs, itog(fs, x)) + \
374 (blkstofrags((fs), (((x) % (fs)->fs_ipg) / INOPB(fs))))))
380 #define dtog(fs, d) ((d) / (fs)->fs_fpg)
381 #define dtogd(fs, d) ((d) % (fs)->fs_fpg)
387 #define blkmap(fs, map, loc) \
388 (((map)[(loc) / NBBY] >> ((loc) % NBBY)) & (0xff >> (NBBY - (fs)->fs_frag)))
389 #define cbtocylno(fs, bno) \
390 ((bno) * NSPF(fs) / (fs)->fs_spc)
391 #define cbtorpos(fs, bno) \
392 (((bno) * NSPF(fs) % (fs)->fs_spc / (fs)->fs_nsect * (fs)->fs_trackskew + \
393 (bno) * NSPF(fs) % (fs)->fs_spc % (fs)->fs_nsect * (fs)->fs_interleave) % \
394 (fs)->fs_nsect * (fs)->fs_nrpos / (fs)->fs_npsect)
401 #define blkoff(fs, loc) /* calculates (loc % fs->fs_bsize) */ \
402 ((loc) & ~(fs)->fs_bmask)
403 #define fragoff(fs, loc) /* calculates (loc % fs->fs_fsize) */ \
404 ((loc) & ~(fs)->fs_fmask)
405 #define lblkno(fs, loc) /* calculates (loc / fs->fs_bsize) */ \
406 ((loc) >> (fs)->fs_bshift)
407 #define numfrags(fs, loc) /* calculates (loc / fs->fs_fsize) */ \
408 ((loc) >> (fs)->fs_fshift)
409 #define blkroundup(fs, size) /* calculates roundup(size, fs->fs_bsize) */ \
410 (((size) + (fs)->fs_bsize - 1) & (fs)->fs_bmask)
411 #define fragroundup(fs, size) /* calculates roundup(size, fs->fs_fsize) */ \
412 (((size) + (fs)->fs_fsize - 1) & (fs)->fs_fmask)
413 #define fragstoblks(fs, frags) /* calculates (frags / fs->fs_frag) */ \
414 ((frags) >> (fs)->fs_fragshift)
415 #define blkstofrags(fs, blks) /* calculates (blks * fs->fs_frag) */ \
416 ((blks) << (fs)->fs_fragshift)
417 #define fragnum(fs, fsb) /* calculates (fsb % fs->fs_frag) */ \
418 ((fsb) & ((fs)->fs_frag - 1))
419 #define blknum(fs, fsb) /* calculates rounddown(fsb, fs->fs_frag) */ \
420 ((fsb) &~ ((fs)->fs_frag - 1))
426 #define freespace(fs, percentreserved) \
427 (blkstofrags((fs), (fs)->fs_cstotal.cs_nbfree) + \
428 (fs)->fs_cstotal.cs_nffree - ((fs)->fs_dsize * (percentreserved) / 100))
433 #define blksize(fs, ip, lbn) \
434 (((lbn) >= NDADDR || (ip)->i_size >= ((lbn) + 1) << (fs)->fs_bshift) \
435 ? (fs)->fs_bsize \
436 : (fragroundup(fs, blkoff(fs, (ip)->i_size))))
437 #define dblksize(fs, dip, lbn) \
438 (((lbn) >= NDADDR || (dip)->di_size >= ((lbn) + 1) << (fs)->fs_bshift) \
439 ? (fs)->fs_bsize \
440 : (fragroundup(fs, blkoff(fs, (dip)->di_size))))
445 #define NSPB(fs) ((fs)->fs_nspf << (fs)->fs_fragshift)
446 #define NSPF(fs) ((fs)->fs_nspf)
451 #define INOPB(fs) ((fs)->fs_inopb)
452 #define INOPF(fs) ((fs)->fs_inopb >> (fs)->fs_fragshift)
457 #define NINDIR(fs) ((fs)->fs_nindir)