Lines Matching refs:sblock
86 #define sblock fsun1.fs /* the new superblock */ macro
140 fscs = (struct csum *)calloc((size_t)1, (size_t)sblock.fs_cssize); in growfs()
146 sblock.fs_csp = fscs; in growfs()
176 (float)sblock.fs_size * sblock.fs_fsize * B2MBFACTOR, in growfs()
177 (intmax_t)fsbtodb(&sblock, sblock.fs_size), sblock.fs_bsize, in growfs()
178 sblock.fs_fsize); in growfs()
180 sblock.fs_ncg, (float)sblock.fs_fpg * sblock.fs_fsize * B2MBFACTOR, in growfs()
181 sblock.fs_fpg / sblock.fs_frag, sblock.fs_ipg); in growfs()
182 if (sblock.fs_flags & FS_DOSOFTDEP) in growfs()
198 for (cylno = osblock.fs_ncg; cylno < sblock.fs_ncg; cylno++) { in growfs()
201 (intmax_t)fsbtodb(&sblock, cgsblock(&sblock, cylno)), in growfs()
202 cylno < (sblock.fs_ncg - 1) ? "," : "" ); in growfs()
241 sblock.fs_time = modtime; in growfs()
242 sblock.fs_fmod = 0; in growfs()
243 sblock.fs_clean = 1; in growfs()
244 sblock.fs_ronly = 0; in growfs()
245 sblock.fs_cgrotor = 0; in growfs()
246 sblock.fs_state = 0; in growfs()
247 memset((void *)&sblock.fs_fsmnt, 0, sizeof(sblock.fs_fsmnt)); in growfs()
253 if (!Nflag && sbput(fso, &sblock, sblock.fs_ncg) != 0) in growfs()
264 for (dbg_csc = 0; dbg_csc < sblock.fs_ncg; dbg_csc++) { in growfs()
267 DBG_DUMP_CSUM(&sblock, dbg_line, dbg_csp++); in growfs()
273 DBG_DUMP_FS(&sblock, "new initial sblock"); in growfs()
276 DBG_DUMP_FS(&sblock, "new other sblocks"); in growfs()
303 iobufsize = 2 * sblock.fs_bsize; in initcg()
313 cbase = cgbase(&sblock, cylno); in initcg()
314 dmax = cbase + sblock.fs_fpg; in initcg()
315 if (dmax > sblock.fs_size) in initcg()
316 dmax = sblock.fs_size; in initcg()
317 dlower = cgsblock(&sblock, cylno) - cbase; in initcg()
318 dupper = cgdmin(&sblock, cylno) - cbase; in initcg()
320 dupper += howmany(sblock.fs_cssize, sblock.fs_fsize); in initcg()
322 memset(&acg, 0, sblock.fs_cgsize); in initcg()
326 acg.cg_niblk = sblock.fs_ipg; in initcg()
327 acg.cg_initediblk = MIN(sblock.fs_ipg, 2 * INOPB(&sblock)); in initcg()
329 if (sblock.fs_contigsumsize > 0) in initcg()
330 acg.cg_nclusterblks = acg.cg_ndblk / sblock.fs_frag; in initcg()
332 if (sblock.fs_magic == FS_UFS2_MAGIC) { in initcg()
335 acg.cg_old_ncyl = sblock.fs_old_cpg; in initcg()
343 sblock.fs_old_cpg * sizeof(int32_t); in initcg()
345 sblock.fs_old_cpg * sizeof(u_int16_t); in initcg()
347 acg.cg_freeoff = acg.cg_iusedoff + howmany(sblock.fs_ipg, CHAR_BIT); in initcg()
348 acg.cg_nextfreeoff = acg.cg_freeoff + howmany(sblock.fs_fpg, CHAR_BIT); in initcg()
349 if (sblock.fs_contigsumsize > 0) { in initcg()
354 (sblock.fs_contigsumsize + 1) * sizeof(u_int32_t); in initcg()
356 howmany(fragstoblks(&sblock, sblock.fs_fpg), CHAR_BIT); in initcg()
358 if (acg.cg_nextfreeoff > (unsigned)sblock.fs_cgsize) { in initcg()
365 acg.cg_cs.cs_nifree += sblock.fs_ipg; in initcg()
377 if (sblock.fs_magic == FS_UFS1_MAGIC) { in initcg()
385 wtfs(fsbtodb(&sblock, cgimin(&sblock, cylno)), iobufsize, iobuf, in initcg()
390 if (sblock.fs_magic == FS_UFS1_MAGIC && in initcg()
391 sblock.fs_ipg > 2 * INOPB(&sblock)) { in initcg()
392 for (i = 2 * sblock.fs_frag; in initcg()
393 i < sblock.fs_ipg / INOPF(&sblock); in initcg()
394 i += sblock.fs_frag) { in initcg()
396 for (j = 0; j < INOPB(&sblock); j++) { in initcg()
400 wtfs(fsbtodb(&sblock, cgimin(&sblock, cylno) + i), in initcg()
401 sblock.fs_bsize, iobuf, fso, Nflag); in initcg()
409 for (d = 0; d < dlower; d += sblock.fs_frag) { in initcg()
410 blkno = d / sblock.fs_frag; in initcg()
411 setblock(&sblock, cg_blksfree(&acg), blkno); in initcg()
412 if (sblock.fs_contigsumsize > 0) in initcg()
416 sblock.fs_dsize += dlower; in initcg()
418 sblock.fs_dsize += acg.cg_ndblk - dupper; in initcg()
419 sblock.fs_old_dsize = sblock.fs_dsize; in initcg()
420 if ((i = dupper % sblock.fs_frag)) { in initcg()
421 acg.cg_frsum[sblock.fs_frag - i]++; in initcg()
422 for (d = dupper + sblock.fs_frag - i; dupper < d; dupper++) { in initcg()
427 for (d = dupper; d + sblock.fs_frag <= acg.cg_ndblk; in initcg()
428 d += sblock.fs_frag) { in initcg()
429 blkno = d / sblock.fs_frag; in initcg()
430 setblock(&sblock, cg_blksfree(&acg), blkno); in initcg()
431 if (sblock.fs_contigsumsize > 0) in initcg()
442 if (sblock.fs_contigsumsize > 0) { in initcg()
453 if (run > sblock.fs_contigsumsize) in initcg()
454 run = sblock.fs_contigsumsize; in initcg()
466 if (run > sblock.fs_contigsumsize) in initcg()
467 run = sblock.fs_contigsumsize; in initcg()
471 sblock.fs_cstotal.cs_ndir += acg.cg_cs.cs_ndir; in initcg()
472 sblock.fs_cstotal.cs_nffree += acg.cg_cs.cs_nffree; in initcg()
473 sblock.fs_cstotal.cs_nbfree += acg.cg_cs.cs_nbfree; in initcg()
474 sblock.fs_cstotal.cs_nifree += acg.cg_cs.cs_nifree; in initcg()
478 wtfs(fsbtodb(&sblock, cgtod(&sblock, cylno)), sblock.fs_cgsize, &acg, in initcg()
480 DBG_DUMP_CG(&sblock, "new cg", &acg); in initcg()
506 for (f = rounddown(frag, sblock.fs_frag); in frag_adjust()
507 f < roundup(frag + 1, sblock.fs_frag); f++) { in frag_adjust()
514 if (fragsize && fragsize < sblock.fs_frag) { in frag_adjust()
525 if (fragsize && fragsize < sblock.fs_frag) { in frag_adjust()
567 DBG_DUMP_CG(&sblock, "old joining cg", &aocg); in updjcg()
580 if (sblock.fs_magic == FS_UFS1_MAGIC) in updjcg()
581 acg.cg_old_ncyl = sblock.fs_old_cpg; in updjcg()
584 wtfs(fsbtodb(&sblock, cgtod(&sblock, cylno)), in updjcg()
585 (size_t)sblock.fs_cgsize, (void *)&acg, fso, Nflag); in updjcg()
587 DBG_DUMP_CG(&sblock, "new joining cg", &acg); in updjcg()
596 cbase = cgbase(&sblock, cylno); in updjcg()
597 dmax = cbase + sblock.fs_fpg; in updjcg()
598 if (dmax > sblock.fs_size) in updjcg()
599 dmax = sblock.fs_size; in updjcg()
611 if ((unsigned)cylno == sblock.fs_ncg - 1) { in updjcg()
615 if (sblock.fs_magic == FS_UFS1_MAGIC) in updjcg()
617 sblock.fs_old_ncyl % sblock.fs_old_cpg; in updjcg()
619 acg.cg_old_ncyl = sblock.fs_old_cpg; in updjcg()
621 DBG_PRINT2("jcg dbg: %d %u", cylno, sblock.fs_ncg); in updjcg()
623 if (sblock.fs_magic == FS_UFS1_MAGIC) in updjcg()
624 DBG_PRINT2("%d %u", acg.cg_old_ncyl, sblock.fs_old_cpg); in updjcg()
628 sblock.fs_dsize += acg.cg_ndblk - aocg.cg_ndblk; in updjcg()
629 sblock.fs_old_dsize = sblock.fs_dsize; in updjcg()
630 if (sblock.fs_contigsumsize > 0) in updjcg()
631 acg.cg_nclusterblks = acg.cg_ndblk / sblock.fs_frag; in updjcg()
645 if (osblock.fs_size % sblock.fs_frag) { in updjcg()
646 if (roundup(osblock.fs_size, sblock.fs_frag) <= in updjcg()
647 sblock.fs_size) { in updjcg()
654 sblock.fs_frag) - 1; i >= osblock.fs_size - cbase; in updjcg()
666 if (isblock(&sblock, cg_blksfree(&acg), in updjcg()
667 ((osblock.fs_size - cgbase(&sblock, cylno)) / in updjcg()
668 sblock.fs_frag))) { in updjcg()
673 acg.cg_frsum[osblock.fs_size % sblock.fs_frag]--; in updjcg()
675 acg.cg_cs.cs_nffree -= sblock.fs_frag; in updjcg()
677 sblock.fs_frag); in updjcg()
679 sblock.fs_frag); in updjcg()
688 sblock.fs_frag))) { in updjcg()
701 for (i = sblock.fs_size - cbase - 1; in updjcg()
713 sblock.fs_frag))) { in updjcg()
726 for (i = roundup(osblock.fs_size - cbase, sblock.fs_frag); in updjcg()
727 i + sblock.fs_frag <= dmax - cbase; /* XXX <= or only < ? */ in updjcg()
728 i += sblock.fs_frag) { in updjcg()
729 j = i / sblock.fs_frag; in updjcg()
730 setblock(&sblock, cg_blksfree(&acg), j); in updjcg()
748 sblock.fs_cstotal.cs_nffree += in updjcg()
750 sblock.fs_cstotal.cs_nbfree += in updjcg()
765 wtfs(fsbtodb(&sblock, cgtod(&sblock, cylno)), (size_t)sblock.fs_cgsize, in updjcg()
768 DBG_DUMP_CG(&sblock, "new joining cg", &acg); in updjcg()
799 if (howmany(sblock.fs_cssize, sblock.fs_fsize) == in updcsloc()
808 sblock.fs_dsize -= howmany(sblock.fs_cssize, sblock.fs_fsize) - in updcsloc()
810 sblock.fs_old_dsize = sblock.fs_dsize; in updcsloc()
823 DBG_DUMP_CG(&sblock, "old summary cg", &aocg); in updcsloc()
859 if (sblock.fs_ncg - osblock.fs_ncg < 2) in updcsloc()
873 if (sblock.fs_contigsumsize > 0) { in updcsloc()
874 for (block = howmany(d % sblock.fs_fpg, sblock.fs_frag), in updcsloc()
875 lcs = 0; lcs < sblock.fs_contigsumsize; block++, lcs++) { in updcsloc()
887 if ((d + 1) % sblock.fs_frag) { in updcsloc()
893 frag_adjust(d % sblock.fs_fpg, -1); in updcsloc()
894 for (; (d + 1) % sblock.fs_frag; d--) { in updcsloc()
896 setbit(cg_blksfree(&acg), d % sblock.fs_fpg); in updcsloc()
898 sblock.fs_cstotal.cs_nffree++; in updcsloc()
905 frag_adjust(d % sblock.fs_fpg, 1); in updcsloc()
907 if (isblock(&sblock, cg_blksfree(&acg), in updcsloc()
908 (d % sblock.fs_fpg) / sblock.fs_frag)) { in updcsloc()
910 acg.cg_cs.cs_nffree -= sblock.fs_frag; in updcsloc()
912 sblock.fs_cstotal.cs_nffree -= sblock.fs_frag; in updcsloc()
913 sblock.fs_cstotal.cs_nbfree++; in updcsloc()
914 if (sblock.fs_contigsumsize > 0) { in updcsloc()
916 (d % sblock.fs_fpg) / sblock.fs_frag); in updcsloc()
917 if (lcs < sblock.fs_contigsumsize) { in updcsloc()
933 for (d = rounddown(d, sblock.fs_frag); d >= osblock.fs_csaddr; in updcsloc()
934 d -= sblock.fs_frag) { in updcsloc()
937 setblock(&sblock, cg_blksfree(&acg), in updcsloc()
938 (d % sblock.fs_fpg) / sblock.fs_frag); in updcsloc()
940 sblock.fs_cstotal.cs_nbfree++; in updcsloc()
941 if (sblock.fs_contigsumsize > 0) { in updcsloc()
943 (d % sblock.fs_fpg) / sblock.fs_frag); in updcsloc()
947 if (lcs < sblock.fs_contigsumsize) { in updcsloc()
962 wtfs(fsbtodb(&sblock, cgtod(&sblock, ocscg)), in updcsloc()
963 (size_t)sblock.fs_cgsize, (void *)&acg, fso, Nflag); in updcsloc()
965 DBG_DUMP_CG(&sblock, "old summary cg", &acg); in updcsloc()
971 sblock.fs_csaddr = cgdmin(&sblock, osblock.fs_ncg); in updcsloc()
972 ncscg = dtog(&sblock, sblock.fs_csaddr); in updcsloc()
990 rdfs(fsbtodb(&sblock, cgtod(&sblock, ncscg)), in updcsloc()
991 (size_t)sblock.fs_cgsize, (void *)&aocg, fsi); in updcsloc()
993 DBG_DUMP_CG(&sblock, "new summary cg", &aocg); in updcsloc()
1001 for (d = sblock.fs_csaddr; d + sblock.fs_frag <= in updcsloc()
1002 sblock.fs_csaddr + (sblock.fs_cssize / sblock.fs_fsize); in updcsloc()
1003 d += sblock.fs_frag) { in updcsloc()
1004 clrblock(&sblock, cg_blksfree(&acg), in updcsloc()
1005 (d % sblock.fs_fpg) / sblock.fs_frag); in updcsloc()
1007 sblock.fs_cstotal.cs_nbfree--; in updcsloc()
1008 if (sblock.fs_contigsumsize > 0) { in updcsloc()
1010 (d % sblock.fs_fpg) / sblock.fs_frag); in updcsloc()
1018 if (d < sblock.fs_csaddr + (sblock.fs_cssize / sblock.fs_fsize)) { in updcsloc()
1019 for (; d - sblock.fs_csaddr < in updcsloc()
1020 sblock.fs_cssize/sblock.fs_fsize; d++) { in updcsloc()
1021 clrbit(cg_blksfree(&acg), d % sblock.fs_fpg); in updcsloc()
1023 sblock.fs_cstotal.cs_nffree--; in updcsloc()
1026 acg.cg_cs.cs_nffree += sblock.fs_frag; in updcsloc()
1027 sblock.fs_cstotal.cs_nbfree--; in updcsloc()
1028 sblock.fs_cstotal.cs_nffree += sblock.fs_frag; in updcsloc()
1029 if (sblock.fs_contigsumsize > 0) in updcsloc()
1031 (d % sblock.fs_fpg) / sblock.fs_frag); in updcsloc()
1033 frag_adjust(d % sblock.fs_fpg, 1); in updcsloc()
1055 wtfs(fsbtodb(&sblock, cgtod(&sblock, ncscg)), in updcsloc()
1056 (size_t)sblock.fs_cgsize, (void *)&acg, fso, Nflag); in updcsloc()
1058 DBG_DUMP_CG(&sblock, "new summary cg", &acg); in updcsloc()
1398 DBG_DUMP_FS(&sblock, "old sblock"); in main()
1438 sblock.fs_old_size = sblock.fs_size = in main()
1440 sblock.fs_providersize = dbtofsb(&osblock, mediasize / DEV_BSIZE); in main()
1445 if (osblock.fs_size >= sblock.fs_size) { in main()
1447 (intmax_t)osblock.fs_size, (intmax_t)sblock.fs_size); in main()
1455 if (sblock.fs_snapinum[j]) { in main()
1460 if (!sblock.fs_snapinum[j]) /* list is dense */ in main()
1479 sblock.fs_size * sblock.fs_fsize, in main()
1515 testbuf = malloc(sblock.fs_fsize); in main()
1518 rdfs((ufs2_daddr_t)((size - sblock.fs_fsize) / DEV_BSIZE), in main()
1519 sblock.fs_fsize, testbuf, fsi); in main()
1520 wtfs((ufs2_daddr_t)((size - sblock.fs_fsize) / DEV_BSIZE), in main()
1521 sblock.fs_fsize, testbuf, fso, Nflag); in main()
1537 if (sblock.fs_magic == FS_UFS1_MAGIC) { in main()
1538 sblock.fs_old_ncyl = in main()
1539 sblock.fs_size * sblock.fs_old_nspf / sblock.fs_old_spc; in main()
1540 if (sblock.fs_size * sblock.fs_old_nspf > in main()
1541 sblock.fs_old_ncyl * sblock.fs_old_spc) in main()
1542 sblock.fs_old_ncyl++; in main()
1544 sblock.fs_ncg = howmany(sblock.fs_size, sblock.fs_fpg); in main()
1550 if (sblock.fs_size % sblock.fs_fpg != 0 && in main()
1551 sblock.fs_size <= cgdmin(&sblock, sblock.fs_ncg - 1)) { in main()
1553 (sblock.fs_size % sblock.fs_fpg) * sblock.fs_fsize, in main()
1557 sblock.fs_ncg--; in main()
1558 if (sblock.fs_magic == FS_UFS1_MAGIC) in main()
1559 sblock.fs_old_ncyl = sblock.fs_ncg * sblock.fs_old_cpg; in main()
1560 sblock.fs_old_size = sblock.fs_size = in main()
1561 sblock.fs_ncg * sblock.fs_fpg; in main()
1568 sblock.fs_cssize = in main()
1569 fragroundup(&sblock, sblock.fs_ncg * sizeof(struct csum)); in main()
1571 if (osblock.fs_size >= sblock.fs_size) in main()
1630 if (sblock.fs_contigsumsize < 1) /* no clustering */ in updclst()
1644 for (block--; lcs < sblock.fs_contigsumsize; block--, lcs++ ) { in updclst()
1649 if (lcs < sblock.fs_contigsumsize) { in updclst()
1667 if ((sblock.fs_metackhash & CK_CYLGRP) == 0) in cgckhash()
1670 cgp->cg_ckhash = calculate_crc32c(~0L, (void *)cgp, sblock.fs_cgsize); in cgckhash()