UbixOS V2  2.0
fs.h File Reference
#include <vfs/mount.h>
#include <ufs/ufs/dinode.h>
Include dependency graph for fs.h:

Go to the source code of this file.

Data Structures

struct  cg
 
struct  csum
 
struct  csum_total
 
struct  fs
 
struct  fsck_cmd
 
struct  jblkrec
 
struct  jmvrec
 
union  jrec
 
struct  jrefrec
 
struct  jsegrec
 
struct  jtrncrec
 

Macros

#define ACTIVECGNUM(fs, cg)   ((fs)->fs_active[(cg) / (NBBY * sizeof(int))])
 
#define ACTIVECGOFF(cg)   (1 << ((cg) % (NBBY * sizeof(int))))
 
#define ACTIVECLEAR(fs, cg)
 
#define ACTIVESET(fs, cg)
 
#define AFPDIR   64 /* expected number of files per directory */
 
#define AVFILESIZ   16384 /* expected average file size */
 
#define BLK_NOCOPY   ((ufs2_daddr_t)(1))
 
#define BLK_SNAP   ((ufs2_daddr_t)(2))
 
#define blkmap(fs, map, loc)   (((map)[(loc) / NBBY] >> ((loc) % NBBY)) & (0xff >> (NBBY - (fs)->fs_frag)))
 
#define blknum(fs, fsb)
 
#define blkoff(fs, loc)
 
#define blkroundup(fs, size)
 
#define blksize(fs, ip, lbn)
 
#define blkstofrags(fs, blks)
 
#define cg_blksfree(cgp)   ((u_int8_t *)((u_int8_t *)(cgp) + (cgp)->cg_freeoff))
 
#define cg_chkmagic(cgp)   ((cgp)->cg_magic == CG_MAGIC)
 
#define cg_clustersfree(cgp)   ((u_int8_t *)((u_int8_t *)(cgp) + (cgp)->cg_clusteroff))
 
#define cg_clustersum(cgp)   ((int32_t *)((uintptr_t)(cgp) + (cgp)->cg_clustersumoff))
 
#define cg_inosused(cgp)   ((u_int8_t *)((u_int8_t *)(cgp) + (cgp)->cg_iusedoff))
 
#define CG_MAGIC   0x090255
 
#define cgbase(fs, c)   (((ufs2_daddr_t)(fs)->fs_fpg) * (c))
 
#define cgdata(fs, c)   (cgdmin(fs, c) + (fs)->fs_metaspace) /* data zone */
 
#define cgdmin(fs, c)   (cgstart(fs, c) + (fs)->fs_dblkno) /* 1st data */
 
#define cgimin(fs, c)   (cgstart(fs, c) + (fs)->fs_iblkno) /* inode blk */
 
#define cgmeta(fs, c)   (cgdmin(fs, c)) /* meta data */
 
#define cgsblock(fs, c)   (cgstart(fs, c) + (fs)->fs_sblkno) /* super blk */
 
#define CGSIZE(fs)
 
#define cgstart(fs, c)
 
#define cgtod(fs, c)   (cgstart(fs, c) + (fs)->fs_cblkno) /* cg block */
 
#define dbtofsb(fs, b)   ((b) >> (fs)->fs_fsbtodb)
 
#define DEFAULTOPT   FS_OPTTIME
 
#define dtog(fs, d)   ((d) / (fs)->fs_fpg)
 
#define dtogd(fs, d)   ((d) % (fs)->fs_fpg)
 
#define FFS_ADJ_BLKCNT   2 /* adjust inode used block count */
 
#define FFS_ADJ_NBFREE   8 /* adjust number of free blocks */
 
#define FFS_ADJ_NDIR   7 /* adjust number of directories */
 
#define FFS_ADJ_NFFREE   10 /* adjust number of free frags */
 
#define FFS_ADJ_NIFREE   9 /* adjust number of free inodes */
 
#define FFS_ADJ_NUMCLUSTERS   11 /* adjust number of free clusters */
 
#define FFS_ADJ_REFCNT   1 /* adjust inode reference count */
 
