Lines Matching refs:fs
47 uint32_t ffs_calc_sbhash(struct fs *);
82 ffs_verify_dinode_ckhash(struct fs *fs, struct ufs2_dinode *dip) in ffs_verify_dinode_ckhash() argument
89 if (dip->di_mode == 0 || (fs->fs_metackhash & CK_INODE) == 0) in ffs_verify_dinode_ckhash()
108 ffs_update_dinode_ckhash(struct fs *fs, struct ufs2_dinode *dip) in ffs_update_dinode_ckhash() argument
111 if (dip->di_mode == 0 || (fs->fs_metackhash & CK_INODE) == 0) in ffs_update_dinode_ckhash()
126 static int readsuper(void *, struct fs **, off_t, int,
128 static void ffs_oldfscompat_read(struct fs *, ufs2_daddr_t);
129 static int validate_sblock(struct fs *, int);
152 ffs_sbget(void *devfd, struct fs **fsp, off_t sblock, int flags, in ffs_sbget()
156 struct fs *fs; in ffs_sbget() local
164 fs = NULL; in ffs_sbget()
167 if ((error = readsuper(devfd, &fs, sblock, in ffs_sbget()
169 if (fs != NULL) in ffs_sbget()
170 UFS_FREE(fs, filltype); in ffs_sbget()
175 if ((error = readsuper(devfd, &fs, sblock_try[i], in ffs_sbget()
178 *fsp = fs; in ffs_sbget()
183 if (fs != NULL) { in ffs_sbget()
184 UFS_FREE(fs, filltype); in ffs_sbget()
185 fs = NULL; in ffs_sbget()
197 size = fs->fs_cssize; in ffs_sbget()
198 blks = howmany(size, fs->fs_fsize); in ffs_sbget()
199 if (fs->fs_contigsumsize > 0) in ffs_sbget()
200 size += fs->fs_ncg * sizeof(int32_t); in ffs_sbget()
201 size += fs->fs_ncg * sizeof(uint8_t); in ffs_sbget()
203 UFS_FREE(fs, filltype); in ffs_sbget()
207 fs->fs_si = fs_si; in ffs_sbget()
209 UFS_FREE(fs->fs_si, filltype); in ffs_sbget()
210 UFS_FREE(fs, filltype); in ffs_sbget()
213 fs->fs_csp = (struct csum *)space; in ffs_sbget()
214 for (i = 0; i < blks; i += fs->fs_frag) { in ffs_sbget()
215 size = fs->fs_bsize; in ffs_sbget()
216 if (i + fs->fs_frag > blks) in ffs_sbget()
217 size = (blks - i) * fs->fs_fsize; in ffs_sbget()
220 dbtob(fsbtodb(fs, fs->fs_csaddr + i)), (void **)&buf, size); in ffs_sbget()
224 UFS_FREE(fs->fs_csp, filltype); in ffs_sbget()
225 UFS_FREE(fs->fs_si, filltype); in ffs_sbget()
226 UFS_FREE(fs, filltype); in ffs_sbget()
233 if (fs->fs_contigsumsize > 0) { in ffs_sbget()
234 fs->fs_maxcluster = lp = (int32_t *)space; in ffs_sbget()
235 for (i = 0; i < fs->fs_ncg; i++) in ffs_sbget()
236 *lp++ = fs->fs_contigsumsize; in ffs_sbget()
239 size = fs->fs_ncg * sizeof(uint8_t); in ffs_sbget()
240 fs->fs_contigdirs = (uint8_t *)space; in ffs_sbget()
241 bzero(fs->fs_contigdirs, size); in ffs_sbget()
242 *fsp = fs; in ffs_sbget()
251 readsuper(void *devfd, struct fs **fsp, off_t sblockloc, int flags, in readsuper()
254 struct fs *fs; in readsuper() local
261 fs = *fsp; in readsuper()
262 if (fs->fs_magic == FS_BAD_MAGIC) in readsuper()
271 if (fs->fs_magic == FS_UFS1_MAGIC && (flags & UFS_ALTSBLK) == 0 && in readsuper()
272 fs->fs_bsize == SBLOCK_UFS2 && sblockloc == SBLOCK_UFS2) in readsuper()
274 ffs_oldfscompat_read(fs, sblockloc); in readsuper()
275 if ((error = validate_sblock(fs, flags)) > 0) in readsuper()
281 if ((fs->fs_flags & FS_METACKHASH) == 0) in readsuper()
282 fs->fs_metackhash = 0; in readsuper()
287 fs->fs_metackhash &= CK_SUPPORTED; in readsuper()
288 fs->fs_flags &= FS_SUPPORTED; in readsuper()
289 if (fs->fs_ckhash != (ckhash = ffs_calc_sbhash(fs))) { in readsuper()
298 fs->fs_ckhash, ckhash, in readsuper()
310 "0x%x%s\n", fs->fs_ckhash, ckhash, in readsuper()
317 fs->fs_sblockactualloc = sblockloc; in readsuper()
319 fs->fs_si = NULL; in readsuper()
331 ffs_oldfscompat_read(struct fs *fs, ufs2_daddr_t sblockloc) in ffs_oldfscompat_read() argument
338 if ((fs->fs_old_flags & FS_FLAGS_UPDATED) == 0) { in ffs_oldfscompat_read()
339 fs->fs_flags = fs->fs_old_flags; in ffs_oldfscompat_read()
340 fs->fs_old_flags |= FS_FLAGS_UPDATED; in ffs_oldfscompat_read()
341 fs->fs_sblockloc = sblockloc; in ffs_oldfscompat_read()
343 switch (fs->fs_magic) { in ffs_oldfscompat_read()
352 if (fs->fs_maxbsize != fs->fs_bsize) { in ffs_oldfscompat_read()
353 fs->fs_maxbsize = fs->fs_bsize; in ffs_oldfscompat_read()
354 fs->fs_time = fs->fs_old_time; in ffs_oldfscompat_read()
355 fs->fs_size = fs->fs_old_size; in ffs_oldfscompat_read()
356 fs->fs_dsize = fs->fs_old_dsize; in ffs_oldfscompat_read()
357 fs->fs_csaddr = fs->fs_old_csaddr; in ffs_oldfscompat_read()
358 fs->fs_cstotal.cs_ndir = fs->fs_old_cstotal.cs_ndir; in ffs_oldfscompat_read()
359 fs->fs_cstotal.cs_nbfree = fs->fs_old_cstotal.cs_nbfree; in ffs_oldfscompat_read()
360 fs->fs_cstotal.cs_nifree = fs->fs_old_cstotal.cs_nifree; in ffs_oldfscompat_read()
361 fs->fs_cstotal.cs_nffree = fs->fs_old_cstotal.cs_nffree; in ffs_oldfscompat_read()
363 if (fs->fs_old_inodefmt < FS_44INODEFMT) { in ffs_oldfscompat_read()
364 fs->fs_maxfilesize = ((uint64_t)1 << 31) - 1; in ffs_oldfscompat_read()
365 fs->fs_qbmask = ~fs->fs_bmask; in ffs_oldfscompat_read()
366 fs->fs_qfmask = ~fs->fs_fmask; in ffs_oldfscompat_read()
368 fs->fs_save_maxfilesize = fs->fs_maxfilesize; in ffs_oldfscompat_read()
369 maxfilesize = (uint64_t)0x80000000 * fs->fs_bsize - 1; in ffs_oldfscompat_read()
370 if (fs->fs_maxfilesize > maxfilesize) in ffs_oldfscompat_read()
371 fs->fs_maxfilesize = maxfilesize; in ffs_oldfscompat_read()
375 if (fs->fs_avgfilesize <= 0) in ffs_oldfscompat_read()
376 fs->fs_avgfilesize = AVFILESIZ; in ffs_oldfscompat_read()
377 if (fs->fs_avgfpdir <= 0) in ffs_oldfscompat_read()
378 fs->fs_avgfpdir = AFPDIR; in ffs_oldfscompat_read()
389 ffs_oldfscompat_write(struct fs *fs) in ffs_oldfscompat_write() argument
392 switch (fs->fs_magic) { in ffs_oldfscompat_write()
394 if (fs->fs_sblockloc != SBLOCK_UFS1 && in ffs_oldfscompat_write()
395 (fs->fs_old_flags & FS_FLAGS_UPDATED) == 0) { in ffs_oldfscompat_write()
398 fs->fs_fsmnt, fs->fs_sblockloc, SBLOCK_UFS1); in ffs_oldfscompat_write()
399 fs->fs_sblockloc = SBLOCK_UFS1; in ffs_oldfscompat_write()
404 fs->fs_old_time = fs->fs_time; in ffs_oldfscompat_write()
405 fs->fs_old_cstotal.cs_ndir = fs->fs_cstotal.cs_ndir; in ffs_oldfscompat_write()
406 fs->fs_old_cstotal.cs_nbfree = fs->fs_cstotal.cs_nbfree; in ffs_oldfscompat_write()
407 fs->fs_old_cstotal.cs_nifree = fs->fs_cstotal.cs_nifree; in ffs_oldfscompat_write()
408 fs->fs_old_cstotal.cs_nffree = fs->fs_cstotal.cs_nffree; in ffs_oldfscompat_write()
409 if (fs->fs_save_maxfilesize != 0) in ffs_oldfscompat_write()
410 fs->fs_maxfilesize = fs->fs_save_maxfilesize; in ffs_oldfscompat_write()
413 if (fs->fs_sblockloc != SBLOCK_UFS2 && in ffs_oldfscompat_write()
414 (fs->fs_old_flags & FS_FLAGS_UPDATED) == 0) { in ffs_oldfscompat_write()
417 fs->fs_fsmnt, fs->fs_sblockloc, SBLOCK_UFS2); in ffs_oldfscompat_write()
418 fs->fs_sblockloc = SBLOCK_UFS2; in ffs_oldfscompat_write()
438 ffs_oldfscompat_inode_read(struct fs *fs, union dinodep dp, time_t now) in ffs_oldfscompat_inode_read() argument
443 switch (fs->fs_magic) { in ffs_oldfscompat_inode_read()
494 #fmt ")\n", fs->fs_magic == FS_UFS1_MAGIC ? 1 : 2, \
504 #fmt ")%s\n", fs->fs_magic == FS_UFS1_MAGIC ? 1 : 2,\
515 fs->fs_magic == FS_UFS1_MAGIC ? 1 : 2, #lhs1, \
525 validate_sblock(struct fs *fs, int flags) in validate_sblock() argument
540 if (((fs->fs_magic != FS_UFS2_MAGIC) && in validate_sblock()
541 (bswap32(fs->fs_magic) == FS_UFS2_MAGIC)) || in validate_sblock()
542 ((fs->fs_magic != FS_UFS1_MAGIC) && in validate_sblock()
543 (bswap32(fs->fs_magic) == FS_UFS1_MAGIC))) { in validate_sblock()
554 (fs->fs_magic == FS_UFS1_MAGIC || fs->fs_magic == FS_UFS2_MAGIC)) { in validate_sblock()
556 if (fs->fs_magic == FS_UFS2_MAGIC) { in validate_sblock()
557 FCHK(fs->fs_sblockloc, !=, SBLOCK_UFS2, %#jx); in validate_sblock()
558 } else if (fs->fs_magic == FS_UFS1_MAGIC) { in validate_sblock()
559 FCHK(fs->fs_sblockloc, <, 0, %jd); in validate_sblock()
560 FCHK(fs->fs_sblockloc, >, SBLOCK_UFS1, %jd); in validate_sblock()
562 FCHK(fs->fs_frag, <, 1, %jd); in validate_sblock()
563 FCHK(fs->fs_frag, >, MAXFRAG, %jd); in validate_sblock()
564 FCHK(fs->fs_bsize, <, MINBSIZE, %jd); in validate_sblock()
565 FCHK(fs->fs_bsize, >, MAXBSIZE, %jd); in validate_sblock()
566 FCHK(fs->fs_bsize, <, roundup(sizeof(struct fs), DEV_BSIZE), in validate_sblock()
568 FCHK(fs->fs_fsize, <, sectorsize, %jd); in validate_sblock()
569 FCHK(fs->fs_fsize * fs->fs_frag, !=, fs->fs_bsize, %jd); in validate_sblock()
570 FCHK(powerof2(fs->fs_fsize), ==, 0, %jd); in validate_sblock()
571 FCHK(fs->fs_sbsize, >, SBLOCKSIZE, %jd); in validate_sblock()
572 FCHK(fs->fs_sbsize, <, (signed)sizeof(struct fs), %jd); in validate_sblock()
573 FCHK(fs->fs_sbsize % sectorsize, !=, 0, %jd); in validate_sblock()
574 FCHK(fs->fs_fpg, <, 3 * fs->fs_frag, %jd); in validate_sblock()
575 FCHK(fs->fs_ncg, <, 1, %jd); in validate_sblock()
576 FCHK(fs->fs_fsbtodb, !=, ILOG2(fs->fs_fsize / sectorsize), %jd); in validate_sblock()
577 FCHK(fs->fs_old_cgoffset, <, 0, %jd); in validate_sblock()
578 FCHK2(fs->fs_old_cgoffset, >, 0, ~fs->fs_old_cgmask, <, 0, %jd); in validate_sblock()
579 FCHK(fs->fs_old_cgoffset * (~fs->fs_old_cgmask), >, fs->fs_fpg, in validate_sblock()
581 FCHK(fs->fs_sblkno, !=, roundup( in validate_sblock()
582 howmany(fs->fs_sblockloc + SBLOCKSIZE, fs->fs_fsize), in validate_sblock()
583 fs->fs_frag), %jd); in validate_sblock()
584 FCHK(CGSIZE(fs), >, fs->fs_bsize, %jd); in validate_sblock()
588 FCHK((uint64_t)fs->fs_ipg * fs->fs_ncg, >, in validate_sblock()
589 (((int64_t)(1)) << 32) - INOPB(fs), %jd); in validate_sblock()
590 FCHK(fs->fs_cstotal.cs_nifree, <, 0, %jd); in validate_sblock()
591 FCHK(fs->fs_cstotal.cs_nifree, >, in validate_sblock()
592 (uint64_t)fs->fs_ipg * fs->fs_ncg, %jd); in validate_sblock()
593 FCHK(fs->fs_cstotal.cs_ndir, >, in validate_sblock()
594 ((uint64_t)fs->fs_ipg * fs->fs_ncg) - in validate_sblock()
595 fs->fs_cstotal.cs_nifree, %jd); in validate_sblock()
596 FCHK(fs->fs_size, <, 8 * fs->fs_frag, %jd); in validate_sblock()
597 FCHK(fs->fs_size, <=, ((int64_t)fs->fs_ncg - 1) * fs->fs_fpg, in validate_sblock()
599 FCHK(fs->fs_size, >, (int64_t)fs->fs_ncg * fs->fs_fpg, %jd); in validate_sblock()
600 FCHK(fs->fs_csaddr, <, 0, %jd); in validate_sblock()
601 FCHK(fs->fs_cssize, !=, in validate_sblock()
602 fragroundup(fs, fs->fs_ncg * sizeof(struct csum)), %jd); in validate_sblock()
603 FCHK(fs->fs_csaddr + howmany(fs->fs_cssize, fs->fs_fsize), >, in validate_sblock()
604 fs->fs_size, %jd); in validate_sblock()
605 FCHK(fs->fs_csaddr, <, cgdmin(fs, dtog(fs, fs->fs_csaddr)), in validate_sblock()
607 FCHK(dtog(fs, fs->fs_csaddr + howmany(fs->fs_cssize, in validate_sblock()
608 fs->fs_fsize)), >, dtog(fs, fs->fs_csaddr), %jd); in validate_sblock()
611 if (fs->fs_magic == FS_UFS2_MAGIC) { in validate_sblock()
613 FCHK2(fs->fs_sblockactualloc, !=, SBLOCK_UFS2, in validate_sblock()
614 fs->fs_sblockactualloc, !=, 0, %jd); in validate_sblock()
615 FCHK(fs->fs_sblockloc, !=, SBLOCK_UFS2, %#jx); in validate_sblock()
616 FCHK(fs->fs_maxsymlinklen, !=, ((UFS_NDADDR + UFS_NIADDR) * in validate_sblock()
618 FCHK(fs->fs_nindir, !=, fs->fs_bsize / sizeof(ufs2_daddr_t), in validate_sblock()
620 FCHK(fs->fs_inopb, !=, in validate_sblock()
621 fs->fs_bsize / sizeof(struct ufs2_dinode), %jd); in validate_sblock()
622 } else if (fs->fs_magic == FS_UFS1_MAGIC) { in validate_sblock()
624 FCHK(fs->fs_sblockactualloc, >, SBLOCK_UFS1, %jd); in validate_sblock()
625 FCHK(fs->fs_sblockloc, <, 0, %jd); in validate_sblock()
626 FCHK(fs->fs_sblockloc, >, SBLOCK_UFS1, %jd); in validate_sblock()
627 FCHK(fs->fs_nindir, !=, fs->fs_bsize / sizeof(ufs1_daddr_t), in validate_sblock()
629 FCHK(fs->fs_inopb, !=, in validate_sblock()
630 fs->fs_bsize / sizeof(struct ufs1_dinode), %jd); in validate_sblock()
631 FCHK(fs->fs_maxsymlinklen, !=, ((UFS_NDADDR + UFS_NIADDR) * in validate_sblock()
633 WCHK(fs->fs_old_inodefmt, !=, FS_44INODEFMT, %jd); in validate_sblock()
634 WCHK(fs->fs_old_rotdelay, !=, 0, %jd); in validate_sblock()
635 WCHK(fs->fs_old_rps, !=, 60, %jd); in validate_sblock()
636 WCHK(fs->fs_old_nspf, !=, fs->fs_fsize / sectorsize, %jd); in validate_sblock()
637 WCHK(fs->fs_old_interleave, !=, 1, %jd); in validate_sblock()
638 WCHK(fs->fs_old_trackskew, !=, 0, %jd); in validate_sblock()
639 WCHK(fs->fs_old_cpc, !=, 0, %jd); in validate_sblock()
640 WCHK(fs->fs_old_postblformat, !=, 1, %jd); in validate_sblock()
641 FCHK(fs->fs_old_nrpos, !=, 1, %jd); in validate_sblock()
642 WCHK(fs->fs_old_nsect, !=, fs->fs_old_spc, %jd); in validate_sblock()
643 WCHK(fs->fs_old_npsect, !=, fs->fs_old_spc, %jd); in validate_sblock()
648 FCHK(fs->fs_bsize, <, MINBSIZE, %jd); in validate_sblock()
649 FCHK(fs->fs_bsize, >, MAXBSIZE, %jd); in validate_sblock()
650 FCHK(fs->fs_bsize, <, roundup(sizeof(struct fs), DEV_BSIZE), %jd); in validate_sblock()
651 FCHK(powerof2(fs->fs_bsize), ==, 0, %jd); in validate_sblock()
652 FCHK(fs->fs_frag, <, 1, %jd); in validate_sblock()
653 FCHK(fs->fs_frag, >, MAXFRAG, %jd); in validate_sblock()
654 FCHK(fs->fs_frag, !=, numfrags(fs, fs->fs_bsize), %jd); in validate_sblock()
655 FCHK(fs->fs_fsize, <, sectorsize, %jd); in validate_sblock()
656 FCHK(fs->fs_fsize * fs->fs_frag, !=, fs->fs_bsize, %jd); in validate_sblock()
657 FCHK(powerof2(fs->fs_fsize), ==, 0, %jd); in validate_sblock()
658 FCHK(fs->fs_fpg, <, 3 * fs->fs_frag, %jd); in validate_sblock()
659 FCHK(fs->fs_ncg, <, 1, %jd); in validate_sblock()
660 FCHK(fs->fs_ipg, <, fs->fs_inopb, %jd); in validate_sblock()
661 FCHK((uint64_t)fs->fs_ipg * fs->fs_ncg, >, in validate_sblock()
662 (((int64_t)(1)) << 32) - INOPB(fs), %jd); in validate_sblock()
663 FCHK(fs->fs_cstotal.cs_nifree, <, 0, %jd); in validate_sblock()
664 FCHK(fs->fs_cstotal.cs_nifree, >, (uint64_t)fs->fs_ipg * fs->fs_ncg, in validate_sblock()
666 FCHK(fs->fs_cstotal.cs_ndir, <, 0, %jd); in validate_sblock()
667 FCHK(fs->fs_cstotal.cs_ndir, >, in validate_sblock()
668 ((uint64_t)fs->fs_ipg * fs->fs_ncg) - fs->fs_cstotal.cs_nifree, in validate_sblock()
670 FCHK(fs->fs_sbsize, >, SBLOCKSIZE, %jd); in validate_sblock()
671 FCHK(fs->fs_sbsize, <, (signed)sizeof(struct fs), %jd); in validate_sblock()
673 if (fs->fs_maxbsize == 0) in validate_sblock()
674 fs->fs_maxbsize = fs->fs_bsize; in validate_sblock()
675 FCHK(fs->fs_maxbsize, <, fs->fs_bsize, %jd); in validate_sblock()
676 FCHK(powerof2(fs->fs_maxbsize), ==, 0, %jd); in validate_sblock()
677 FCHK(fs->fs_maxbsize, >, FS_MAXCONTIG * fs->fs_bsize, %jd); in validate_sblock()
678 FCHK(fs->fs_bmask, !=, ~(fs->fs_bsize - 1), %#jx); in validate_sblock()
679 FCHK(fs->fs_fmask, !=, ~(fs->fs_fsize - 1), %#jx); in validate_sblock()
680 FCHK(fs->fs_qbmask, !=, ~fs->fs_bmask, %#jx); in validate_sblock()
681 FCHK(fs->fs_qfmask, !=, ~fs->fs_fmask, %#jx); in validate_sblock()
682 FCHK(fs->fs_bshift, !=, ILOG2(fs->fs_bsize), %jd); in validate_sblock()
683 FCHK(fs->fs_fshift, !=, ILOG2(fs->fs_fsize), %jd); in validate_sblock()
684 FCHK(fs->fs_fragshift, !=, ILOG2(fs->fs_frag), %jd); in validate_sblock()
685 FCHK(fs->fs_fsbtodb, !=, ILOG2(fs->fs_fsize / sectorsize), %jd); in validate_sblock()
686 FCHK(fs->fs_old_cgoffset, <, 0, %jd); in validate_sblock()
687 FCHK2(fs->fs_old_cgoffset, >, 0, ~fs->fs_old_cgmask, <, 0, %jd); in validate_sblock()
688 FCHK(fs->fs_old_cgoffset * (~fs->fs_old_cgmask), >, fs->fs_fpg, %jd); in validate_sblock()
689 FCHK(CGSIZE(fs), >, fs->fs_bsize, %jd); in validate_sblock()
697 FCHK(fs->fs_sbsize % sectorsize, !=, 0, %jd); in validate_sblock()
698 FCHK(fs->fs_ipg % fs->fs_inopb, !=, 0, %jd); in validate_sblock()
699 FCHK(fs->fs_sblkno, !=, roundup( in validate_sblock()
700 howmany(fs->fs_sblockloc + SBLOCKSIZE, fs->fs_fsize), in validate_sblock()
701 fs->fs_frag), %jd); in validate_sblock()
702 FCHK(fs->fs_cblkno, !=, fs->fs_sblkno + in validate_sblock()
703 roundup(howmany(SBLOCKSIZE, fs->fs_fsize), fs->fs_frag), %jd); in validate_sblock()
704 FCHK(fs->fs_iblkno, !=, fs->fs_cblkno + fs->fs_frag, %jd); in validate_sblock()
705 FCHK(fs->fs_dblkno, !=, fs->fs_iblkno + fs->fs_ipg / INOPF(fs), %jd); in validate_sblock()
706 FCHK(fs->fs_cgsize, >, fs->fs_bsize, %jd); in validate_sblock()
707 FCHK(fs->fs_cgsize, <, fs->fs_fsize, %jd); in validate_sblock()
708 FCHK(fs->fs_cgsize % fs->fs_fsize, !=, 0, %jd); in validate_sblock()
715 WCHK(fs->fs_dsize, !=, fs->fs_size - fs->fs_sblkno - in validate_sblock()
716 fs->fs_ncg * (fs->fs_dblkno - fs->fs_sblkno) - in validate_sblock()
717 howmany(fs->fs_cssize, fs->fs_fsize), %jd); in validate_sblock()
719 WCHK(fs->fs_metaspace, <, 0, %jd); in validate_sblock()
720 WCHK(fs->fs_metaspace, >, fs->fs_fpg / 2, %jd); in validate_sblock()
721 WCHK(fs->fs_minfree, >, 99, %jd%%); in validate_sblock()
722 maxfilesize = fs->fs_bsize * UFS_NDADDR - 1; in validate_sblock()
723 for (sizepb = fs->fs_bsize, i = 0; i < UFS_NIADDR; i++) { in validate_sblock()
724 sizepb *= NINDIR(fs); in validate_sblock()
727 WCHK(fs->fs_maxfilesize, >, maxfilesize, %jd); in validate_sblock()
739 FCHK(fs->fs_size, <, 8 * fs->fs_frag, %jd); in validate_sblock()
740 FCHK(fs->fs_size, <=, ((int64_t)fs->fs_ncg - 1) * fs->fs_fpg, %jd); in validate_sblock()
741 FCHK(fs->fs_size, >, (int64_t)fs->fs_ncg * fs->fs_fpg, %jd); in validate_sblock()
749 FCHK(fs->fs_csaddr, <, 0, %jd); in validate_sblock()
750 FCHK(fs->fs_cssize, !=, in validate_sblock()
751 fragroundup(fs, fs->fs_ncg * sizeof(struct csum)), %jd); in validate_sblock()
752 FCHK(fs->fs_csaddr + howmany(fs->fs_cssize, fs->fs_fsize), >, in validate_sblock()
753 fs->fs_size, %jd); in validate_sblock()
754 FCHK(fs->fs_csaddr, <, cgdmin(fs, dtog(fs, fs->fs_csaddr)), %jd); in validate_sblock()
755 FCHK(dtog(fs, fs->fs_csaddr + howmany(fs->fs_cssize, fs->fs_fsize)), >, in validate_sblock()
756 dtog(fs, fs->fs_csaddr), %jd); in validate_sblock()
776 WCHK(fs->fs_maxcontig, <, 0, %jd); in validate_sblock()
777 WCHK(fs->fs_maxcontig, >, MAX(256, maxphys / fs->fs_bsize), %jd); in validate_sblock()
778 FCHK2(fs->fs_maxcontig, ==, 0, fs->fs_contigsumsize, !=, 0, %jd); in validate_sblock()
779 FCHK2(fs->fs_maxcontig, >, 1, fs->fs_contigsumsize, !=, in validate_sblock()
780 MIN(fs->fs_maxcontig, FS_MAXCONTIG), %jd); in validate_sblock()
799 ffs_sbsearch(void *devfd, struct fs **fsp, int reqflags, in ffs_sbsearch()
804 struct fs *protofs; in ffs_sbsearch()
893 memset(protofs, 0, sizeof(struct fs)); in ffs_sbsearch()
954 ffs_sbput(void *devfd, struct fs *fs, off_t loc, in ffs_sbput() argument
965 if (fs->fs_si != NULL && fs->fs_csp != NULL) { in ffs_sbput()
966 blks = howmany(fs->fs_cssize, fs->fs_fsize); in ffs_sbput()
967 space = (uint8_t *)fs->fs_csp; in ffs_sbput()
968 for (i = 0; i < blks; i += fs->fs_frag) { in ffs_sbput()
969 size = fs->fs_bsize; in ffs_sbput()
970 if (i + fs->fs_frag > blks) in ffs_sbput()
971 size = (blks - i) * fs->fs_fsize; in ffs_sbput()
973 dbtob(fsbtodb(fs, fs->fs_csaddr + i)), in ffs_sbput()
979 fs->fs_fmod = 0; in ffs_sbput()
980 ffs_oldfscompat_write(fs); in ffs_sbput()
982 fs->fs_time = time_second; in ffs_sbput()
984 fs->fs_time = time(NULL); in ffs_sbput()
987 fs_si = fs->fs_si; in ffs_sbput()
988 fs->fs_si = NULL; in ffs_sbput()
989 fs->fs_ckhash = ffs_calc_sbhash(fs); in ffs_sbput()
990 error = (*writefunc)(devfd, loc, fs, fs->fs_sbsize); in ffs_sbput()
1000 fs->fs_si = fs_si; in ffs_sbput()
1008 ffs_calc_sbhash(struct fs *fs) in ffs_calc_sbhash() argument
1026 if ((fs->fs_metackhash & CK_SUPERBLOCK) == 0) in ffs_calc_sbhash()
1027 return (fs->fs_ckhash); in ffs_calc_sbhash()
1029 save_ckhash = fs->fs_ckhash; in ffs_calc_sbhash()
1030 fs->fs_ckhash = 0; in ffs_calc_sbhash()
1035 ckhash = calculate_crc32c(~0L, (void *)fs, fs->fs_sbsize); in ffs_calc_sbhash()
1036 fs->fs_ckhash = save_ckhash; in ffs_calc_sbhash()
1045 ffs_fragacct(struct fs *fs, int fragmap, int32_t fraglist[], int cnt) in ffs_fragacct() argument
1051 inblk = (int)(fragtbl[fs->fs_frag][fragmap]) << 1; in ffs_fragacct()
1053 for (siz = 1; siz < fs->fs_frag; siz++) { in ffs_fragacct()
1054 if ((inblk & (1 << (siz + (fs->fs_frag % NBBY)))) == 0) in ffs_fragacct()
1058 for (pos = siz; pos <= fs->fs_frag; pos++) { in ffs_fragacct()
1077 ffs_isblock(struct fs *fs, unsigned char *cp, ufs1_daddr_t h) in ffs_isblock() argument
1081 switch ((int)fs->fs_frag) { in ffs_isblock()
1106 ffs_isfreeblock(struct fs *fs, uint8_t *cp, ufs1_daddr_t h) in ffs_isfreeblock() argument
1109 switch ((int)fs->fs_frag) { in ffs_isfreeblock()
1131 ffs_clrblock(struct fs *fs, uint8_t *cp, ufs1_daddr_t h) in ffs_clrblock() argument
1134 switch ((int)fs->fs_frag) { in ffs_clrblock()
1159 ffs_setblock(struct fs *fs, unsigned char *cp, ufs1_daddr_t h) in ffs_setblock() argument
1162 switch ((int)fs->fs_frag) { in ffs_setblock()
1189 ffs_clusteracct(struct fs *fs, struct cg *cgp, ufs1_daddr_t blkno, int cnt) in ffs_clusteracct() argument
1197 if (fs->fs_contigsumsize <= 0) in ffs_clusteracct()
1212 end = start + fs->fs_contigsumsize; in ffs_clusteracct()
1233 end = start - fs->fs_contigsumsize; in ffs_clusteracct()
1255 if (i > fs->fs_contigsumsize) in ffs_clusteracct()
1256 i = fs->fs_contigsumsize; in ffs_clusteracct()
1265 lp = &sump[fs->fs_contigsumsize]; in ffs_clusteracct()
1266 for (i = fs->fs_contigsumsize; i > 0; i--) in ffs_clusteracct()
1269 fs->fs_maxcluster[cgp->cg_cgx] = i; in ffs_clusteracct()