Home | History | Annotate | Download | only in ffs

Lines Matching defs:cg

75 static int32_t ffs_mapsearch(struct fs *, struct cg *, daddr_t, int);
106 int cg;
118 cg = ino_to_cg(fs, ip->i_number);
120 cg = dtog(fs, bpref);
121 bno = ffs_hashalloc(ip, cg, bpref, size, ffs_alloccg);
162 uint32_t cg, startcg;
168 cg = ino_to_cg(fs, ip->i_number);
169 return (fs->fs_fpg * cg + fs->fs_frag);
183 for (cg = startcg; cg < fs->fs_ncg; cg++)
184 if (fs->fs_cs(fs, cg).cs_nbfree >= avgbfree)
185 return (fs->fs_fpg * cg + fs->fs_frag);
186 for (cg = 0; cg <= startcg; cg++)
187 if (fs->fs_cs(fs, cg).cs_nbfree >= avgbfree)
188 return (fs->fs_fpg * cg + fs->fs_frag);
201 uint32_t cg, startcg;
207 cg = ino_to_cg(fs, ip->i_number);
208 return (fs->fs_fpg * cg + fs->fs_frag);
222 for (cg = startcg; cg < fs->fs_ncg; cg++)
223 if (fs->fs_cs(fs, cg).cs_nbfree >= avgbfree) {
224 return (fs->fs_fpg * cg + fs->fs_frag);
226 for (cg = 0; cg < startcg; cg++)
227 if (fs->fs_cs(fs, cg).cs_nbfree >= avgbfree) {
228 return (fs->fs_fpg * cg + fs->fs_frag);
250 ffs_hashalloc(struct inode *ip, uint32_t cg, daddr_t pref, int size,
255 uint32_t i, icg = cg;
261 result = (*allocator)(ip, cg, pref, size);
268 cg += i;
269 if (cg >= fs->fs_ncg)
270 cg -= fs->fs_ncg;
271 result = (*allocator)(ip, cg, 0, size);
280 cg = (icg + 2) % fs->fs_ncg;
282 result = (*allocator)(ip, cg, 0, size);
285 cg++;
286 if (cg == fs->fs_ncg)
287 cg = 0;
299 ffs_alloccg(struct inode *ip, int cg, daddr_t bpref, int size)
301 struct cg *cgp;
308 if (fs->fs_cs(fs, cg).cs_nbfree == 0 && size == fs->fs_bsize)
310 error = bread(ip->i_devvp, FFS_FSBTODB(fs, cgtod(fs, cg)),
315 cgp = (struct cg *)bp->b_data;
351 fs->fs_cs(fs, cg).cs_nffree += i;
362 fs->fs_cs(fs, cg).cs_nffree -= frags;
367 blkno = cg * fs->fs_fpg + bno;
386 struct cg *cgp;
393 cgp = (struct cg *)bp->b_data;
435 struct cg *cgp;
438 int i, error, cg, blk, frags, bbase;
447 cg = dtog(fs, bno);
453 error = bread(ip->i_devvp, FFS_FSBTODB(fs, cgtod(fs, cg)),
458 cgp = (struct cg *)bp->b_data;
474 fs->fs_cs(fs, cg).cs_nbfree++;
496 fs->fs_cs(fs, cg).cs_nffree += i;
509 fs->fs_cs(fs, cg).cs_nffree -= fs->fs_frag;
513 fs->fs_cs(fs, cg).cs_nbfree++;
538 ffs_mapsearch(struct fs *fs, struct cg *cgp, daddr_t bpref, int allocsiz)