#define FFS_BLK_FREE   3 /* free range of blocks in map */
 
#define FFS_CMD_VERSION   0x19790518 /* version ID */
 
#define FFS_DIR_FREE   4 /* free specified dir inodes in map */
 
#define FFS_FILE_FREE   5 /* free specified file inodes in map */
 
#define FFS_MAXID   16 /* number of valid ffs ids */
 
#define FFS_SET_BUFOUTPUT   16 /* set buffered writing on descriptor */
 
#define FFS_SET_CWD   12 /* set current directory */
 
#define FFS_SET_DOTDOT   13 /* set inode number for ".." */
 
#define FFS_SET_FLAGS   6 /* set filesystem flags */
 
#define FFS_SET_INODE   15 /* update an on-disk inode */
 
#define FFS_UNLINK   14 /* remove a name in the filesystem */
 
#define fragnum(fs, fsb)
 
#define fragoff(fs, loc)
 
#define fragroundup(fs, size)
 
#define fragstoblks(fs, frags)
 
#define freespace(fs, percentreserved)
 
#define FS_42INODEFMT   -1 /* 4.2BSD inode format */
 
#define FS_44INODEFMT   2 /* 4.4BSD inode format */
 
#define FS_ACLS   0x0010 /* file system has POSIX.1e ACLs enabled */
 
#define FS_BAD_MAGIC   0x19960408 /* UFS incomplete newfs magic number */
 
#define fs_cs(fs, indx)   fs_csp[indx]
 
#define FS_DOSOFTDEP   0x0002 /* filesystem using soft dependencies */
 
#define FS_FLAGS_UPDATED   0x0080 /* flags have been moved to new location */
 
#define FS_GJOURNAL   0x0040 /* gjournaled file system */
 
#define FS_INDEXDIRS   0x0200 /* kernel supports indexed directories */
 
#define FS_MAXCONTIG   16
 
#define FS_MULTILABEL   0x0020 /* file system is MAC multi-label */
 
#define FS_NEEDSFSCK   0x0004 /* filesystem needs sync fsck before mount */
 
#define FS_NFS4ACLS   0x0100 /* file system has NFSv4 ACLs enabled */
 
#define FS_OKAY   0x7c269d38 /* superblock checksum */
 
#define FS_OPTSPACE   1 /* minimize disk fragmentation */
 
#define FS_OPTTIME   0 /* minimize allocation time */
 
#define FS_SUJ   0x0008 /* Filesystem using softupdate journal */
 
#define FS_TRIM   0x0400 /* issue BIO_DELETE for deleted blocks */
 
#define FS_UFS1_MAGIC   0x011954 /* UFS1 fast filesystem magic number */
 
#define FS_UFS2_MAGIC   0x19540119 /* UFS2 fast filesystem magic number */
 
#define FS_UNCLEAN   0x0001 /* filesystem not clean at mount */
 
#define fsbtodb(fs, b)   ((daddr_t)(b) << (fs)->fs_fsbtodb)
 
#define FSMAXSNAP   20
 
#define ino_to_cg(fs, x)   (((ino_t)(x)) / (fs)->fs_ipg)
 
#define ino_to_fsba(fs, x)
 
#define ino_to_fsbo(fs, x)   (((ino_t)(x)) % INOPB(fs))
 
#define INOPB(fs)   ((fs)->fs_inopb)
 
#define INOPF(fs)   ((fs)->fs_inopb >> (fs)->fs_fragshift)
 
#define JOP_ADDREF   1 /* Add a reference to an inode. */
 
#define JOP_FREEBLK   4 /* Free a block or a tree of blocks. */
 
#define JOP_MVREF   5 /* Move a reference from one off to another. */
 
#define JOP_NEWBLK   3 /* Allocate a block. */
 
#define JOP_REMREF   2 /* Remove a reference from an inode. */
 
#define JOP_SYNC   7 /* fsync() complete record. */
 
#define JOP_TRUNC   6 /* Partial truncation record. */
 
#define JREC_SIZE   32 /* Record and segment header size. */
 
