Lines Matching defs:fs

75  * For file system fs, the offsets of the various blocks of interest
77 * [fs->fs_sblkno] Super-block
78 * [fs->fs_cblkno] Cylinder group block
79 * [fs->fs_iblkno] Inode blocks
80 * [fs->fs_dblkno] Data blocks
81 * The beginning of cylinder group cg in fs, is given by
82 * the ``cgbase(fs, cg)'' macro.
107 * information in the inode, using the ``blksize(fs, ip, lbn)'' macro.
216 * These fields require the use of fs->fs_lock.
230 #define FSLOG ((char)0xfd) /* logging fs */
238 struct fs {
240 uint32_t fs_rolled; /* logging only: fs fully rolled */
248 int32_t fs_size; /* number of blocks in fs */
249 int32_t fs_dsize; /* number of data blocks in fs */
251 int32_t fs_bsize; /* size of basic blocks in fs */
252 int32_t fs_fsize; /* size of frag blocks in fs */
253 int32_t fs_frag; /* number of frags in a block in fs */
408 #define fs_postbl(fs, cylno) \
409 (((fs)->fs_postblformat != FS_DYNAMICPOSTBLFMT) \
410 ? ((fs)->fs_opostbl[cylno]) \
411 : ((short *)((char *)(fs) + \
412 (fs)->fs_postbloff) \
413 + (cylno) * (fs)->fs_nrpos))
416 #define fs_rotbl(fs) \
417 (((fs)->fs_postblformat != FS_DYNAMICPOSTBLFMT) \
418 ? ((fs)->fs_space) \
419 : ((uchar_t *)((char *)(fs) + (fs)->fs_rotbloff)))
428 #define fs_cs(fs, indx) fs_u.fs_csp[(indx)]
434 * super block lock fs->fs_lock.
476 #define cg_blks(fs, cgp, cylno) \
480 (cylno) * (fs)->fs_nrpos))
529 #define fsbtodb(fs, b) (((daddr_t)(b)) << (fs)->fs_fsbtodb)
531 #define fsbtodb(fs, b) (((diskaddr_t)(b)) << (fs)->fs_fsbtodb)
534 #define dbtofsb(fs, b) ((b) >> (fs)->fs_fsbtodb)
544 #define logbtodb(fs, b) ((fs)->fs_magic == FS_MAGIC ? \
545 (daddr_t)(b) : ((daddr_t)(b) << (fs)->fs_fsbtodb))
547 #define logbtodb(fs, b) ((fs)->fs_magic == FS_MAGIC ? \
548 (diskaddr_t)(b) : ((diskaddr_t)(b) << (fs)->fs_fsbtodb))
550 #define logbtofrag(fs, b) ((fs)->fs_magic == FS_MAGIC ? \
551 (b) >> (fs)->fs_fsbtodb : (b))
552 #define logbtofsblk(fs, b) ((fs)->fs_magic == FS_MAGIC ? \
553 (b) >> ((fs)->fs_fsbtodb + (fs)->fs_fragshift) : \
554 (b) >> (fs)->fs_fragshift)
560 #define cgbase(fs, c) ((daddr32_t)((fs)->fs_fpg * (c)))
562 #define cgstart(fs, c) \
563 (cgbase(fs, c) + (fs)->fs_cgoffset * ((c) & ~((fs)->fs_cgmask)))
565 #define cgsblock(fs, c) (cgstart(fs, c) + (fs)->fs_sblkno) /* super blk */
567 #define cgtod(fs, c) (cgstart(fs, c) + (fs)->fs_cblkno) /* cg block */
569 #define cgimin(fs, c) (cgstart(fs, c) + (fs)->fs_iblkno) /* inode blk */
571 #define cgdmin(fs, c) (cgstart(fs, c) + (fs)->fs_dblkno) /* 1st data */
579 #define itoo(fs, x) ((x) % (uint32_t)INOPB(fs))
581 #define itog(fs, x) ((x) / (uint32_t)(fs)->fs_ipg)
583 #define itod(fs, x) \
584 ((daddr32_t)(cgimin(fs, itog(fs, x)) + \
585 (blkstofrags((fs), (((x)%(ulong_t)(fs)->fs_ipg)/(ulong_t)INOPB(fs))))))
591 #define dtog(fs, d) ((d) / (fs)->fs_fpg)
592 #define dtogd(fs, d) ((d) % (fs)->fs_fpg)
598 #define blkmap(fs, map, loc) \
600 (0xff >> (NBBY - (fs)->fs_frag)))
602 #define cbtocylno(fs, bno) \
603 ((bno) * NSPF(fs) / (fs)->fs_spc)
611 #define cbtorpos(fs, bno) \
612 ((((bno) * NSPF(fs) % (fs)->fs_spc) % \
613 (fs)->fs_nsect) * \
614 (fs)->fs_nrpos) / (fs)->fs_nsect
629 #define blkoff(fs, loc) /* calculates (loc % fs->fs_bsize) */ \
630 ((int)((loc) & ~(fs)->fs_bmask))
636 #define fragoff(fs, loc) /* calculates (loc % fs->fs_fsize) */ \
637 ((int)((loc) & ~(fs)->fs_fmask))
645 #define lblkno(fs, loc) /* calculates (loc / fs->fs_bsize) */ \
646 ((int32_t)((loc) >> (fs)->fs_bshift))
652 #define numfrags(fs, loc) /* calculates (loc / fs->fs_fsize) */ \
653 ((int32_t)((loc) >> (fs)->fs_fshift))
663 #define blkroundup(fs, size) /* calculates roundup(size, fs->fs_bsize) */ \
664 (((size) + (fs)->fs_bsize - 1) & (offset_t)(fs)->fs_bmask)
670 #define fragroundup(fs, size) /* calculates roundup(size, fs->fs_fsize) */ \
671 (((size) + (fs)->fs_fsize - 1) & (offset_t)(fs)->fs_fmask)
677 #define fragstoblks(fs, frags) /* calculates (frags / fs->fs_frag) */ \
678 ((frags) >> (fs)->fs_fragshift)
680 #define blkstofrags(fs, blks) /* calculates (blks * fs->fs_frag) */ \
681 ((blks) << (fs)->fs_fragshift)
683 #define fragnum(fs, fsb) /* calculates (fsb % fs->fs_frag) */ \
684 ((fsb) & ((fs)->fs_frag - 1))
686 #define blknum(fs, fsb) /* calculates rounddown(fsb, fs->fs_frag) */ \
687 ((fsb) &~ ((fs)->fs_frag - 1))
693 #define freespace(fs, ufsvfsp) \
694 ((blkstofrags((fs), (fs)->fs_cstotal.cs_nbfree) + \
695 (fs)->fs_cstotal.cs_nffree) - (ufsvfsp)->vfs_minfrags)
701 #define blksize(fs, ip, lbn) \
703 (ip)->i_size >= (offset_t)((lbn) + 1) << (fs)->fs_bshift) \
704 ? (fs)->fs_bsize \
705 : (fragroundup(fs, blkoff(fs, (ip)->i_size))))
707 #define dblksize(fs, dip, lbn) \
709 (dip)->di_size >= (offset_t)((lbn) + 1) << (fs)->fs_bshift) \
710 ? (fs)->fs_bsize \
711 : (fragroundup(fs, blkoff(fs, (dip)->di_size))))
716 #define NSPB(fs) ((fs)->fs_nspf << (fs)->fs_fragshift)
717 #define NSPF(fs) ((fs)->fs_nspf)
722 #define INOPB(fs) ((fs)->fs_inopb)
723 #define INOPF(fs) ((fs)->fs_inopb >> (fs)->fs_fragshift)
728 #define NINDIR(fs) ((fs)->fs_nindir)
740 ((struct fs *)((struct ufsvfs *)vfsp->vfs_data)->vfs_bufp->b_un.b_addr)