Lines Matching refs:cg

110 	int cg;
141 cg = (int)itog(fs, ip->i_number);
143 cg = dtog(fs, bpref);
145 bno = (daddr_t)hashalloc(ip, cg, (long)bpref, size,
188 int cg, request;
223 cg = dtog(fs, bprev);
224 bno = fragextend(ip, cg, (long)bprev, osize, nsize);
246 bno = (daddr_t)hashalloc(ip, cg, (long)bpref, request,
299 int cg;
337 cg = (int)itog(fs, ipref);
338 ino = (ino_t)hashalloc(pip, cg, (long)ipref, (int)mode,
456 * Note, the vfs_lock is not needed as we don't require exact cg summary info.
459 * the current cg if it has more than 25% free inodes and more
461 * the beginning and the first cg with the same criteria is
477 int cg, minndir, mincg, avgifree, mininode, minbpg, ifree;
480 cg = itog(fs, dp->i_number);
484 (fs->fs_cs(fs, cg).cs_nifree > mininode) &&
485 (fs->fs_cs(fs, cg).cs_nbfree > minbpg)) {
492 for (cg = 0; cg < fs->fs_ncg; cg++) {
493 ifree = fs->fs_cs(fs, cg).cs_nifree;
496 (fs->fs_cs(fs, cg).cs_nbfree > minbpg)) {
497 return ((ino_t)(fs->fs_ipg * cg));
499 if ((fs->fs_cs(fs, cg).cs_ndir < minndir) &&
501 mincg = cg;
502 minndir = fs->fs_cs(fs, cg).cs_ndir;
539 int cg;
547 cg = itog(fs, ip->i_number);
548 return (fs->fs_fpg * cg + fs->fs_frag);
566 for (cg = startcg; cg < fs->fs_ncg; cg++)
567 if (fs->fs_cs(fs, cg).cs_nbfree >= avgbfree) {
568 fs->fs_cgrotor = cg;
570 return (fs->fs_fpg * cg + fs->fs_frag);
572 for (cg = 0; cg <= startcg; cg++)
573 if (fs->fs_cs(fs, cg).cs_nbfree >= avgbfree) {
574 fs->fs_cgrotor = cg;
576 return (fs->fs_fpg * cg + fs->fs_frag);
629 struct cg *cgp;
631 int cg, bmap, bbase;
653 cg = dtog(fs, bno);
655 bp = UFS_BREAD(ufsvfsp, ip->i_dev, (daddr_t)fsbtodb(fs, cgtod(fs, cg)),
692 fs->fs_cs(fs, cg).cs_nbfree++;
715 "dev:0x%lx, blk:%ld, cg:%d, "
728 fs->fs_cs(fs, cg).cs_nffree += i;
752 fs->fs_cs(fs, cg).cs_nffree -= fs->fs_frag;
755 fs->fs_cs(fs, cg).cs_nbfree++;
761 TRANS_SI(ufsvfsp, fs, cg);
775 struct cg *cgp;
778 int cg;
794 cg = (int)itog(fs, ino);
795 bp = UFS_BREAD(ufsvfsp, ip->i_dev, (daddr_t)fsbtodb(fs, cgtod(fs, cg)),
822 fs->fs_cs(fs, cg).cs_nifree++;
826 fs->fs_cs(fs, cg).cs_ndir--;
831 TRANS_SI(ufsvfsp, fs, cg);
845 hashalloc(struct inode *ip, int cg, long pref, int size, ulong_t (*allocator)())
850 int icg = cg;
856 result = (*allocator)(ip, cg, pref, size);
863 cg += i;
864 if (cg >= fs->fs_ncg)
865 cg -= fs->fs_ncg;
866 result = (*allocator)(ip, cg, 0, size);
875 cg = (icg + 2) % fs->fs_ncg;
877 result = (*allocator)(ip, cg, 0, size);
880 cg++;
881 if (cg == fs->fs_ncg)
882 cg = 0;
894 fragextend(struct inode *ip, int cg, long bprev, int osize, int nsize)
899 struct cg *cgp;
905 if (fs->fs_cs(fs, cg).cs_nffree < numfrags(fs, nsize - osize))
914 bp = UFS_BREAD(ufsvfsp, ip->i_dev, (daddr_t)fsbtodb(fs, cgtod(fs, cg)),
957 fs->fs_cs(fs, cg).cs_nffree--;
963 TRANS_SI(ufsvfsp, fs, cg);
975 alloccg(struct inode *ip, int cg, daddr_t bpref, int size)
980 struct cg *cgp;
991 if (fs->fs_cs(fs, cg).cs_nbfree == 0) {
998 if (fs->fs_cs(fs, cg).cs_nffree < numfrags(fs, size))
1002 bp = UFS_BREAD(ufsvfsp, ip->i_dev, (daddr_t)fsbtodb(fs, cgtod(fs, cg)),
1019 TRANS_SI(ufsvfsp, fs, cg);
1060 fs->fs_cs(fs, cg).cs_nffree += i;
1064 TRANS_SI(ufsvfsp, fs, cg);
1073 fs->fs_cs(fs, cg).cs_nffree -= frags;
1082 TRANS_SI(ufsvfsp, fs, cg);
1084 return (cg * fs->fs_fpg + bno);
1105 struct cg *cgp,
1265 * the other cg/sb/si fields are TRANS'ed by the caller
1291 ialloccg(struct inode *ip, int cg, daddr_t ipref, int mode)
1295 struct cg *cgp;
1300 if (fs->fs_cs(fs, cg).cs_nifree == 0)
1302 bp = UFS_BREAD(ufsvfsp, ip->i_dev, (daddr_t)fsbtodb(fs, cgtod(fs, cg)),
1339 "ialloccg: map corrupted, cg = %d, irotor = %d, "
1340 "fs = %s\n", cg, (int)cgp->cg_irotor, fs->fs_fsmnt);
1362 fs->fs_cs(fs, cg).cs_nifree--;
1366 fs->fs_cs(fs, cg).cs_ndir++;
1371 TRANS_SI(ufsvfsp, fs, cg);
1373 return (cg * fs->fs_ipg + ipref);
1383 mapsearch(struct ufsvfs *ufsvfsp, struct cg *cgp, daddr_t bpref,
1946 * Find a cg with as close to nb contiguous bytes as possible
1959 int cg, cgblks, savecg, savenblk, curnblk, startcg;
1962 struct cg *cgp;
1969 cg = 0; /* Nothing suitable found */
1971 cg = startcg;
1973 for (; cg < fs->fs_ncg; ++cg) {
1975 * find the largest contiguous range in this cg
1978 (daddr_t)fsbtodb(fs, cgtod(fs, cg)),
2010 savecg = cg;
2022 /* convert block offset in cg to frag offset in cg */
2025 /* convert frag offset in cg to frag offset in fs */
2041 * and its starting cg number is returned.