#define lblkno(fs, loc)
 
#define lblktosize(fs, blk)
 
#define lfragtosize(fs, frag)
 
#define MAXFRAG   8
 
#define MAXMNTLEN   468
 
#define MAXVOLLEN   32
 
#define MINBSIZE   4096
 
#define MINCYLGRPS   4
 
#define MINFREE   8
 
#define NINDIR(fs)   ((fs)->fs_nindir)
 
#define NOCSPTRS   ((128 / sizeof(void *)) - 4)
 
#define numfrags(fs, loc)
 
#define sblksize(fs, size, lbn)
 
#define SBLOCK_FLOPPY   0
 
#define SBLOCK_PIGGY   262144
 
#define SBLOCK_UFS1   8192
 
#define SBLOCK_UFS2   65536
 
#define SBLOCKSEARCH   { SBLOCK_UFS2, SBLOCK_UFS1, SBLOCK_FLOPPY, SBLOCK_PIGGY, -1 }
 
#define SBLOCKSIZE   8192
 
#define smalllblktosize(fs, blk)
 
#define SUJ_FILE   ".sujournal" /* Journal file name */
 
#define SUJ_MAX   (32 * 1024 * 1024) /* Maximum journal size */
 
#define SUJ_MIN   (4 * 1024 * 1024) /* Minimum journal size */
 
#define UFSRESUME   _IO('U', 2)
 
#define UFSSUSPEND   _IOW('U', 1, fsid_t)
 

Variables

int around []
 
u_charfragtbl []
 
int inside []
 

Macro Definition Documentation

◆ ACTIVECGNUM

#define ACTIVECGNUM (   fs,
  cg 
)    ((fs)->fs_active[(cg) / (NBBY * sizeof(int))])

Definition at line 432 of file fs.h.

◆ ACTIVECGOFF

#define ACTIVECGOFF (   cg)    (1 << ((cg) % (NBBY * sizeof(int))))

Definition at line 433 of file fs.h.

◆ ACTIVECLEAR

#define ACTIVECLEAR (   fs,
  cg 
)
Value:
do { \
if ((fs)->fs_active) \
ACTIVECGNUM((fs), (cg)) &= ~ACTIVECGOFF((cg)); \
} while (0)

Definition at line 438 of file fs.h.

◆ ACTIVESET

#define ACTIVESET (   fs,
  cg 
)
Value:
do { \
if ((fs)->fs_active) \
ACTIVECGNUM((fs), (cg)) |= ACTIVECGOFF((cg)); \
} while (0)

Definition at line 434 of file fs.h.

◆ AFPDIR

#define AFPDIR   64 /* expected number of files per directory */

Definition at line 177 of file fs.h.

◆ AVFILESIZ

#define AVFILESIZ   16384 /* expected average file size */

Definition at line 176 of file fs.h.

◆ BLK_NOCOPY

#define BLK_NOCOPY   ((ufs2_daddr_t)(1))

Definition at line 200 of file fs.h.

◆ BLK_SNAP

#define BLK_SNAP   ((ufs2_daddr_t)(2))

Definition at line 201 of file fs.h.

◆ blkmap

#define blkmap (   fs,
  map,
  loc 
)    (((map)[(loc) / NBBY] >> ((loc) % NBBY)) & (0xff >> (NBBY - (fs)->fs_frag)))

Definition at line 562 of file fs.h.

◆ blknum

#define blknum (   fs,
  fsb 
)
Value:
/* calculates rounddown(fsb, fs->fs_frag) */ \
((fsb) &~ ((fs)->fs_frag - 1))

Definition at line 595 of file fs.h.

◆ blkoff

#define blkoff (   fs,
  loc 
)
Value:
/* calculates (loc % fs->fs_bsize) */ \
((loc) & (fs)->fs_qbmask)

Definition at line 570 of file fs.h.

◆ blkroundup

#define blkroundup (   fs,
  size 
)
Value:
/* calculates roundup(size, fs->fs_bsize) */ \
(((size) + (fs)->fs_qbmask) & (fs)->fs_bmask)

