Lines Matching refs:cg
118 static int32_t ffs_mapsearch(struct fs *, struct cg *,
182 u_int cg; in ffs_alloc() local
255 cg = ino_to_cg(fs, ip->i_number); in ffs_alloc()
257 cg = dtog(fs, bpref); in ffs_alloc()
258 bno = ffs_hashalloc(ip, cg, bpref, size, 0, flags, ffs_alloccg); in ffs_alloc()
314 u_int cg, request; in ffs_realloccg() local
404 cg = dtog(fs, bprev); in ffs_realloccg()
406 if ((bno = ffs_fragextend(ip, cg, bprev, osize, nsize)) != 0) { in ffs_realloccg()
490 bno = ffs_hashalloc(ip, cg, bpref, request, nsize, 0, ffs_alloccg); in ffs_realloccg()
575 u_int cg; in ffs_valloc() local
598 cg = ino_to_cg(fs, ipref); in ffs_valloc()
604 if (fs->fs_contigdirs[cg] < 255) in ffs_valloc()
605 fs->fs_contigdirs[cg]++; in ffs_valloc()
607 if (fs->fs_contigdirs[cg] > 0) in ffs_valloc()
608 fs->fs_contigdirs[cg]--; in ffs_valloc()
610 ino = (ino_t)ffs_hashalloc(pip, cg, ipref, mode, 0, 0, ffs_nodealloccg); in ffs_valloc()
642 u_int cg, prefcg; in ffs_dirpref() local
664 for (cg = prefcg; cg < fs->fs_ncg; cg++) in ffs_dirpref()
665 if (fs->fs_cs(fs, cg).cs_ndir < minndir && in ffs_dirpref()
666 fs->fs_cs(fs, cg).cs_nifree >= avgifree && in ffs_dirpref()
667 fs->fs_cs(fs, cg).cs_nbfree >= avgbfree) { in ffs_dirpref()
668 mincg = cg; in ffs_dirpref()
669 minndir = fs->fs_cs(fs, cg).cs_ndir; in ffs_dirpref()
671 for (cg = 0; cg < prefcg; cg++) in ffs_dirpref()
672 if (fs->fs_cs(fs, cg).cs_ndir < minndir && in ffs_dirpref()
673 fs->fs_cs(fs, cg).cs_nifree >= avgifree && in ffs_dirpref()
674 fs->fs_cs(fs, cg).cs_nbfree >= avgbfree) { in ffs_dirpref()
675 mincg = cg; in ffs_dirpref()
676 minndir = fs->fs_cs(fs, cg).cs_ndir; in ffs_dirpref()
718 for (cg = prefcg; cg < fs->fs_ncg; cg++) in ffs_dirpref()
719 if (fs->fs_cs(fs, cg).cs_ndir < maxndir && in ffs_dirpref()
720 fs->fs_cs(fs, cg).cs_nifree >= minifree && in ffs_dirpref()
721 fs->fs_cs(fs, cg).cs_nbfree >= minbfree) { in ffs_dirpref()
722 if (fs->fs_contigdirs[cg] < maxcontigdirs) in ffs_dirpref()
723 return ((ino_t)(fs->fs_ipg * cg)); in ffs_dirpref()
725 for (cg = 0; cg < prefcg; cg++) in ffs_dirpref()
726 if (fs->fs_cs(fs, cg).cs_ndir < maxndir && in ffs_dirpref()
727 fs->fs_cs(fs, cg).cs_nifree >= minifree && in ffs_dirpref()
728 fs->fs_cs(fs, cg).cs_nbfree >= minbfree) { in ffs_dirpref()
729 if (fs->fs_contigdirs[cg] < maxcontigdirs) in ffs_dirpref()
730 return ((ino_t)(fs->fs_ipg * cg)); in ffs_dirpref()
735 for (cg = prefcg; cg < fs->fs_ncg; cg++) in ffs_dirpref()
736 if (fs->fs_cs(fs, cg).cs_nifree >= avgifree) in ffs_dirpref()
737 return ((ino_t)(fs->fs_ipg * cg)); in ffs_dirpref()
738 for (cg = 0; cg < prefcg; cg++) in ffs_dirpref()
739 if (fs->fs_cs(fs, cg).cs_nifree >= avgifree) in ffs_dirpref()
741 return ((ino_t)(fs->fs_ipg * cg)); in ffs_dirpref()
775 u_int cg; in ffs_blkpref_ufs1() local
803 cg = ino_to_cg(fs, ip->i_number); in ffs_blkpref_ufs1()
804 return (cgbase(fs, cg) + fs->fs_frag); in ffs_blkpref_ufs1()
818 for (cg = startcg; cg < fs->fs_ncg; cg++) in ffs_blkpref_ufs1()
819 if (fs->fs_cs(fs, cg).cs_nbfree >= avgbfree) { in ffs_blkpref_ufs1()
820 return (cgbase(fs, cg) + fs->fs_frag); in ffs_blkpref_ufs1()
822 for (cg = 0; cg < startcg; cg++) in ffs_blkpref_ufs1()
823 if (fs->fs_cs(fs, cg).cs_nbfree >= avgbfree) { in ffs_blkpref_ufs1()
824 return (cgbase(fs, cg) + fs->fs_frag); in ffs_blkpref_ufs1()
839 u_int cg; in ffs_blkpref_ufs2() local
867 cg = ino_to_cg(fs, ip->i_number); in ffs_blkpref_ufs2()
868 return (cgbase(fs, cg) + fs->fs_frag); in ffs_blkpref_ufs2()
882 for (cg = startcg; cg < fs->fs_ncg; cg++) in ffs_blkpref_ufs2()
883 if (fs->fs_cs(fs, cg).cs_nbfree >= avgbfree) { in ffs_blkpref_ufs2()
884 return (cgbase(fs, cg) + fs->fs_frag); in ffs_blkpref_ufs2()
886 for (cg = 0; cg < startcg; cg++) in ffs_blkpref_ufs2()
887 if (fs->fs_cs(fs, cg).cs_nbfree >= avgbfree) { in ffs_blkpref_ufs2()
888 return (cgbase(fs, cg) + fs->fs_frag); in ffs_blkpref_ufs2()
913 ffs_hashalloc(struct inode *ip, u_int cg, daddr_t pref, in ffs_hashalloc() argument
921 u_int i, icg = cg; in ffs_hashalloc()
927 result = (*allocator)(ip, cg, pref, size, realsize, flags); in ffs_hashalloc()
937 cg += i; in ffs_hashalloc()
938 if (cg >= fs->fs_ncg) in ffs_hashalloc()
939 cg -= fs->fs_ncg; in ffs_hashalloc()
940 result = (*allocator)(ip, cg, 0, size, realsize, flags); in ffs_hashalloc()
949 cg = (icg + 2) % fs->fs_ncg; in ffs_hashalloc()
951 result = (*allocator)(ip, cg, 0, size, realsize, flags); in ffs_hashalloc()
954 cg++; in ffs_hashalloc()
955 if (cg == fs->fs_ncg) in ffs_hashalloc()
956 cg = 0; in ffs_hashalloc()
971 ffs_fragextend(struct inode *ip, u_int cg, daddr_t bprev, int osize, int nsize) in ffs_fragextend() argument
975 struct cg *cgp; in ffs_fragextend()
987 if (fs->fs_cs(fs, cg).cs_nffree < ffs_numfrags(fs, nsize - osize)) in ffs_fragextend()
996 error = bread(ip->i_devvp, FFS_FSBTODB(fs, cgtod(fs, cg)), in ffs_fragextend()
1000 cgp = (struct cg *)bp->b_data; in ffs_fragextend()
1029 fs->fs_cs(fs, cg).cs_nffree--; in ffs_fragextend()
1032 ACTIVECG_CLR(fs, cg); in ffs_fragextend()
1051 ffs_alloccg(struct inode *ip, u_int cg, daddr_t bpref, int size, int realsize, in ffs_alloccg() argument
1056 struct cg *cgp; in ffs_alloccg()
1068 if (fs->fs_cs(fs, cg).cs_nbfree == 0 && size == fs->fs_bsize) in ffs_alloccg()
1071 error = bread(ip->i_devvp, FFS_FSBTODB(fs, cgtod(fs, cg)), in ffs_alloccg()
1075 cgp = (struct cg *)bp->b_data; in ffs_alloccg()
1086 ACTIVECG_CLR(fs, cg); in ffs_alloccg()
1130 fs->fs_cs(fs, cg).cs_nffree += i; in ffs_alloccg()
1133 ACTIVECG_CLR(fs, cg); in ffs_alloccg()
1152 fs->fs_cs(fs, cg).cs_nffree -= frags; in ffs_alloccg()
1157 blkno = cgbase(fs, cg) + bno; in ffs_alloccg()
1158 ACTIVECG_CLR(fs, cg); in ffs_alloccg()
1186 struct cg *cgp; in ffs_alloccgblk()
1187 int cg; in ffs_alloccgblk() local
1195 cgp = (struct cg *)bp->b_data; in ffs_alloccgblk()
1247 cg = ufs_rw32(cgp->cg_cgx, needswap); in ffs_alloccgblk()
1248 blkno = cgbase(fs, cg) + bno; in ffs_alloccgblk()
1262 ffs_nodealloccg(struct inode *ip, u_int cg, daddr_t ipref, int mode, int realsize, in ffs_nodealloccg() argument
1267 struct cg *cgp; in ffs_nodealloccg()
1279 if (fs->fs_cs(fs, cg).cs_nifree == 0) in ffs_nodealloccg()
1291 error = bread(ip->i_devvp, FFS_FSBTODB(fs, cgtod(fs, cg)), in ffs_nodealloccg()
1295 cgp = (struct cg *)bp->b_data; in ffs_nodealloccg()
1322 ino_to_fsba(fs, cg * fs->fs_ipg + initediblk)), in ffs_nodealloccg()
1350 __func__, cg, irotor, initediblk); in ffs_nodealloccg()
1361 __func__, cg, ufs_rw32(cgp->cg_irotor, needswap), in ffs_nodealloccg()
1380 __func__, cg, (int)ipref, maxiblk, cgp->cg_niblk); in ffs_nodealloccg()
1382 UFS_WAPBL_REGISTER_INODE(ip->i_ump->um_mountp, cg * fs->fs_ipg + ipref, in ffs_nodealloccg()
1404 ACTIVECG_CLR(fs, cg); in ffs_nodealloccg()
1408 fs->fs_cs(fs, cg).cs_nifree--; in ffs_nodealloccg()
1413 fs->fs_cs(fs, cg).cs_ndir++; in ffs_nodealloccg()
1421 return ((ino_t)(cg * fs->fs_ipg + ipref)); in ffs_nodealloccg()
1458 struct cg *cgp; in ffs_blkalloc_ump()
1462 u_int cg; in ffs_blkalloc_ump() local
1470 cg = dtog(fs, bno); in ffs_blkalloc_ump()
1471 error = bread(ump->um_devvp, FFS_FSBTODB(fs, cgtod(fs, cg)), in ffs_blkalloc_ump()
1476 cgp = (struct cg *)bp->b_data; in ffs_blkalloc_ump()
1498 fs->fs_cs(fs, cg).cs_nbfree--; in ffs_blkalloc_ump()
1517 fs->fs_cs(fs, cg).cs_nffree += fs->fs_frag; in ffs_blkalloc_ump()
1521 fs->fs_cs(fs, cg).cs_nbfree--; in ffs_blkalloc_ump()
1536 fs->fs_cs(fs, cg).cs_nffree -= i; in ffs_blkalloc_ump()
1544 ACTIVECG_CLR(fs, cg); in ffs_blkalloc_ump()
1562 struct cg *cgp; in ffs_blkfree_cg()
1567 u_int cg; in ffs_blkfree_cg() local
1574 cg = dtog(fs, bno); in ffs_blkfree_cg()
1578 cgblkno = FFS_FSBTODB(fs, cgtod(fs, cg)); in ffs_blkfree_cg()
1585 cgp = (struct cg *)bp->b_data; in ffs_blkfree_cg()
1835 struct cg *cgp; in ffs_blkfree_snap()
1839 int error, cg; in ffs_blkfree_snap() local
1846 cg = dtog(fs, bno); in ffs_blkfree_snap()
1849 cgblkno = ffs_fragstoblks(fs, cgtod(fs, cg)); in ffs_blkfree_snap()
1860 cgp = (struct cg *)bp->b_data; in ffs_blkfree_snap()
1875 struct cg *cgp; in ffs_blkfree_common()
1878 u_int cg; in ffs_blkfree_common() local
1882 cg = dtog(fs, bno); in ffs_blkfree_common()
1883 cgp = (struct cg *)bp->b_data; in ffs_blkfree_common()
1906 fs->fs_cs(fs, cg).cs_nbfree++; in ffs_blkfree_common()
1941 fs->fs_cs(fs, cg).cs_nffree += i; in ffs_blkfree_common()
1954 fs->fs_cs(fs, cg).cs_nffree -= fs->fs_frag; in ffs_blkfree_common()
1958 fs->fs_cs(fs, cg).cs_nbfree++; in ffs_blkfree_common()
1973 ACTIVECG_CLR(fs, cg); in ffs_blkfree_common()
1999 struct cg *cgp; in ffs_freefile()
2002 u_int cg; in ffs_freefile() local
2007 cg = ino_to_cg(fs, ino); in ffs_freefile()
2010 cgbno = FFS_FSBTODB(fs, cgtod(fs, cg)); in ffs_freefile()
2020 cgp = (struct cg *)bp->b_data; in ffs_freefile()
2037 struct cg *cgp; in ffs_freefile_snap()
2039 int error, cg; in ffs_freefile_snap() local
2046 cg = ino_to_cg(fs, ino); in ffs_freefile_snap()
2049 cgbno = ffs_fragstoblks(fs, cgtod(fs, cg)); in ffs_freefile_snap()
2059 cgp = (struct cg *)bp->b_data; in ffs_freefile_snap()
2075 u_int cg; in ffs_freefile_common() local
2076 struct cg *cgp; in ffs_freefile_common()
2081 cg = ino_to_cg(fs, ino); in ffs_freefile_common()
2082 cgp = (struct cg *)bp->b_data; in ffs_freefile_common()
2104 fs->fs_cs(fs, cg).cs_nifree++; in ffs_freefile_common()
2108 fs->fs_cs(fs, cg).cs_ndir--; in ffs_freefile_common()
2111 ACTIVECG_CLR(fs, cg); in ffs_freefile_common()
2121 struct cg *cgp; in ffs_checkfreefile()
2125 u_int cg; in ffs_checkfreefile() local
2131 cg = ino_to_cg(fs, ino); in ffs_checkfreefile()
2133 cgbno = ffs_fragstoblks(fs, cgtod(fs, cg)); in ffs_checkfreefile()
2135 cgbno = FFS_FSBTODB(fs, cgtod(fs, cg)); in ffs_checkfreefile()
2141 cgp = (struct cg *)bp->b_data; in ffs_checkfreefile()
2160 ffs_mapsearch(struct fs *fs, struct cg *cgp, daddr_t bpref, int allocsiz) in ffs_mapsearch()