Lines Matching refs:sblock
112 #define sblock fsun->fs macro
153 cur_fsys, (long)cur_cylno, sblock.fs_ncg); in siginfo()
200 sblock.fs_inodefmt = FS_42INODEFMT; in mkfs()
201 sblock.fs_maxsymlinklen = 0; in mkfs()
203 sblock.fs_inodefmt = FS_44INODEFMT; in mkfs()
204 sblock.fs_maxsymlinklen = MAXSYMLINKLEN; in mkfs()
212 wtfs(fssize - 1, sectorsize, (char *)&sblock); in mkfs()
217 sblock.fs_nsect = nsectors; in mkfs()
218 sblock.fs_ntrak = ntracks; in mkfs()
219 if (sblock.fs_ntrak <= 0) in mkfs()
220 errx(14, "preposterous ntrak %d", sblock.fs_ntrak); in mkfs()
221 if (sblock.fs_nsect <= 0) in mkfs()
222 errx(15, "preposterous nsect %d", sblock.fs_nsect); in mkfs()
226 sblock.fs_avgfilesize = avgfilesize; in mkfs()
227 sblock.fs_avgfpdir = avgfilesperdir; in mkfs()
228 if (sblock.fs_avgfilesize <= 0) in mkfs()
230 sblock.fs_avgfilesize); in mkfs()
231 if (sblock.fs_avgfpdir <= 0) in mkfs()
233 sblock.fs_avgfpdir); in mkfs()
237 sblock.fs_bsize = bsize; in mkfs()
238 sblock.fs_fsize = fsize; in mkfs()
239 if (!POWEROF2(sblock.fs_bsize)) { in mkfs()
241 sblock.fs_bsize); in mkfs()
243 if (!POWEROF2(sblock.fs_fsize)) { in mkfs()
245 sblock.fs_fsize); in mkfs()
247 if (sblock.fs_fsize < sectorsize) { in mkfs()
249 sblock.fs_fsize, sectorsize); in mkfs()
251 if (sblock.fs_bsize < MINBSIZE) { in mkfs()
253 sblock.fs_bsize, MINBSIZE); in mkfs()
255 if (sblock.fs_bsize > MAXBSIZE) { in mkfs()
257 sblock.fs_bsize, MAXBSIZE); in mkfs()
259 if (sblock.fs_bsize < sblock.fs_fsize) { in mkfs()
261 sblock.fs_bsize, sblock.fs_fsize); in mkfs()
263 sblock.fs_bmask = ~(sblock.fs_bsize - 1); in mkfs()
264 sblock.fs_fmask = ~(sblock.fs_fsize - 1); in mkfs()
265 sblock.fs_qbmask = ~sblock.fs_bmask; in mkfs()
266 sblock.fs_qfmask = ~sblock.fs_fmask; in mkfs()
267 for (sblock.fs_bshift = 0, i = sblock.fs_bsize; i > 1; i >>= 1) in mkfs()
268 sblock.fs_bshift++; in mkfs()
269 for (sblock.fs_fshift = 0, i = sblock.fs_fsize; i > 1; i >>= 1) in mkfs()
270 sblock.fs_fshift++; in mkfs()
271 sblock.fs_frag = numfrags(&sblock, sblock.fs_bsize); in mkfs()
272 for (sblock.fs_fragshift = 0, i = sblock.fs_frag; i > 1; i >>= 1) in mkfs()
273 sblock.fs_fragshift++; in mkfs()
274 if (sblock.fs_frag > MAXFRAG) { in mkfs()
276 sblock.fs_fsize, sblock.fs_bsize, in mkfs()
277 sblock.fs_bsize / MAXFRAG); in mkfs()
279 sblock.fs_nrpos = nrpos; in mkfs()
280 sblock.fs_nindir = sblock.fs_bsize / sizeof(daddr_t); in mkfs()
281 sblock.fs_inopb = sblock.fs_bsize / sizeof(struct ufs1_dinode); in mkfs()
282 sblock.fs_nspf = sblock.fs_fsize / sectorsize; in mkfs()
283 for (sblock.fs_fsbtodb = 0, i = NSPF(&sblock); i > 1; i >>= 1) in mkfs()
284 sblock.fs_fsbtodb++; in mkfs()
285 sblock.fs_sblkno = in mkfs()
286 roundup(howmany(bbsize + sbsize, sblock.fs_fsize), sblock.fs_frag); in mkfs()
287 sblock.fs_cblkno = (daddr_t)(sblock.fs_sblkno + in mkfs()
288 roundup(howmany(sbsize, sblock.fs_fsize), sblock.fs_frag)); in mkfs()
289 sblock.fs_iblkno = sblock.fs_cblkno + sblock.fs_frag; in mkfs()
290 sblock.fs_cgoffset = roundup( in mkfs()
291 howmany(sblock.fs_nsect, NSPF(&sblock)), sblock.fs_frag); in mkfs()
292 for (sblock.fs_cgmask = 0xffffffff, i = sblock.fs_ntrak; i > 1; i >>= 1) in mkfs()
293 sblock.fs_cgmask <<= 1; in mkfs()
294 if (!POWEROF2(sblock.fs_ntrak)) in mkfs()
295 sblock.fs_cgmask <<= 1; in mkfs()
296 sblock.fs_maxfilesize = sblock.fs_bsize * NDADDR - 1; in mkfs()
297 for (sizepb = sblock.fs_bsize, i = 0; i < NIADDR; i++) { in mkfs()
298 sizepb *= NINDIR(&sblock); in mkfs()
299 sblock.fs_maxfilesize += sizepb; in mkfs()
305 sblock.fs_spc = secpercyl; in mkfs()
306 for (sblock.fs_cpc = NSPB(&sblock), i = sblock.fs_spc; in mkfs()
307 sblock.fs_cpc > 1 && (i & 1) == 0; in mkfs()
308 sblock.fs_cpc >>= 1, i >>= 1) in mkfs()
310 mincpc = sblock.fs_cpc; in mkfs()
311 bpcg = sblock.fs_spc * sectorsize; in mkfs()
312 inospercg = roundup(bpcg / sizeof(struct ufs1_dinode), INOPB(&sblock)); in mkfs()
313 if (inospercg > MAXIPG(&sblock)) in mkfs()
314 inospercg = MAXIPG(&sblock); in mkfs()
315 used = (sblock.fs_iblkno + inospercg / INOPF(&sblock)) * NSPF(&sblock); in mkfs()
316 mincpgcnt = howmany(sblock.fs_cgoffset * (~sblock.fs_cgmask) + used, in mkfs()
317 sblock.fs_spc); in mkfs()
323 sblock.fs_cpg = mincpg; in mkfs()
324 sblock.fs_ipg = inospercg; in mkfs()
326 sblock.fs_contigsumsize = MIN(maxcontig, FS_MAXCONTIG); in mkfs()
329 if (CGSIZE(&sblock) > sblock.fs_bsize && secpercyl > 1024 && ntracks > 1) { in mkfs()
334 while (CGSIZE(&sblock) > sblock.fs_bsize) { in mkfs()
336 if (sblock.fs_bsize < MAXBSIZE) { in mkfs()
337 sblock.fs_bsize <<= 1; in mkfs()
341 sblock.fs_cpc <<= 1; in mkfs()
344 sblock.fs_cpg = mincpg; in mkfs()
346 sblock.fs_frag <<= 1; in mkfs()
347 sblock.fs_fragshift += 1; in mkfs()
348 if (sblock.fs_frag <= MAXFRAG) in mkfs()
351 if (sblock.fs_fsize == sblock.fs_bsize) { in mkfs()
354 sblock.fs_frag >>= 1; in mkfs()
355 sblock.fs_fragshift -= 1; in mkfs()
356 sblock.fs_fsize <<= 1; in mkfs()
357 sblock.fs_nspf <<= 1; in mkfs()
365 INOPB(&sblock)); in mkfs()
366 sblock.fs_ipg = inospercg; in mkfs()
367 while (inospercg > MAXIPG(&sblock)) { in mkfs()
369 if (mincpc == 1 || sblock.fs_frag == 1 || in mkfs()
370 sblock.fs_bsize == MINBSIZE) in mkfs()
373 sblock.fs_bsize, "minimum bytes per inode is", in mkfs()
374 (mincpg * bpcg - used) / MAXIPG(&sblock) + 1); in mkfs()
375 sblock.fs_bsize >>= 1; in mkfs()
376 sblock.fs_frag >>= 1; in mkfs()
377 sblock.fs_fragshift -= 1; in mkfs()
379 sblock.fs_cpg = roundup(mincpgcnt, mincpc); in mkfs()
380 if (CGSIZE(&sblock) > sblock.fs_bsize) { in mkfs()
381 sblock.fs_bsize <<= 1; in mkfs()
384 mincpg = sblock.fs_cpg; in mkfs()
386 INOPB(&sblock)); in mkfs()
387 sblock.fs_ipg = inospercg; in mkfs()
390 if (inospercg > MAXIPG(&sblock)) { in mkfs()
392 (mincpg * bpcg - used) / MAXIPG(&sblock) + 1); in mkfs()
399 printf("With %d sectors per cylinder, ", sblock.fs_spc); in mkfs()
403 if (sblock.fs_bsize != bsize) in mkfs()
406 bsize, sblock.fs_bsize); in mkfs()
407 if (sblock.fs_fsize != fsize) in mkfs()
410 fsize, sblock.fs_fsize); in mkfs()
416 sblock.fs_cpg = cpg; in mkfs()
417 if (sblock.fs_cpg % mincpc != 0) { in mkfs()
422 sblock.fs_cpg = roundup(sblock.fs_cpg, mincpc); in mkfs()
424 cpg = sblock.fs_cpg; in mkfs()
429 sblock.fs_ipg = roundup(((int64_t)sblock.fs_cpg * bpcg - used) / in mkfs()
430 density, INOPB(&sblock)); in mkfs()
431 while (sblock.fs_ipg > MAXIPG(&sblock)) { in mkfs()
433 sblock.fs_cpg -= mincpc; in mkfs()
434 sblock.fs_ipg = roundup(((int64_t)sblock.fs_cpg * bpcg - used) / in mkfs()
435 density, INOPB(&sblock)); in mkfs()
440 if (CGSIZE(&sblock) > sblock.fs_bsize && secpercyl > 1024 && ntracks > 1) { in mkfs()
445 while (CGSIZE(&sblock) > sblock.fs_bsize) { in mkfs()
447 sblock.fs_cpg -= mincpc; in mkfs()
448 sblock.fs_ipg = roundup(((int64_t)sblock.fs_cpg * bpcg - used) / in mkfs()
449 density, INOPB(&sblock)); in mkfs()
451 sblock.fs_fpg = (sblock.fs_cpg * sblock.fs_spc) / NSPF(&sblock); in mkfs()
452 if ((sblock.fs_cpg * sblock.fs_spc) % NSPB(&sblock) != 0) { in mkfs()
455 if (sblock.fs_cpg < mincpg) { in mkfs()
458 } else if (cpgflg && sblock.fs_cpg != cpg) { in mkfs()
467 printf(" cylinders per group to %d.\n", sblock.fs_cpg); in mkfs()
471 sblock.fs_cgsize = fragroundup(&sblock, CGSIZE(&sblock)); in mkfs()
476 sblock.fs_size = dbtofsb(&sblock, fssize); in mkfs()
477 sblock.fs_ncyl = sblock.fs_size * NSPF(&sblock) / sblock.fs_spc; in mkfs()
478 if (sblock.fs_size * NSPF(&sblock) > sblock.fs_ncyl * sblock.fs_spc) { in mkfs()
479 sblock.fs_ncyl++; in mkfs()
482 if (sblock.fs_ncyl < 1) { in mkfs()
485 sblock.fs_ncyl); in mkfs()
498 sblock.fs_interleave = interleave; in mkfs()
499 sblock.fs_trackskew = trackskew; in mkfs()
500 sblock.fs_npsect = nphyssectors; in mkfs()
501 sblock.fs_postblformat = FS_DYNAMICPOSTBLFMT; in mkfs()
502 sblock.fs_sbsize = fragroundup(&sblock, sizeof(struct fs)); in mkfs()
503 if (sblock.fs_sbsize > SBSIZE) in mkfs()
504 sblock.fs_sbsize = SBSIZE; in mkfs()
505 if (sblock.fs_ntrak == 1) { in mkfs()
506 sblock.fs_cpc = 0; in mkfs()
509 postblsize = sblock.fs_nrpos * sblock.fs_cpc * sizeof(int16_t); in mkfs()
510 rotblsize = sblock.fs_cpc * sblock.fs_spc / NSPB(&sblock); in mkfs()
512 if (sblock.fs_nrpos == 8 && sblock.fs_cpc <= 16) { in mkfs()
514 sblock.fs_postbloff = (char *)(&sblock.fs_opostbl[0][0]) - in mkfs()
515 (char *)(&sblock.fs_firstfield); in mkfs()
516 sblock.fs_rotbloff = &sblock.fs_space[0] - in mkfs()
517 (u_char *)(&sblock.fs_firstfield); in mkfs()
520 sblock.fs_postbloff = &sblock.fs_space[0] - in mkfs()
521 (u_char *)(&sblock.fs_firstfield); in mkfs()
522 sblock.fs_rotbloff = sblock.fs_postbloff + postblsize; in mkfs()
525 if (totalsbsize > SBSIZE || fragroundup(&sblock, totalsbsize) > SBSIZE in mkfs()
526 || sblock.fs_nsect > (1 << NBBY) * NSPB(&sblock)) { in mkfs()
529 "rotational layout tables with nsect", sblock.fs_nsect, in mkfs()
530 "and ntrak", sblock.fs_ntrak, in mkfs()
532 sblock.fs_cpc = 0; in mkfs()
535 sblock.fs_sbsize = fragroundup(&sblock, totalsbsize); in mkfs()
539 for (cylno = 0; cylno < sblock.fs_cpc; cylno++) in mkfs()
540 for (rpos = 0; rpos < sblock.fs_nrpos; rpos++) in mkfs()
541 fs_postbl(&sblock, cylno)[rpos] = -1; in mkfs() local
542 for (i = (rotblsize - 1) * sblock.fs_frag; in mkfs()
543 i >= 0; i -= sblock.fs_frag) { in mkfs()
544 cylno = cbtocylno(&sblock, i); in mkfs()
545 rpos = cbtorpos(&sblock, i); in mkfs()
546 blk = fragstoblks(&sblock, i); in mkfs()
547 if (fs_postbl(&sblock, cylno)[rpos] == -1) in mkfs() local
548 fs_rotbl(&sblock)[blk] = 0; in mkfs() local
550 fs_rotbl(&sblock)[blk] = in mkfs() local
551 fs_postbl(&sblock, cylno)[rpos] - blk; in mkfs()
552 fs_postbl(&sblock, cylno)[rpos] = blk; in mkfs() local
558 sblock.fs_ncg = sblock.fs_ncyl / sblock.fs_cpg; in mkfs()
559 if (sblock.fs_ncyl % sblock.fs_cpg) in mkfs()
560 sblock.fs_ncg++; in mkfs()
561 sblock.fs_dblkno = sblock.fs_iblkno + sblock.fs_ipg / INOPF(&sblock); in mkfs()
562 i = MIN(~sblock.fs_cgmask, sblock.fs_ncg - 1); in mkfs()
563 if (cgdmin(&sblock, i) - cgbase(&sblock, i) >= sblock.fs_fpg) { in mkfs()
565 cgdmin(&sblock, i) - cgbase(&sblock, i) / sblock.fs_frag, in mkfs()
566 sblock.fs_fpg / sblock.fs_frag); in mkfs()
568 sblock.fs_cpg, "must be increased"); in mkfs()
571 j = sblock.fs_ncg - 1; in mkfs()
572 if ((i = sblock.fs_size - j * sblock.fs_fpg) < sblock.fs_fpg && in mkfs()
573 cgdmin(&sblock, j) - cgbase(&sblock, j) > i) { in mkfs()
576 NSPF(&sblock) * in mkfs()
577 (cgdmin(&sblock, 0) + 3 * sblock.fs_frag)); in mkfs()
580 (cgdmin(&sblock, j) - cgbase(&sblock, j)) / sblock.fs_frag, in mkfs()
581 i / sblock.fs_frag); in mkfs()
583 i * NSPF(&sblock)); in mkfs()
584 sblock.fs_ncg--; in mkfs()
585 sblock.fs_ncyl -= sblock.fs_ncyl % sblock.fs_cpg; in mkfs()
586 sblock.fs_size = sblock.fs_ncyl * sblock.fs_spc / NSPF(&sblock); in mkfs()
587 fssize = fsbtodb(&sblock, sblock.fs_size); in mkfs()
592 sblock.fs_spc - in mkfs()
593 (dbtofsb(&sblock, fssize) * NSPF(&sblock) - in mkfs()
594 (sblock.fs_ncyl - 1) * sblock.fs_spc)); in mkfs()
599 sblock.fs_csaddr = cgdmin(&sblock, 0); in mkfs()
600 sblock.fs_cssize = in mkfs()
601 fragroundup(&sblock, sblock.fs_ncg * sizeof(struct csum)); in mkfs()
608 i = sblock.fs_bsize / sizeof(struct csum); in mkfs()
609 sblock.fs_csmask = ~(i - 1); in mkfs()
610 for (sblock.fs_csshift = 0; i > 1; i >>= 1) in mkfs()
611 sblock.fs_csshift++; in mkfs()
612 if ((fscs = calloc(1, sblock.fs_cssize)) == NULL) in mkfs()
614 sblock.fs_magic = FS_MAGIC; in mkfs()
615 sblock.fs_rotdelay = rotdelay; in mkfs()
616 sblock.fs_minfree = minfree; in mkfs()
617 sblock.fs_maxcontig = maxcontig; in mkfs()
618 sblock.fs_maxbpg = maxbpg; in mkfs()
619 sblock.fs_rps = rpm / 60; in mkfs()
620 sblock.fs_optim = opt; in mkfs()
621 sblock.fs_cgrotor = 0; in mkfs()
622 sblock.fs_cstotal.cs_ndir = 0; in mkfs()
623 sblock.fs_cstotal.cs_nbfree = 0; in mkfs()
624 sblock.fs_cstotal.cs_nifree = 0; in mkfs()
625 sblock.fs_cstotal.cs_nffree = 0; in mkfs()
626 sblock.fs_fmod = 0; in mkfs()
627 sblock.fs_ronly = 0; in mkfs()
628 sblock.fs_clean = FS_ISCLEAN; in mkfs()
629 sblock.fs_id[0] = (u_int32_t)utime; in mkfs()
630 sblock.fs_id[1] = (u_int32_t)arc4random(); in mkfs()
637 fsys, sblock.fs_size * NSPF(&sblock), sblock.fs_ncyl, in mkfs()
638 "cylinders", sblock.fs_ntrak, sblock.fs_nsect); in mkfs()
641 (float)sblock.fs_size * sblock.fs_fsize * B2MBFACTOR, in mkfs()
642 sblock.fs_ncg, sblock.fs_cpg, in mkfs()
643 (float)sblock.fs_fpg * sblock.fs_fsize * B2MBFACTOR, in mkfs()
644 sblock.fs_ipg); in mkfs()
664 arc4random_pushb_fast(sblock.fs_historic_start, in mkfs()
665 sizeof(sblock.fs_historic_start)); in mkfs()
671 for (cylno = 0; cylno < sblock.fs_ncg; cylno++) { in mkfs()
677 fsbtodb(&sblock, cgsblock(&sblock, cylno))); in mkfs()
698 sblock.fs_time = utime; in mkfs()
700 sblock.fs_magic = 0; in mkfs()
701 wtfs((int)SBOFF / sectorsize, sbsize, (char *)&sblock); in mkfs()
702 sblock.fs_magic = FS_MAGIC; in mkfs()
703 sblock.fs_firstfield = arc4random(); in mkfs()
704 for (i = 0; i < sblock.fs_cssize; i += sblock.fs_bsize) in mkfs()
705 wtfs(fsbtodb(&sblock, sblock.fs_csaddr + numfrags(&sblock, i)), in mkfs()
706 sblock.fs_cssize - i < sblock.fs_bsize ? in mkfs()
707 sblock.fs_cssize - i : sblock.fs_bsize, in mkfs()
712 for (cylno = 0; cylno < sblock.fs_ncg; cylno++) { in mkfs()
713 sblock.fs_unused_1 = arc4random(); in mkfs()
714 wtfs(fsbtodb(&sblock, cgsblock(&sblock, cylno)), in mkfs()
715 sbsize, (char *)&sblock); in mkfs()
718 sblock.fs_unused_1 = arc4random(); in mkfs()
719 wtfs((int)SBOFF / sectorsize, sbsize, (char *)&sblock); in mkfs()
725 pp->p_fsize = sblock.fs_fsize; in mkfs()
726 pp->p_frag = sblock.fs_frag; in mkfs()
727 pp->p_cpg = sblock.fs_cpg; in mkfs()
745 cbase = cgbase(&sblock, cylno); in initcg()
746 dmax = cbase + sblock.fs_fpg; in initcg()
747 if (dmax > sblock.fs_size) in initcg()
748 dmax = sblock.fs_size; in initcg()
749 dlower = cgsblock(&sblock, cylno) - cbase; in initcg()
750 dupper = cgdmin(&sblock, cylno) - cbase; in initcg()
752 dupper += howmany(sblock.fs_cssize, sblock.fs_fsize); in initcg()
754 memset(&acg, 0, sblock.fs_cgsize); in initcg()
758 if (cylno == sblock.fs_ncg - 1) in initcg()
759 acg.cg_ncyl = sblock.fs_ncyl % sblock.fs_cpg; in initcg()
761 acg.cg_ncyl = sblock.fs_cpg; in initcg()
762 acg.cg_niblk = sblock.fs_ipg; in initcg()
764 if (sblock.fs_contigsumsize > 0) in initcg()
765 acg.cg_nclusterblks = acg.cg_ndblk / sblock.fs_frag; in initcg()
767 acg.cg_boff = acg.cg_btotoff + sblock.fs_cpg * sizeof(int32_t); in initcg()
769 sblock.fs_cpg * sblock.fs_nrpos * sizeof(int16_t); in initcg()
770 acg.cg_freeoff = acg.cg_iusedoff + howmany(sblock.fs_ipg, NBBY); in initcg()
771 if (sblock.fs_contigsumsize <= 0) { in initcg()
773 howmany(sblock.fs_cpg * sblock.fs_spc / NSPF(&sblock), NBBY); in initcg()
776 (sblock.fs_cpg * sblock.fs_spc / NSPF(&sblock), NBBY) - in initcg()
781 (sblock.fs_contigsumsize + 1) * sizeof(int32_t); in initcg()
783 (sblock.fs_cpg * sblock.fs_spc / NSPB(&sblock), NBBY); in initcg()
785 if (acg.cg_nextfreeoff > sblock.fs_cgsize) in initcg()
787 acg.cg_cs.cs_nifree += sblock.fs_ipg; in initcg()
793 for (i = 0; i < sblock.fs_ipg / INOPF(&sblock); i += sblock.fs_frag) { in initcg()
794 for (j = 0; j < sblock.fs_bsize / sizeof(struct ufs1_dinode); j++) in initcg()
796 wtfs(fsbtodb(&sblock, cgimin(&sblock, cylno) + i), in initcg()
797 sblock.fs_bsize, (char *)zino); in initcg()
804 for (d = 0; d < dlower; d += sblock.fs_frag) { in initcg()
805 blkno = d / sblock.fs_frag; in initcg()
806 setblock(&sblock, cg_blksfree(&acg), blkno); in initcg()
807 if (sblock.fs_contigsumsize > 0) in initcg()
810 cg_blktot(&acg)[cbtocylno(&sblock, d)]++; in initcg()
811 cg_blks(&sblock, &acg, cbtocylno(&sblock, d)) in initcg() local
812 [cbtorpos(&sblock, d)]++; in initcg()
814 sblock.fs_dsize += dlower; in initcg()
816 sblock.fs_dsize += acg.cg_ndblk - dupper; in initcg()
817 if ((i = dupper % sblock.fs_frag)) { in initcg()
818 acg.cg_frsum[sblock.fs_frag - i]++; in initcg()
819 for (d = dupper + sblock.fs_frag - i; dupper < d; dupper++) { in initcg()
824 for (d = dupper; d + sblock.fs_frag <= dmax - cbase; ) { in initcg()
825 blkno = d / sblock.fs_frag; in initcg()
826 setblock(&sblock, cg_blksfree(&acg), blkno); in initcg()
827 if (sblock.fs_contigsumsize > 0) in initcg()
830 cg_blktot(&acg)[cbtocylno(&sblock, d)]++; in initcg()
831 cg_blks(&sblock, &acg, cbtocylno(&sblock, d)) in initcg() local
832 [cbtorpos(&sblock, d)]++; in initcg()
833 d += sblock.fs_frag; in initcg()
842 if (sblock.fs_contigsumsize > 0) { in initcg()
853 if (run > sblock.fs_contigsumsize) in initcg()
854 run = sblock.fs_contigsumsize; in initcg()
866 if (run > sblock.fs_contigsumsize) in initcg()
867 run = sblock.fs_contigsumsize; in initcg()
871 sblock.fs_cstotal.cs_ndir += acg.cg_cs.cs_ndir; in initcg()
872 sblock.fs_cstotal.cs_nffree += acg.cg_cs.cs_nffree; in initcg()
873 sblock.fs_cstotal.cs_nbfree += acg.cg_cs.cs_nbfree; in initcg()
874 sblock.fs_cstotal.cs_nifree += acg.cg_cs.cs_nifree; in initcg()
876 wtfs(fsbtodb(&sblock, cgtod(&sblock, cylno)), in initcg()
877 sblock.fs_bsize, (char *)&acg); in initcg()
940 for (i = DIRBLKSIZ; i < sblock.fs_bsize; i += DIRBLKSIZ) in fsinit()
947 for (i = DIRBLKSIZ; i < sblock.fs_bsize; i += DIRBLKSIZ) in fsinit()
953 node.di_size = sblock.fs_bsize; in fsinit()
956 node.di_blocks = btodb(fragroundup(&sblock, node.di_size)); in fsinit()
957 wtfs(fsbtodb(&sblock, node.di_db[0]), node.di_size, buf); in fsinit()
977 if ((node.di_db[0] = alloc(sblock.fs_fsize, node.di_mode)) == 0) in fsinit()
979 node.di_blocks = btodb(fragroundup(&sblock, node.di_size)); in fsinit()
980 wtfs(fsbtodb(&sblock, node.di_db[0]), sblock.fs_fsize, buf); in fsinit()
1016 rdfs(fsbtodb(&sblock, cgtod(&sblock, 0)), sblock.fs_cgsize, in alloc()
1026 for (d = 0; d < acg.cg_ndblk; d += sblock.fs_frag) in alloc()
1027 if (isblock(&sblock, cg_blksfree(&acg), d / sblock.fs_frag)) in alloc()
1032 blkno = fragstoblks(&sblock, d); in alloc()
1033 clrblock(&sblock, cg_blksfree(&acg), blkno); in alloc()
1034 if (sblock.fs_contigsumsize > 0) in alloc()
1037 sblock.fs_cstotal.cs_nbfree--; in alloc()
1041 sblock.fs_cstotal.cs_ndir++; in alloc()
1044 cg_blktot(&acg)[cbtocylno(&sblock, d)]--; in alloc()
1045 cg_blks(&sblock, &acg, cbtocylno(&sblock, d))[cbtorpos(&sblock, d)]--; in alloc() local
1046 if (size != sblock.fs_bsize) { in alloc()
1047 frag = howmany(size, sblock.fs_fsize); in alloc()
1048 fscs[0].cs_nffree += sblock.fs_frag - frag; in alloc()
1049 sblock.fs_cstotal.cs_nffree += sblock.fs_frag - frag; in alloc()
1050 acg.cg_cs.cs_nffree += sblock.fs_frag - frag; in alloc()
1051 acg.cg_frsum[sblock.fs_frag - frag]++; in alloc()
1052 for (i = frag; i < sblock.fs_frag; i++) in alloc()
1055 wtfs(fsbtodb(&sblock, cgtod(&sblock, 0)), sblock.fs_cgsize, in alloc()
1070 rdfs(fsbtodb(&sblock, cgtod(&sblock, 0)), sblock.fs_cgsize, in iput()
1078 wtfs(fsbtodb(&sblock, cgtod(&sblock, 0)), sblock.fs_cgsize, in iput()
1080 sblock.fs_cstotal.cs_nifree--; in iput()
1082 if (ino >= sblock.fs_ipg * sblock.fs_ncg) { in iput()
1085 d = fsbtodb(&sblock, ino_to_fsba(&sblock, ino)); in iput()
1086 rdfs(d, sblock.fs_bsize, buf); in iput()
1087 buf[ino_to_fsbo(&sblock, ino)] = *ip; in iput()
1088 wtfs(d, sblock.fs_bsize, buf); in iput()