Definition at line 585 of file fs.h.

◆ blksize

#define blksize (   fs,
  ip,
  lbn 
)
Value:
(((lbn) >= NDADDR || (ip)->i_size >= smalllblktosize(fs, (lbn) + 1)) \
? (fs)->fs_bsize \
: (fragroundup(fs, blkoff(fs, (ip)->i_size))))

Definition at line 610 of file fs.h.

◆ blkstofrags

#define blkstofrags (   fs,
  blks 
)
Value:
/* calculates (blks * fs->fs_frag) */ \
((blks) << (fs)->fs_fragshift)

Definition at line 591 of file fs.h.

◆ cg_blksfree

#define cg_blksfree (   cgp)    ((u_int8_t *)((u_int8_t *)(cgp) + (cgp)->cg_freeoff))

Definition at line 510 of file fs.h.

◆ cg_chkmagic

#define cg_chkmagic (   cgp)    ((cgp)->cg_magic == CG_MAGIC)

Definition at line 507 of file fs.h.

◆ cg_clustersfree

#define cg_clustersfree (   cgp)    ((u_int8_t *)((u_int8_t *)(cgp) + (cgp)->cg_clusteroff))

Definition at line 512 of file fs.h.

◆ cg_clustersum

#define cg_clustersum (   cgp)    ((int32_t *)((uintptr_t)(cgp) + (cgp)->cg_clustersumoff))

Definition at line 514 of file fs.h.

◆ cg_inosused

#define cg_inosused (   cgp)    ((u_int8_t *)((u_int8_t *)(cgp) + (cgp)->cg_iusedoff))

Definition at line 508 of file fs.h.

◆ CG_MAGIC

#define CG_MAGIC   0x090255

Definition at line 472 of file fs.h.

◆ cgbase

#define cgbase (   fs,
 
)    (((ufs2_daddr_t)(fs)->fs_fpg) * (c))

Definition at line 528 of file fs.h.

◆ cgdata

#define cgdata (   fs,
 
)    (cgdmin(fs, c) + (fs)->fs_metaspace) /* data zone */

Definition at line 529 of file fs.h.

◆ cgdmin

#define cgdmin (   fs,
 
)    (cgstart(fs, c) + (fs)->fs_dblkno) /* 1st data */

Definition at line 531 of file fs.h.

◆ cgimin

#define cgimin (   fs,
 
)    (cgstart(fs, c) + (fs)->fs_iblkno) /* inode blk */

Definition at line 532 of file fs.h.

◆ cgmeta

#define cgmeta (   fs,
 
)    (cgdmin(fs, c)) /* meta data */

Definition at line 530 of file fs.h.

◆ cgsblock

#define cgsblock (   fs,
 
)    (cgstart(fs, c) + (fs)->fs_sblkno) /* super blk */

Definition at line 533 of file fs.h.

◆ CGSIZE

#define CGSIZE (   fs)
Value:
/* base cg */ (sizeof(struct cg) + sizeof(int32_t) + \
/* old btotoff */ (fs)->fs_old_cpg * sizeof(int32_t) + \
/* old boff */ (fs)->fs_old_cpg * sizeof(u_int16_t) + \
/* inode map */ howmany((fs)->fs_ipg, NBBY) + \
/* block map */ howmany((fs)->fs_fpg, NBBY) +\
/* if present */ ((fs)->fs_contigsumsize <= 0 ? 0 : \
/* cluster sum */ (fs)->fs_contigsumsize * sizeof(int32_t) + \
/* cluster map */ howmany(fragstoblks(fs, (fs)->fs_fpg), NBBY)))

Definition at line 449 of file fs.h.

◆ cgstart

#define cgstart (   fs,
 
)
Value:
((fs)->fs_magic == FS_UFS2_MAGIC ? cgbase(fs, c) : \
(cgbase(fs, c) + (fs)->fs_old_cgoffset * ((c) & ~((fs)->fs_old_cgmask))))

Definition at line 535 of file fs.h.

◆ cgtod

