Lines Matching refs:sblock

99 #define	sblock	fsun.fs  macro
159 sblock.fs_old_inodefmt = FS_42INODEFMT; in ffs_mkfs()
160 sblock.fs_maxsymlinklen = 0; in ffs_mkfs()
161 sblock.fs_old_flags = 0; in ffs_mkfs()
163 sblock.fs_old_inodefmt = FS_44INODEFMT; in ffs_mkfs()
164 sblock.fs_maxsymlinklen = (Oflag == 1 ? MAXSYMLINKLEN_UFS1 : in ffs_mkfs()
166 sblock.fs_old_flags = FS_FLAGS_UPDATED; in ffs_mkfs()
167 sblock.fs_flags = 0; in ffs_mkfs()
178 ffs_wtfs(fssize - 1, sectorsize, (char *)&sblock, fsopts); in ffs_mkfs()
183 sblock.fs_avgfilesize = avgfilesize; in ffs_mkfs()
184 sblock.fs_avgfpdir = avgfpdir; in ffs_mkfs()
185 if (sblock.fs_avgfilesize <= 0) in ffs_mkfs()
187 sblock.fs_avgfilesize), exit(14); in ffs_mkfs()
188 if (sblock.fs_avgfpdir <= 0) in ffs_mkfs()
190 sblock.fs_avgfpdir), exit(15); in ffs_mkfs()
194 sblock.fs_bsize = bsize; in ffs_mkfs()
195 sblock.fs_fsize = fsize; in ffs_mkfs()
196 if (!POWEROF2(sblock.fs_bsize)) { in ffs_mkfs()
198 sblock.fs_bsize); in ffs_mkfs()
201 if (!POWEROF2(sblock.fs_fsize)) { in ffs_mkfs()
203 sblock.fs_fsize); in ffs_mkfs()
206 if (sblock.fs_fsize < sectorsize) { in ffs_mkfs()
208 sblock.fs_fsize, sectorsize); in ffs_mkfs()
211 if (sblock.fs_bsize < MINBSIZE) { in ffs_mkfs()
213 sblock.fs_bsize, MINBSIZE); in ffs_mkfs()
216 if (sblock.fs_bsize > FFS_MAXBSIZE) { in ffs_mkfs()
218 sblock.fs_bsize, FFS_MAXBSIZE); in ffs_mkfs()
221 if (sblock.fs_bsize < sblock.fs_fsize) { in ffs_mkfs()
223 sblock.fs_bsize, sblock.fs_fsize); in ffs_mkfs()
228 sblock.fs_maxbsize = sblock.fs_bsize; in ffs_mkfs()
229 printf("Extent size set to %d\n", sblock.fs_maxbsize); in ffs_mkfs()
230 } else if (sblock.fs_maxbsize > FS_MAXCONTIG * sblock.fs_bsize) { in ffs_mkfs()
231 sblock.fs_maxbsize = FS_MAXCONTIG * sblock.fs_bsize; in ffs_mkfs()
232 printf("Extent size reduced to %d\n", sblock.fs_maxbsize); in ffs_mkfs()
234 sblock.fs_maxbsize = maxbsize; in ffs_mkfs()
236 sblock.fs_maxcontig = maxcontig; in ffs_mkfs()
237 if (sblock.fs_maxcontig < sblock.fs_maxbsize / sblock.fs_bsize) { in ffs_mkfs()
238 sblock.fs_maxcontig = sblock.fs_maxbsize / sblock.fs_bsize; in ffs_mkfs()
239 printf("Maxcontig raised to %d\n", sblock.fs_maxbsize); in ffs_mkfs()
242 if (sblock.fs_maxcontig > 1) in ffs_mkfs()
243 sblock.fs_contigsumsize = MIN(sblock.fs_maxcontig,FS_MAXCONTIG); in ffs_mkfs()
245 sblock.fs_bmask = ~(sblock.fs_bsize - 1); in ffs_mkfs()
246 sblock.fs_fmask = ~(sblock.fs_fsize - 1); in ffs_mkfs()
247 sblock.fs_qbmask = ~sblock.fs_bmask; in ffs_mkfs()
248 sblock.fs_qfmask = ~sblock.fs_fmask; in ffs_mkfs()
249 for (sblock.fs_bshift = 0, i = sblock.fs_bsize; i > 1; i >>= 1) in ffs_mkfs()
250 sblock.fs_bshift++; in ffs_mkfs()
251 for (sblock.fs_fshift = 0, i = sblock.fs_fsize; i > 1; i >>= 1) in ffs_mkfs()
252 sblock.fs_fshift++; in ffs_mkfs()
253 sblock.fs_frag = numfrags(&sblock, sblock.fs_bsize); in ffs_mkfs()
254 for (sblock.fs_fragshift = 0, i = sblock.fs_frag; i > 1; i >>= 1) in ffs_mkfs()
255 sblock.fs_fragshift++; in ffs_mkfs()
256 if (sblock.fs_frag > MAXFRAG) { in ffs_mkfs()
259 sblock.fs_fsize, sblock.fs_bsize, in ffs_mkfs()
260 sblock.fs_bsize / MAXFRAG); in ffs_mkfs()
263 sblock.fs_fsbtodb = ilog2(sblock.fs_fsize / sectorsize); in ffs_mkfs()
264 sblock.fs_size = fssize = dbtofsb(&sblock, fssize); in ffs_mkfs()
267 sblock.fs_magic = FS_UFS1_MAGIC; in ffs_mkfs()
268 sblock.fs_sblockloc = SBLOCK_UFS1; in ffs_mkfs()
269 sblock.fs_nindir = sblock.fs_bsize / sizeof(int32_t); in ffs_mkfs()
270 sblock.fs_inopb = sblock.fs_bsize / sizeof(struct ufs1_dinode); in ffs_mkfs()
271 sblock.fs_maxsymlinklen = ((NDADDR + NIADDR) * in ffs_mkfs()
273 sblock.fs_old_inodefmt = FS_44INODEFMT; in ffs_mkfs()
274 sblock.fs_old_cgoffset = 0; in ffs_mkfs()
275 sblock.fs_old_cgmask = 0xffffffff; in ffs_mkfs()
276 sblock.fs_old_size = sblock.fs_size; in ffs_mkfs()
277 sblock.fs_old_rotdelay = 0; in ffs_mkfs()
278 sblock.fs_old_rps = 60; in ffs_mkfs()
279 sblock.fs_old_nspf = sblock.fs_fsize / sectorsize; in ffs_mkfs()
280 sblock.fs_old_cpg = 1; in ffs_mkfs()
281 sblock.fs_old_interleave = 1; in ffs_mkfs()
282 sblock.fs_old_trackskew = 0; in ffs_mkfs()
283 sblock.fs_old_cpc = 0; in ffs_mkfs()
284 sblock.fs_old_postblformat = 1; in ffs_mkfs()
285 sblock.fs_old_nrpos = 1; in ffs_mkfs()
287 sblock.fs_magic = FS_UFS2_MAGIC; in ffs_mkfs()
289 sblock.fs_sblockloc = SBLOCK_UFS2; in ffs_mkfs()
291 sblock.fs_sblockloc = SBLOCK_UFS1; in ffs_mkfs()
293 sblock.fs_nindir = sblock.fs_bsize / sizeof(int64_t); in ffs_mkfs()
294 sblock.fs_inopb = sblock.fs_bsize / sizeof(struct ufs2_dinode); in ffs_mkfs()
295 sblock.fs_maxsymlinklen = ((NDADDR + NIADDR) * in ffs_mkfs()
299 sblock.fs_sblkno = in ffs_mkfs()
300 roundup(howmany(sblock.fs_sblockloc + SBLOCKSIZE, sblock.fs_fsize), in ffs_mkfs()
301 sblock.fs_frag); in ffs_mkfs()
302 sblock.fs_cblkno = (daddr_t)(sblock.fs_sblkno + in ffs_mkfs()
303 roundup(howmany(SBLOCKSIZE, sblock.fs_fsize), sblock.fs_frag)); in ffs_mkfs()
304 sblock.fs_iblkno = sblock.fs_cblkno + sblock.fs_frag; in ffs_mkfs()
305 sblock.fs_maxfilesize = sblock.fs_bsize * NDADDR - 1; in ffs_mkfs()
306 for (sizepb = sblock.fs_bsize, i = 0; i < NIADDR; i++) { in ffs_mkfs()
307 sizepb *= NINDIR(&sblock); in ffs_mkfs()
308 sblock.fs_maxfilesize += sizepb; in ffs_mkfs()
327 fragsperinode = MAX(numfrags(&sblock, density), 1); in ffs_mkfs()
328 minfpg = fragsperinode * INOPB(&sblock); in ffs_mkfs()
329 if (minfpg > sblock.fs_size) in ffs_mkfs()
330 minfpg = sblock.fs_size; in ffs_mkfs()
331 sblock.fs_ipg = INOPB(&sblock); in ffs_mkfs()
332 sblock.fs_fpg = roundup(sblock.fs_iblkno + in ffs_mkfs()
333 sblock.fs_ipg / INOPF(&sblock), sblock.fs_frag); in ffs_mkfs()
334 if (sblock.fs_fpg < minfpg) in ffs_mkfs()
335 sblock.fs_fpg = minfpg; in ffs_mkfs()
336 sblock.fs_ipg = roundup(howmany(sblock.fs_fpg, fragsperinode), in ffs_mkfs()
337 INOPB(&sblock)); in ffs_mkfs()
338 sblock.fs_fpg = roundup(sblock.fs_iblkno + in ffs_mkfs()
339 sblock.fs_ipg / INOPF(&sblock), sblock.fs_frag); in ffs_mkfs()
340 if (sblock.fs_fpg < minfpg) in ffs_mkfs()
341 sblock.fs_fpg = minfpg; in ffs_mkfs()
342 sblock.fs_ipg = roundup(howmany(sblock.fs_fpg, fragsperinode), in ffs_mkfs()
343 INOPB(&sblock)); in ffs_mkfs()
344 if (CGSIZE(&sblock) < (unsigned long)sblock.fs_bsize) in ffs_mkfs()
346 density -= sblock.fs_fsize; in ffs_mkfs()
358 for ( ; sblock.fs_fpg < maxblkspercg; sblock.fs_fpg += sblock.fs_frag) { in ffs_mkfs()
359 sblock.fs_ipg = roundup(howmany(sblock.fs_fpg, fragsperinode), in ffs_mkfs()
360 INOPB(&sblock)); in ffs_mkfs()
361 if (sblock.fs_size / sblock.fs_fpg < 1) in ffs_mkfs()
363 if (CGSIZE(&sblock) < (unsigned long)sblock.fs_bsize) in ffs_mkfs()
365 if (CGSIZE(&sblock) == (unsigned long)sblock.fs_bsize) in ffs_mkfs()
367 sblock.fs_fpg -= sblock.fs_frag; in ffs_mkfs()
368 sblock.fs_ipg = roundup(howmany(sblock.fs_fpg, fragsperinode), in ffs_mkfs()
369 INOPB(&sblock)); in ffs_mkfs()
378 optimalfpg = sblock.fs_fpg; in ffs_mkfs()
380 sblock.fs_ncg = howmany(sblock.fs_size, sblock.fs_fpg); in ffs_mkfs()
381 lastminfpg = roundup(sblock.fs_iblkno + in ffs_mkfs()
382 sblock.fs_ipg / INOPF(&sblock), sblock.fs_frag); in ffs_mkfs()
383 if (sblock.fs_size < lastminfpg) { in ffs_mkfs()
385 (long long)sblock.fs_size, lastminfpg); in ffs_mkfs()
388 if (sblock.fs_size % sblock.fs_fpg >= lastminfpg || in ffs_mkfs()
389 sblock.fs_size % sblock.fs_fpg == 0) in ffs_mkfs()
391 sblock.fs_fpg -= sblock.fs_frag; in ffs_mkfs()
392 sblock.fs_ipg = roundup(howmany(sblock.fs_fpg, fragsperinode), in ffs_mkfs()
393 INOPB(&sblock)); in ffs_mkfs()
395 if (optimalfpg != sblock.fs_fpg) in ffs_mkfs()
397 optimalfpg, sblock.fs_fpg, "to enlarge last cyl group"); in ffs_mkfs()
398 sblock.fs_cgsize = fragroundup(&sblock, CGSIZE(&sblock)); in ffs_mkfs()
399 sblock.fs_dblkno = sblock.fs_iblkno + sblock.fs_ipg / INOPF(&sblock); in ffs_mkfs()
401 sblock.fs_old_spc = sblock.fs_fpg * sblock.fs_old_nspf; in ffs_mkfs()
402 sblock.fs_old_nsect = sblock.fs_old_spc; in ffs_mkfs()
403 sblock.fs_old_npsect = sblock.fs_old_spc; in ffs_mkfs()
404 sblock.fs_old_ncyl = sblock.fs_ncg; in ffs_mkfs()
410 sblock.fs_csaddr = cgdmin(&sblock, 0); in ffs_mkfs()
411 sblock.fs_cssize = in ffs_mkfs()
412 fragroundup(&sblock, sblock.fs_ncg * sizeof(struct csum)); in ffs_mkfs()
418 size = sblock.fs_cssize; in ffs_mkfs()
419 blks = howmany(size, sblock.fs_fsize); in ffs_mkfs()
420 if (sblock.fs_contigsumsize > 0) in ffs_mkfs()
421 size += sblock.fs_ncg * sizeof(int32_t); in ffs_mkfs()
424 sblock.fs_csp = space; in ffs_mkfs()
425 space = (char *)space + sblock.fs_cssize; in ffs_mkfs()
426 if (sblock.fs_contigsumsize > 0) { in ffs_mkfs()
429 sblock.fs_maxcluster = lp = space; in ffs_mkfs()
430 for (i = 0; i < sblock.fs_ncg; i++) in ffs_mkfs()
431 *lp++ = sblock.fs_contigsumsize; in ffs_mkfs()
434 sblock.fs_sbsize = fragroundup(&sblock, sizeof(struct fs)); in ffs_mkfs()
435 if (sblock.fs_sbsize > SBLOCKSIZE) in ffs_mkfs()
436 sblock.fs_sbsize = SBLOCKSIZE; in ffs_mkfs()
437 sblock.fs_minfree = minfree; in ffs_mkfs()
438 sblock.fs_maxcontig = maxcontig; in ffs_mkfs()
439 sblock.fs_maxbpg = maxbpg; in ffs_mkfs()
440 sblock.fs_optim = opt; in ffs_mkfs()
441 sblock.fs_cgrotor = 0; in ffs_mkfs()
442 sblock.fs_pendingblocks = 0; in ffs_mkfs()
443 sblock.fs_pendinginodes = 0; in ffs_mkfs()
444 sblock.fs_cstotal.cs_ndir = 0; in ffs_mkfs()
445 sblock.fs_cstotal.cs_nbfree = 0; in ffs_mkfs()
446 sblock.fs_cstotal.cs_nifree = 0; in ffs_mkfs()
447 sblock.fs_cstotal.cs_nffree = 0; in ffs_mkfs()
448 sblock.fs_fmod = 0; in ffs_mkfs()
449 sblock.fs_ronly = 0; in ffs_mkfs()
450 sblock.fs_state = 0; in ffs_mkfs()
451 sblock.fs_clean = FS_ISCLEAN; in ffs_mkfs()
452 sblock.fs_ronly = 0; in ffs_mkfs()
453 sblock.fs_id[0] = start_time.tv_sec; in ffs_mkfs()
454 sblock.fs_id[1] = randomx(); in ffs_mkfs()
455 sblock.fs_fsmnt[0] = '\0'; in ffs_mkfs()
456 csfrags = howmany(sblock.fs_cssize, sblock.fs_fsize); in ffs_mkfs()
457 sblock.fs_dsize = sblock.fs_size - sblock.fs_sblkno - in ffs_mkfs()
458 sblock.fs_ncg * (sblock.fs_dblkno - sblock.fs_sblkno); in ffs_mkfs()
459 sblock.fs_cstotal.cs_nbfree = in ffs_mkfs()
460 fragstoblks(&sblock, sblock.fs_dsize) - in ffs_mkfs()
461 howmany(csfrags, sblock.fs_frag); in ffs_mkfs()
462 sblock.fs_cstotal.cs_nffree = in ffs_mkfs()
463 fragnum(&sblock, sblock.fs_size) + in ffs_mkfs()
464 (fragnum(&sblock, csfrags) > 0 ? in ffs_mkfs()
465 sblock.fs_frag - fragnum(&sblock, csfrags) : 0); in ffs_mkfs()
466 sblock.fs_cstotal.cs_nifree = sblock.fs_ncg * sblock.fs_ipg - ROOTINO; in ffs_mkfs()
467 sblock.fs_cstotal.cs_ndir = 0; in ffs_mkfs()
468 sblock.fs_dsize -= csfrags; in ffs_mkfs()
469 sblock.fs_time = start_time.tv_sec; in ffs_mkfs()
471 sblock.fs_old_time = start_time.tv_sec; in ffs_mkfs()
472 sblock.fs_old_dsize = sblock.fs_dsize; in ffs_mkfs()
473 sblock.fs_old_csaddr = sblock.fs_csaddr; in ffs_mkfs()
474 sblock.fs_old_cstotal.cs_ndir = sblock.fs_cstotal.cs_ndir; in ffs_mkfs()
475 sblock.fs_old_cstotal.cs_nbfree = sblock.fs_cstotal.cs_nbfree; in ffs_mkfs()
476 sblock.fs_old_cstotal.cs_nifree = sblock.fs_cstotal.cs_nifree; in ffs_mkfs()
477 sblock.fs_old_cstotal.cs_nffree = sblock.fs_cstotal.cs_nffree; in ffs_mkfs()
485 fsys, (float)sblock.fs_size * sblock.fs_fsize * B2MBFACTOR, in ffs_mkfs()
486 (long long)fsbtodb(&sblock, sblock.fs_size), in ffs_mkfs()
487 sblock.fs_bsize, sblock.fs_fsize); in ffs_mkfs()
490 sblock.fs_ncg, in ffs_mkfs()
491 (float)sblock.fs_fpg * sblock.fs_fsize * B2MBFACTOR, in ffs_mkfs()
492 sblock.fs_fpg / sblock.fs_frag, sblock.fs_ipg); in ffs_mkfs()
500 fsbtodb(&sblock, cgsblock(&sblock, sblock.fs_ncg -1))); in ffs_mkfs()
507 if (sblock.fs_bsize < SBLOCKSIZE) in ffs_mkfs()
508 iobufsize = SBLOCKSIZE + 3 * sblock.fs_bsize; in ffs_mkfs()
510 iobufsize = 4 * sblock.fs_bsize; in ffs_mkfs()
519 memcpy(writebuf, &sblock, sbsize); in ffs_mkfs()
521 ffs_sb_swap(&sblock, (struct fs*)writebuf); in ffs_mkfs()
525 for (cylno = 0; cylno < sblock.fs_ncg; cylno++) { in ffs_mkfs()
530 (long long)fsbtodb(&sblock, cgsblock(&sblock, cylno))); in ffs_mkfs()
539 sblock.fs_time = start_time.tv_sec; in ffs_mkfs()
541 sblock.fs_old_cstotal.cs_ndir = sblock.fs_cstotal.cs_ndir; in ffs_mkfs()
542 sblock.fs_old_cstotal.cs_nbfree = sblock.fs_cstotal.cs_nbfree; in ffs_mkfs()
543 sblock.fs_old_cstotal.cs_nifree = sblock.fs_cstotal.cs_nifree; in ffs_mkfs()
544 sblock.fs_old_cstotal.cs_nffree = sblock.fs_cstotal.cs_nffree; in ffs_mkfs()
547 sblock.fs_flags |= FS_SWAPPED; in ffs_mkfs()
548 ffs_write_superblock(&sblock, fsopts); in ffs_mkfs()
549 return (&sblock); in ffs_mkfs()
566 memcpy(writebuf, &sblock, sbsize); in ffs_write_superblock()
624 cbase = cgbase(&sblock, cylno); in initcg()
625 dmax = cbase + sblock.fs_fpg; in initcg()
626 if (dmax > sblock.fs_size) in initcg()
627 dmax = sblock.fs_size; in initcg()
628 dlower = cgsblock(&sblock, cylno) - cbase; in initcg()
629 dupper = cgdmin(&sblock, cylno) - cbase; in initcg()
631 dupper += howmany(sblock.fs_cssize, sblock.fs_fsize); in initcg()
632 memset(&acg, 0, sblock.fs_cgsize); in initcg()
636 acg.cg_niblk = sblock.fs_ipg; in initcg()
637 acg.cg_initediblk = sblock.fs_ipg < 2 * INOPB(&sblock) ? in initcg()
638 sblock.fs_ipg : 2 * INOPB(&sblock); in initcg()
640 if (sblock.fs_contigsumsize > 0) in initcg()
641 acg.cg_nclusterblks = acg.cg_ndblk >> sblock.fs_fragshift; in initcg()
646 if (cylno == sblock.fs_ncg - 1) in initcg()
648 sblock.fs_fpg / sblock.fs_old_cpg); in initcg()
650 acg.cg_old_ncyl = sblock.fs_old_cpg; in initcg()
658 sblock.fs_old_cpg * sizeof(int32_t); in initcg()
660 sblock.fs_old_cpg * sizeof(u_int16_t); in initcg()
662 acg.cg_freeoff = acg.cg_iusedoff + howmany(sblock.fs_ipg, CHAR_BIT); in initcg()
663 if (sblock.fs_contigsumsize <= 0) { in initcg()
665 howmany(sblock.fs_fpg, CHAR_BIT); in initcg()
668 howmany(sblock.fs_fpg, CHAR_BIT) - sizeof(int32_t); in initcg()
672 (sblock.fs_contigsumsize + 1) * sizeof(int32_t); in initcg()
674 howmany(fragstoblks(&sblock, sblock.fs_fpg), CHAR_BIT); in initcg()
676 if (acg.cg_nextfreeoff > sblock.fs_cgsize) { in initcg()
680 acg.cg_cs.cs_nifree += sblock.fs_ipg; in initcg()
692 ffs_setblock(&sblock, cg_blksfree(&acg, 0), blkno); in initcg()
693 if (sblock.fs_contigsumsize > 0) in initcg()
696 d += sblock.fs_frag; in initcg()
700 if ((i = (dupper & (sblock.fs_frag - 1))) != 0) { in initcg()
701 acg.cg_frsum[sblock.fs_frag - i]++; in initcg()
702 for (d = dupper + sblock.fs_frag - i; dupper < d; dupper++) { in initcg()
707 for (d = dupper, blkno = dupper >> sblock.fs_fragshift; in initcg()
708 d + sblock.fs_frag <= acg.cg_ndblk; ) { in initcg()
709 ffs_setblock(&sblock, cg_blksfree(&acg, 0), blkno); in initcg()
710 if (sblock.fs_contigsumsize > 0) in initcg()
713 d += sblock.fs_frag; in initcg()
723 if (sblock.fs_contigsumsize > 0) { in initcg()
734 if (run > sblock.fs_contigsumsize) in initcg()
735 run = sblock.fs_contigsumsize; in initcg()
747 if (run > sblock.fs_contigsumsize) in initcg()
748 run = sblock.fs_contigsumsize; in initcg()
752 sblock.fs_cs(&sblock, cylno) = acg.cg_cs; in initcg()
757 start = sblock.fs_bsize > SBLOCKSIZE ? sblock.fs_bsize : SBLOCKSIZE; in initcg()
758 memcpy(&iobuf[start], &acg, sblock.fs_cgsize); in initcg()
760 ffs_cg_swap(&acg, (struct cg*)&iobuf[start], &sblock); in initcg()
761 start += sblock.fs_bsize; in initcg()
765 if (sblock.fs_magic == FS_UFS1_MAGIC) { in initcg()
774 ffs_wtfs(fsbtodb(&sblock, cgsblock(&sblock, cylno)), iobufsize, iobuf, in initcg()
780 for (i = 2 * sblock.fs_frag; in initcg()
781 i < sblock.fs_ipg / INOPF(&sblock); in initcg()
782 i += sblock.fs_frag) { in initcg()
784 for (j = 0; j < INOPB(&sblock); j++) { in initcg()
788 ffs_wtfs(fsbtodb(&sblock, cgimin(&sblock, cylno) + i), in initcg()
789 sblock.fs_bsize, &iobuf[start], fsopts); in initcg()