Lines Matching +full:boot +full:- +full:blks

3 /*-
4 * SPDX-License-Identifier: BSD-3-Clause
12 * contract N66001-01-C-8035 ("CBOSS"), as part of the DARPA CHATS
66 #define BBSIZE 8192 /* size of boot area, with label */
75 * make file system for cylinder-group style file systems
78 #define POWEROF2(num) (((num) & ((num) - 1)) == 0)
82 * to represent the variable-length data that followed the fixed structure.
84 * newfs would put in a CG, since newfs thought that the fixed-size header
92 * now artificially reduce the amount of space that the variable-length data
126 static int bbsize; /* boot block size */
144 ffs_opt_t *ffs_opts = fsopts->fs_specific; in ffs_mkfs()
146 Oflag = ffs_opts->version; in ffs_mkfs()
147 fssize = fsopts->size / fsopts->sectorsize; in ffs_mkfs()
148 sectorsize = fsopts->sectorsize; in ffs_mkfs()
149 fsize = ffs_opts->fsize; in ffs_mkfs()
150 bsize = ffs_opts->bsize; in ffs_mkfs()
151 maxbsize = ffs_opts->maxbsize; in ffs_mkfs()
152 maxblkspercg = ffs_opts->maxblkspercg; in ffs_mkfs()
153 minfree = ffs_opts->minfree; in ffs_mkfs()
154 opt = ffs_opts->optimization; in ffs_mkfs()
155 density = ffs_opts->density; in ffs_mkfs()
156 maxcontig = ffs_opts->maxcontig; in ffs_mkfs()
157 maxbpg = ffs_opts->maxbpg; in ffs_mkfs()
158 avgfilesize = ffs_opts->avgfilesize; in ffs_mkfs()
159 avgfpdir = ffs_opts->avgfpdir; in ffs_mkfs()
163 strlcpy((char *)sblock.fs_volname, ffs_opts->label, in ffs_mkfs()
186 ffs_wtfs(fssize - 1, sectorsize, (char *)&sblock, fsopts); in ffs_mkfs()
253 sblock.fs_bmask = ~(sblock.fs_bsize - 1); in ffs_mkfs()
254 sblock.fs_fmask = ~(sblock.fs_fsize - 1); in ffs_mkfs()
302 if (ffs_opts->softupdates == 1) in ffs_mkfs()
312 sblock.fs_maxfilesize = sblock.fs_bsize * UFS_NDADDR - 1; in ffs_mkfs()
332 maxinum = (((int64_t)(1)) << 32) - INOPB(&sblock); in ffs_mkfs()
344 if (!ffs_opts->min_inodes) in ffs_mkfs()
364 if (CGSIZE(&sblock) < (unsigned long)sblock.fs_bsize - in ffs_mkfs()
367 density -= sblock.fs_fsize; in ffs_mkfs()
373 maxblkspercg = fssize - 1; in ffs_mkfs()
384 if (CGSIZE(&sblock) < (unsigned long)sblock.fs_bsize - in ffs_mkfs()
387 if (CGSIZE(&sblock) == (unsigned long)sblock.fs_bsize - in ffs_mkfs()
390 sblock.fs_fpg -= sblock.fs_frag; in ffs_mkfs()
414 sblock.fs_fpg -= sblock.fs_frag; in ffs_mkfs()
438 * Setup memory for temporary in-core cylgroup summaries. in ffs_mkfs()
479 sblock.fs_dsize = sblock.fs_size - sblock.fs_sblkno - in ffs_mkfs()
480 sblock.fs_ncg * (sblock.fs_dblkno - sblock.fs_sblkno); in ffs_mkfs()
482 fragstoblks(&sblock, sblock.fs_dsize) - in ffs_mkfs()
487 sblock.fs_frag - fragnum(&sblock, csfrags) : 0); in ffs_mkfs()
489 sblock.fs_ncg * sblock.fs_ipg - UFS_ROOTINO; in ffs_mkfs()
491 sblock.fs_dsize -= csfrags; in ffs_mkfs()
511 printf("\tusing %d cylinder groups of %.2fMB, %d blks, " in ffs_mkfs()
523 fsbtodb(&sblock, cgsblock(&sblock, sblock.fs_ncg -1))); in ffs_mkfs()
540 if (fsopts->needswap) in ffs_mkfs()
544 printf("super-block backups (for fsck -b #) at:"); in ffs_mkfs()
551 cylno == sblock.fs_ncg - 1 ? "" : ","); in ffs_mkfs()
558 * then write out the super-block. in ffs_mkfs()
567 if (fsopts->needswap) in ffs_mkfs()
580 int size, blks, i, saveflag; in ffs_write_superblock() local
585 saveflag = fs->fs_flags & FS_INTERNAL; in ffs_write_superblock()
586 fs->fs_flags &= ~FS_INTERNAL; in ffs_write_superblock()
592 info = fs->fs_si; in ffs_write_superblock()
593 fs->fs_si = NULL; in ffs_write_superblock()
595 fs->fs_si = info; in ffs_write_superblock()
597 if (fsopts->needswap) in ffs_write_superblock()
599 ffs_wtfs(fs->fs_sblockloc / sectorsize, sbsize, writebuf, fsopts); in ffs_write_superblock()
602 for (cylno = 0; cylno < fs->fs_ncg; cylno++) in ffs_write_superblock()
607 size = fs->fs_cssize; in ffs_write_superblock()
608 blks = howmany(size, fs->fs_fsize); in ffs_write_superblock()
609 space = (void *)fs->fs_csp; in ffs_write_superblock()
611 for (i = 0; i < blks; i+= fs->fs_frag) { in ffs_write_superblock()
612 size = fs->fs_bsize; in ffs_write_superblock()
613 if (i + fs->fs_frag > blks) in ffs_write_superblock()
614 size = (blks - i) * fs->fs_fsize; in ffs_write_superblock()
615 if (fsopts->needswap) in ffs_write_superblock()
620 ffs_wtfs(fsbtodb(fs, fs->fs_csaddr + i), size, wrbuf, fsopts); in ffs_write_superblock()
624 fs->fs_flags |= saveflag; in ffs_write_superblock()
649 dlower = cgsblock(&sblock, cylno) - cbase; in initcg()
650 dupper = cgdmin(&sblock, cylno) - cbase; in initcg()
659 acg.cg_ndblk = dmax - cbase; in initcg()
666 if (cylno == sblock.fs_ncg - 1) in initcg()
688 howmany(sblock.fs_fpg, CHAR_BIT) - sizeof(int32_t); in initcg()
704 acg.cg_cs.cs_nifree--; in initcg()
709 * for boot and super blocks. in initcg()
720 if ((i = (dupper & (sblock.fs_frag - 1))) != 0) { in initcg()
721 acg.cg_frsum[sblock.fs_frag - i]++; in initcg()
722 for (d = dupper + sblock.fs_frag - i; dupper < d; dupper++) { in initcg()
737 acg.cg_frsum[acg.cg_ndblk - d]++; in initcg()
759 if ((i & (CHAR_BIT - 1)) != (CHAR_BIT - 1)) { in initcg()
779 if (fsopts->needswap) in initcg()
787 dp1->di_gen = random(); in initcg()
790 dp2->di_gen = random(); in initcg()
805 dp1->di_gen = random(); in initcg()
823 offset = (off_t)bno * fsopts->sectorsize + fsopts->offset; in ffs_rdfs()
824 if (lseek(fsopts->fd, offset, SEEK_SET) < 0) in ffs_rdfs()
827 n = read(fsopts->fd, bf, size); in ffs_rdfs()
828 if (n == -1) { in ffs_rdfs()
847 offset = (off_t)bno * fsopts->sectorsize + fsopts->offset; in ffs_wtfs()
848 if (lseek(fsopts->fd, offset, SEEK_SET) < 0) in ffs_wtfs()
851 n = write(fsopts->fd, bf, size); in ffs_wtfs()
852 if (n == -1) in ffs_wtfs()