#define cgtod (   fs,
 
)    (cgstart(fs, c) + (fs)->fs_cblkno) /* cg block */

Definition at line 534 of file fs.h.

◆ dbtofsb

#define dbtofsb (   fs,
 
)    ((b) >> (fs)->fs_fsbtodb)

Definition at line 522 of file fs.h.

◆ DEFAULTOPT

#define DEFAULTOPT   FS_OPTTIME

Definition at line 165 of file fs.h.

◆ dtog

#define dtog (   fs,
 
)    ((d) / (fs)->fs_fpg)

Definition at line 555 of file fs.h.

◆ dtogd

#define dtogd (   fs,
 
)    ((d) % (fs)->fs_fpg)

Definition at line 556 of file fs.h.

◆ FFS_ADJ_BLKCNT

#define FFS_ADJ_BLKCNT   2 /* adjust inode used block count */

Definition at line 207 of file fs.h.

◆ FFS_ADJ_NBFREE

#define FFS_ADJ_NBFREE   8 /* adjust number of free blocks */

Definition at line 213 of file fs.h.

◆ FFS_ADJ_NDIR

#define FFS_ADJ_NDIR   7 /* adjust number of directories */

Definition at line 212 of file fs.h.

◆ FFS_ADJ_NFFREE

#define FFS_ADJ_NFFREE   10 /* adjust number of free frags */

Definition at line 215 of file fs.h.

◆ FFS_ADJ_NIFREE

#define FFS_ADJ_NIFREE   9 /* adjust number of free inodes */

Definition at line 214 of file fs.h.

◆ FFS_ADJ_NUMCLUSTERS

#define FFS_ADJ_NUMCLUSTERS   11 /* adjust number of free clusters */

Definition at line 216 of file fs.h.

◆ FFS_ADJ_REFCNT

#define FFS_ADJ_REFCNT   1 /* adjust inode reference count */

Definition at line 206 of file fs.h.

◆ FFS_BLK_FREE

#define FFS_BLK_FREE   3 /* free range of blocks in map */

Definition at line 208 of file fs.h.

◆ FFS_CMD_VERSION

#define FFS_CMD_VERSION   0x19790518 /* version ID */

Definition at line 227 of file fs.h.

◆ FFS_DIR_FREE

#define FFS_DIR_FREE   4 /* free specified dir inodes in map */

Definition at line 209 of file fs.h.

◆ FFS_FILE_FREE

#define FFS_FILE_FREE   5 /* free specified file inodes in map */

Definition at line 210 of file fs.h.

◆ FFS_MAXID

#define FFS_MAXID   16 /* number of valid ffs ids */

Definition at line 222 of file fs.h.

◆ FFS_SET_BUFOUTPUT

#define FFS_SET_BUFOUTPUT   16 /* set buffered writing on descriptor */

Definition at line 221 of file fs.h.

◆ FFS_SET_CWD

#define FFS_SET_CWD   12 /* set current directory */

Definition at line 217 of file fs.h.

◆ FFS_SET_DOTDOT

#define FFS_SET_DOTDOT   13 /* set inode number for ".." */

Definition at line 218 of file fs.h.

◆ FFS_SET_FLAGS

#define FFS_SET_FLAGS   6 /* set filesystem flags */

Definition at line 211 of file fs.h.

◆ FFS_SET_INODE

#define FFS_SET_INODE   15 /* update an on-disk inode */

Definition at line 220 of file fs.h.

◆ FFS_UNLINK

#define FFS_UNLINK   14 /* remove a name in the filesystem */

Definition at line 219 of file fs.h.

◆ fragnum

#define fragnum (   fs,
  fsb 
)
Value:
/* calculates (fsb % fs->fs_frag) */ \
((fsb) & ((fs)->fs_frag - 1))

Definition at line 593 of file fs.h.

◆ fragoff

#define fragoff (   fs,
  loc 
)
Value:
/* calculates (loc % fs->fs_fsize) */ \
((loc) & (fs)->fs_qfmask)

Definition at line 572 of file fs.h.

◆ fragroundup

#define fragroundup (   fs,
  size 
)
Value:
/* calculates roundup(size, fs->fs_fsize) */ \
(((size) + (fs)->fs_qfmask) & (fs)->fs_fmask)

Definition at line 587 of file fs.h.

◆ fragstoblks

#define fragstoblks (   fs,
  frags 
)
Value:
/* calculates (frags / fs->fs_frag) */ \
((frags) >> (fs)->fs_fragshift)

Definition at line 589 of file fs.h.

◆ freespace

#define freespace (   fs,
  percentreserved 
)
Value:
(blkstofrags((fs), (fs)->fs_cstotal.cs_nbfree) + \
(fs)->fs_cstotal.cs_nffree - \
(((off_t)((fs)->fs_dsize)) * (percentreserved) / 100))

Definition at line 602 of file fs.h.

◆ FS_42INODEFMT

#define FS_42INODEFMT   -1 /* 4.2BSD inode format */

Definition at line 380 of file fs.h.

◆ FS_44INODEFMT

#define FS_44INODEFMT   2 /* 4.4BSD inode format */

Definition at line 381 of file fs.h.

◆ FS_ACLS

#define FS_ACLS   0x0010 /* file system has POSIX.1e ACLs enabled */

Definition at line 421 of file fs.h.

◆ FS_BAD_MAGIC

#define FS_BAD_MAGIC   0x19960408 /* UFS incomplete newfs magic number */

Definition at line 378 of file fs.h.

◆ fs_cs

#define fs_cs (   fs,
  indx 
)    fs_csp[indx]

Definition at line 467 of file fs.h.

◆ FS_DOSOFTDEP

#define FS_DOSOFTDEP   0x0002 /* filesystem using soft dependencies */

Definition at line 418 of file fs.h.

◆ FS_FLAGS_UPDATED

#define FS_FLAGS_UPDATED   0x0080 /* flags have been moved to new location */

Definition at line 424 of file fs.h.

◆ FS_GJOURNAL

#define FS_GJOURNAL   0x0040 /* gjournaled file system */

Definition at line 423 of file fs.h.

◆ FS_INDEXDIRS

#define FS_INDEXDIRS   0x0200 /* kernel supports indexed directories */

Definition at line 426 of file fs.h.

◆ FS_MAXCONTIG

#define FS_MAXCONTIG   16

Definition at line 150 of file fs.h.

◆ FS_MULTILABEL

#define FS_MULTILABEL   0x0020 /* file system is MAC multi-label */

Definition at line 422 of file fs.h.

◆ FS_NEEDSFSCK

#define FS_NEEDSFSCK   0x0004 /* filesystem needs sync fsck before mount */

Definition at line 419 of file fs.h.

◆ FS_NFS4ACLS

#define FS_NFS4ACLS   0x0100 /* file system has NFSv4 ACLs enabled */

Definition at line 425 of file fs.h.

◆ FS_OKAY

#define FS_OKAY   0x7c269d38 /* superblock checksum */

Definition at line 379 of file fs.h.

◆ FS_OPTSPACE

#define FS_OPTSPACE   1 /* minimize disk fragmentation */

Definition at line 387 of file fs.h.

◆ FS_OPTTIME

#define FS_OPTTIME   0 /* minimize allocation time */

Definition at line 386 of file fs.h.

◆ FS_SUJ

#define FS_SUJ   0x0008 /* Filesystem using softupdate journal */

Definition at line 420 of file fs.h.

◆ FS_TRIM

#define FS_TRIM   0x0400 /* issue BIO_DELETE for deleted blocks */

Definition at line 427 of file fs.h.

◆ FS_UFS1_MAGIC

#define FS_UFS1_MAGIC   0x011954 /* UFS1 fast filesystem magic number */

Definition at line 376 of file fs.h.

◆ FS_UFS2_MAGIC

#define FS_UFS2_MAGIC   0x19540119 /* UFS2 fast filesystem magic number */

Definition at line 377 of file fs.h.

◆ FS_UNCLEAN

#define FS_UNCLEAN   0x0001 /* filesystem not clean at mount */

Definition at line 417 of file fs.h.

◆ fsbtodb

#define fsbtodb (   fs,
 
)    ((daddr_t)(b) << (fs)->fs_fsbtodb)

Definition at line 521 of file fs.h.

◆ FSMAXSNAP

#define FSMAXSNAP   20

Definition at line 187 of file fs.h.

◆ ino_to_cg

#define ino_to_cg (   fs,
 
)    (((ino_t)(x)) / (fs)->fs_ipg)

Definition at line 545 of file fs.h.

◆ ino_to_fsba

#define ino_to_fsba (   fs,
 
)
Value:
(blkstofrags((fs), ((((ino_t)(x)) % (fs)->fs_ipg) / INOPB(fs))))))

Definition at line 546 of file fs.h.

◆ ino_to_fsbo

#define ino_to_fsbo (   fs,
 
)    (((ino_t)(x)) % INOPB(fs))

Definition at line 549 of file fs.h.

◆ INOPB

#define INOPB (   fs)    ((fs)->fs_inopb)

Definition at line 663 of file fs.h.

◆ INOPF

#define INOPF (   fs)    ((fs)->fs_inopb >> (fs)->fs_fragshift)

Definition at line 664 of file fs.h.

◆ JOP_ADDREF

#define JOP_ADDREF   1 /* Add a reference to an inode. */

Definition at line 670 of file fs.h.

◆ JOP_FREEBLK

#define JOP_FREEBLK   4 /* Free a block or a tree of blocks. */

Definition at line 673 of file fs.h.

◆ JOP_MVREF

#define JOP_MVREF   5 /* Move a reference from one off to another. */

Definition at line 674 of file fs.h.

◆ JOP_NEWBLK

#define JOP_NEWBLK   3 /* Allocate a block. */

Definition at line 672 of file fs.h.

◆ JOP_REMREF

#define JOP_REMREF   2 /* Remove a reference from an inode. */

Definition at line 671 of file fs.h.

◆ JOP_SYNC

#define JOP_SYNC   7 /* fsync() complete record. */

Definition at line 676 of file fs.h.

◆ JOP_TRUNC

#define JOP_TRUNC   6 /* Partial truncation record. */

Definition at line 675 of file fs.h.

◆ JREC_SIZE

#define JREC_SIZE   32 /* Record and segment header size. */

Definition at line 678 of file fs.h.

◆ lblkno

#define lblkno (   fs,
  loc 
)
Value:
/* calculates (loc / fs->fs_bsize) */ \
((loc) >> (fs)->fs_bshift)

Definition at line 581 of file fs.h.

◆ lblktosize

#define lblktosize (   fs,
  blk 
)
Value:
/* calculates ((off_t)blk * fs->fs_bsize) */ \
(((off_t)(blk)) << (fs)->fs_bshift)

Definition at line 576 of file fs.h.

◆ lfragtosize

#define lfragtosize (   fs,
  frag 
)
Value:
/* calculates ((off_t)frag * fs->fs_fsize) */ \
(((off_t)(frag)) << (fs)->fs_fshift)

Definition at line 574 of file fs.h.

◆ MAXFRAG

#define MAXFRAG   8

Definition at line 82 of file fs.h.

◆ MAXMNTLEN

#define MAXMNTLEN   468

Definition at line 119 of file fs.h.

◆ MAXVOLLEN

#define MAXVOLLEN   32

Definition at line 125 of file fs.h.

◆ MINBSIZE

#define MINBSIZE   4096

Definition at line 112 of file fs.h.

◆ MINCYLGRPS

#define MINCYLGRPS   4

Definition at line 462 of file fs.h.

◆ MINFREE

#define MINFREE   8

Definition at line 164 of file fs.h.

◆ NINDIR

#define NINDIR (   fs)    ((fs)->fs_nindir)

Definition at line 622 of file fs.h.

◆ NOCSPTRS

#define NOCSPTRS   ((128 / sizeof(void *)) - 4)

Definition at line 142 of file fs.h.

◆ numfrags

#define numfrags (   fs,
  loc 
)
Value:
/* calculates (loc / fs->fs_fsize) */ \
((loc) >> (fs)->fs_fshift)

Definition at line 583 of file fs.h.

◆ sblksize

#define sblksize (   fs,
  size,
  lbn 
)
Value:
(((lbn) >= NDADDR || (size) >= ((lbn) + 1) << (fs)->fs_bshift) \
? (fs)->fs_bsize \
: (fragroundup(fs, blkoff(fs, (size)))))

Definition at line 614 of file fs.h.

◆ SBLOCK_FLOPPY

#define SBLOCK_FLOPPY   0

Definition at line 71 of file fs.h.

◆ SBLOCK_PIGGY

#define SBLOCK_PIGGY   262144

Definition at line 74 of file fs.h.

◆ SBLOCK_UFS1

#define SBLOCK_UFS1   8192

Definition at line 72 of file fs.h.

◆ SBLOCK_UFS2

#define SBLOCK_UFS2   65536

Definition at line 73 of file fs.h.

◆ SBLOCKSEARCH

#define SBLOCKSEARCH   { SBLOCK_UFS2, SBLOCK_UFS1, SBLOCK_FLOPPY, SBLOCK_PIGGY, -1 }

Definition at line 76 of file fs.h.

◆ SBLOCKSIZE

#define SBLOCKSIZE   8192

Definition at line 75 of file fs.h.

◆ smalllblktosize

#define smalllblktosize (   fs,
  blk 
)
Value:
/* calculates (blk * fs->fs_bsize) */ \
((blk) << (fs)->fs_bshift)

Definition at line 579 of file fs.h.

◆ SUJ_FILE

#define SUJ_FILE   ".sujournal" /* Journal file name */

Definition at line 682 of file fs.h.

◆ SUJ_MAX

#define SUJ_MAX   (32 * 1024 * 1024) /* Maximum journal size */

Definition at line 681 of file fs.h.

◆ SUJ_MIN

#define SUJ_MIN   (4 * 1024 * 1024) /* Minimum journal size */

Definition at line 680 of file fs.h.

◆ UFSRESUME

#define UFSRESUME   _IO('U', 2)

Definition at line 776 of file fs.h.

◆ UFSSUSPEND

#define UFSSUSPEND   _IOW('U', 1, fsid_t)

Definition at line 775 of file fs.h.

Variable Documentation

◆ around

int around[]

◆ fragtbl

u_char* fragtbl[]

◆ inside

int inside[]
blkstofrags
#define blkstofrags(fs, blks)
Definition: fs.h:591
cgbase
#define cgbase(fs, c)
Definition: fs.h:528
fragstoblks
#define fragstoblks(fs, frags)
Definition: fs.h:589
NBBY
#define NBBY
Definition: vmm_mmap.c:45
NDADDR
#define NDADDR
Definition: ufs.h:101
ino_t
__ino_t ino_t
Definition: types.h:93
INOPB
#define INOPB(fs)
Definition: fs.h:663
cg
Definition: fs.h:473
blkoff
#define blkoff(fs, loc)
Definition: fs.h:570
fs
Definition: fs.h:260
u_int16_t
__uint16_t u_int16_t
Definition: types.h:52
FS_UFS2_MAGIC
#define FS_UFS2_MAGIC
Definition: fs.h:377
fragroundup
#define fragroundup(fs, size)
Definition: fs.h:587
int32_t
__int32_t int32_t
Definition: types.h:108
ACTIVECGOFF
#define ACTIVECGOFF(cg)
Definition: fs.h:433
ino_to_cg
#define ino_to_cg(fs, x)
Definition: fs.h:545
off_t
__int64_t off_t
Definition: types.h:119
cgimin
#define cgimin(fs, c)
Definition: fs.h:532
smalllblktosize
#define smalllblktosize(fs, blk)
Definition: fs.h:579
ufs2_daddr_t
int64_t ufs2_daddr_t
Definition: ufs.h:87