• Home
  • Raw
  • Download

Lines Matching refs:bmp

57 #define BMAP_LOCK_INIT(bmp)	mutex_init(&bmp->db_bmaplock)  argument
58 #define BMAP_LOCK(bmp) mutex_lock(&bmp->db_bmaplock) argument
59 #define BMAP_UNLOCK(bmp) mutex_unlock(&bmp->db_bmaplock) argument
64 static void dbAllocBits(struct bmap * bmp, struct dmap * dp, s64 blkno,
70 static int dbAdjCtl(struct bmap * bmp, s64 blkno, int newval, int alloc,
72 static int dbAllocAny(struct bmap * bmp, s64 nblocks, int l2nb, s64 * results);
73 static int dbAllocNext(struct bmap * bmp, struct dmap * dp, s64 blkno,
75 static int dbAllocNear(struct bmap * bmp, struct dmap * dp, s64 blkno,
78 static int dbAllocDmap(struct bmap * bmp, struct dmap * dp, s64 blkno,
80 static int dbAllocDmapLev(struct bmap * bmp, struct dmap * dp, int nblocks,
83 static int dbAllocAG(struct bmap * bmp, int agno, s64 nblocks, int l2nb,
85 static int dbAllocCtl(struct bmap * bmp, s64 nblocks, int l2nb, s64 blkno,
89 static int dbFindCtl(struct bmap * bmp, int l2nb, int level, s64 * blkno);
91 static int dbFreeBits(struct bmap * bmp, struct dmap * dp, s64 blkno,
93 static int dbFreeDmap(struct bmap * bmp, struct dmap * dp, s64 blkno,
101 static int dbAllocDmapBU(struct bmap * bmp, struct dmap * dp, s64 blkno,
155 struct bmap *bmp; in dbMount() local
164 bmp = kmalloc(sizeof(struct bmap), GFP_KERNEL); in dbMount()
165 if (bmp == NULL) in dbMount()
179 bmp->db_mapsize = le64_to_cpu(dbmp_le->dn_mapsize); in dbMount()
180 bmp->db_nfree = le64_to_cpu(dbmp_le->dn_nfree); in dbMount()
181 bmp->db_l2nbperpage = le32_to_cpu(dbmp_le->dn_l2nbperpage); in dbMount()
182 bmp->db_numag = le32_to_cpu(dbmp_le->dn_numag); in dbMount()
183 if (!bmp->db_numag) { in dbMount()
188 bmp->db_maxlevel = le32_to_cpu(dbmp_le->dn_maxlevel); in dbMount()
189 bmp->db_maxag = le32_to_cpu(dbmp_le->dn_maxag); in dbMount()
190 bmp->db_agpref = le32_to_cpu(dbmp_le->dn_agpref); in dbMount()
191 bmp->db_aglevel = le32_to_cpu(dbmp_le->dn_aglevel); in dbMount()
192 bmp->db_agheight = le32_to_cpu(dbmp_le->dn_agheight); in dbMount()
193 bmp->db_agwidth = le32_to_cpu(dbmp_le->dn_agwidth); in dbMount()
194 bmp->db_agstart = le32_to_cpu(dbmp_le->dn_agstart); in dbMount()
195 bmp->db_agl2size = le32_to_cpu(dbmp_le->dn_agl2size); in dbMount()
196 if (bmp->db_agl2size > L2MAXL2SIZE - L2MAXAG) { in dbMount()
201 if (((bmp->db_mapsize - 1) >> bmp->db_agl2size) > MAXAG) { in dbMount()
207 bmp->db_agfree[i] = le64_to_cpu(dbmp_le->dn_agfree[i]); in dbMount()
208 bmp->db_agsize = le64_to_cpu(dbmp_le->dn_agsize); in dbMount()
209 bmp->db_maxfreebud = dbmp_le->dn_maxfreebud; in dbMount()
215 bmp->db_ipbmap = ipbmap; in dbMount()
216 JFS_SBI(ipbmap->i_sb)->bmap = bmp; in dbMount()
218 memset(bmp->db_active, 0, sizeof(bmp->db_active)); in dbMount()
223 BMAP_LOCK_INIT(bmp); in dbMount()
230 kfree(bmp); in dbMount()
253 struct bmap *bmp = JFS_SBI(ipbmap->i_sb)->bmap; in dbUnmount() local
264 kfree(bmp); in dbUnmount()
275 struct bmap *bmp = JFS_SBI(ipbmap->i_sb)->bmap; in dbSync() local
292 dbmp_le->dn_mapsize = cpu_to_le64(bmp->db_mapsize); in dbSync()
293 dbmp_le->dn_nfree = cpu_to_le64(bmp->db_nfree); in dbSync()
294 dbmp_le->dn_l2nbperpage = cpu_to_le32(bmp->db_l2nbperpage); in dbSync()
295 dbmp_le->dn_numag = cpu_to_le32(bmp->db_numag); in dbSync()
296 dbmp_le->dn_maxlevel = cpu_to_le32(bmp->db_maxlevel); in dbSync()
297 dbmp_le->dn_maxag = cpu_to_le32(bmp->db_maxag); in dbSync()
298 dbmp_le->dn_agpref = cpu_to_le32(bmp->db_agpref); in dbSync()
299 dbmp_le->dn_aglevel = cpu_to_le32(bmp->db_aglevel); in dbSync()
300 dbmp_le->dn_agheight = cpu_to_le32(bmp->db_agheight); in dbSync()
301 dbmp_le->dn_agwidth = cpu_to_le32(bmp->db_agwidth); in dbSync()
302 dbmp_le->dn_agstart = cpu_to_le32(bmp->db_agstart); in dbSync()
303 dbmp_le->dn_agl2size = cpu_to_le32(bmp->db_agl2size); in dbSync()
305 dbmp_le->dn_agfree[i] = cpu_to_le64(bmp->db_agfree[i]); in dbSync()
306 dbmp_le->dn_agsize = cpu_to_le64(bmp->db_agsize); in dbSync()
307 dbmp_le->dn_maxfreebud = bmp->db_maxfreebud; in dbSync()
347 struct bmap *bmp = JFS_SBI(ip->i_sb)->bmap; in dbFree() local
353 if (unlikely((blkno == 0) || (blkno + nblocks > bmp->db_mapsize))) { in dbFree()
380 lblkno = BLKTODMAP(blkno, bmp->db_l2nbperpage); in dbFree()
394 if ((rc = dbFreeDmap(bmp, dp, blkno, nb))) { in dbFree()
439 struct bmap *bmp = JFS_SBI(ipbmap->i_sb)->bmap; in dbUpdatePMap() local
449 if (blkno + nblocks > bmp->db_mapsize) { in dbUpdatePMap()
469 lblkno = BLKTODMAP(blkno, bmp->db_l2nbperpage); in dbUpdatePMap()
475 mp = read_metapage(bmp->db_ipbmap, lblkno, PSIZE, in dbUpdatePMap()
620 struct bmap *bmp = JFS_SBI(ipbmap->i_sb)->bmap; in dbNextAG() local
622 BMAP_LOCK(bmp); in dbNextAG()
625 avgfree = (u32)bmp->db_nfree / bmp->db_numag; in dbNextAG()
631 agpref = bmp->db_agpref; in dbNextAG()
632 if ((atomic_read(&bmp->db_active[agpref]) == 0) && in dbNextAG()
633 (bmp->db_agfree[agpref] >= avgfree)) in dbNextAG()
639 for (i = 0 ; i < bmp->db_numag; i++, agpref++) { in dbNextAG()
640 if (agpref == bmp->db_numag) in dbNextAG()
643 if (atomic_read(&bmp->db_active[agpref])) in dbNextAG()
646 if (bmp->db_agfree[agpref] >= avgfree) { in dbNextAG()
648 bmp->db_agpref = agpref; in dbNextAG()
650 } else if (bmp->db_agfree[agpref] > hwm) { in dbNextAG()
652 hwm = bmp->db_agfree[agpref]; in dbNextAG()
662 bmp->db_agpref = next_best; in dbNextAG()
665 BMAP_UNLOCK(bmp); in dbNextAG()
669 return (bmp->db_agpref); in dbNextAG()
714 struct bmap *bmp; in dbAlloc() local
731 bmp = JFS_SBI(ip->i_sb)->bmap; in dbAlloc()
733 mapSize = bmp->db_mapsize; in dbAlloc()
744 if (l2nb > bmp->db_agl2size) { in dbAlloc()
747 rc = dbAllocAny(bmp, nblocks, l2nb, results); in dbAlloc()
764 if (blkno >= bmp->db_mapsize) in dbAlloc()
767 agno = blkno >> bmp->db_agl2size; in dbAlloc()
773 if ((blkno & (bmp->db_agsize - 1)) == 0) in dbAlloc()
778 if (atomic_read(&bmp->db_active[agno])) in dbAlloc()
791 lblkno = BLKTODMAP(blkno, bmp->db_l2nbperpage); in dbAlloc()
801 if ((rc = dbAllocNext(bmp, dp, blkno, (int) nblocks)) in dbAlloc()
812 writers = atomic_read(&bmp->db_active[agno]); in dbAlloc()
828 dbAllocNear(bmp, dp, blkno, (int) nblocks, l2nb, results)) in dbAlloc()
840 if ((rc = dbAllocDmapLev(bmp, dp, (int) nblocks, l2nb, results)) in dbAlloc()
857 if ((rc = dbAllocAG(bmp, agno, nblocks, l2nb, results)) != -ENOSPC) in dbAlloc()
873 if ((rc = dbAllocAG(bmp, agno, nblocks, l2nb, results)) == -ENOSPC) in dbAlloc()
874 rc = dbAllocAny(bmp, nblocks, l2nb, results); in dbAlloc()
907 struct bmap *bmp = JFS_SBI(ip->i_sb)->bmap; in dbAllocExact() local
921 if (nblocks <= 0 || nblocks > BPERDMAP || blkno >= bmp->db_mapsize) { in dbAllocExact()
926 if (nblocks > ((s64) 1 << bmp->db_maxfreebud)) { in dbAllocExact()
933 lblkno = BLKTODMAP(blkno, bmp->db_l2nbperpage); in dbAllocExact()
942 rc = dbAllocNext(bmp, dp, blkno, nblocks); in dbAllocExact()
1045 struct bmap *bmp; in dbExtend() local
1065 bmp = sbi->bmap; in dbExtend()
1066 if (lastblkno < 0 || lastblkno >= bmp->db_mapsize) { in dbExtend()
1080 if (addnblocks > BPERDMAP || extblkno >= bmp->db_mapsize || in dbExtend()
1081 (extblkno & (bmp->db_agsize - 1)) == 0) { in dbExtend()
1089 lblkno = BLKTODMAP(extblkno, bmp->db_l2nbperpage); in dbExtend()
1101 rc = dbAllocNext(bmp, dp, extblkno, (int) addnblocks); in dbExtend()
1135 static int dbAllocNext(struct bmap * bmp, struct dmap * dp, s64 blkno, in dbAllocNext() argument
1144 jfs_error(bmp->db_ipbmap->i_sb, "Corrupt dmap page\n"); in dbAllocNext()
1235 return (dbAllocDmap(bmp, dp, blkno, nblocks)); in dbAllocNext()
1267 dbAllocNear(struct bmap * bmp, in dbAllocNear() argument
1274 jfs_error(bmp->db_ipbmap->i_sb, "Corrupt dmap page\n"); in dbAllocNear()
1311 if ((rc = dbAllocDmap(bmp, dp, blkno, nblocks)) == 0) in dbAllocNear()
1376 dbAllocAG(struct bmap * bmp, int agno, s64 nblocks, int l2nb, s64 * results) in dbAllocAG() argument
1387 if (l2nb > bmp->db_agl2size) { in dbAllocAG()
1388 jfs_error(bmp->db_ipbmap->i_sb, in dbAllocAG()
1396 blkno = (s64) agno << bmp->db_agl2size; in dbAllocAG()
1415 if (bmp->db_agsize == BPERDMAP in dbAllocAG()
1416 || bmp->db_agfree[agno] == bmp->db_agsize) { in dbAllocAG()
1417 rc = dbAllocCtl(bmp, nblocks, l2nb, blkno, results); in dbAllocAG()
1419 (bmp->db_agfree[agno] == bmp->db_agsize)) { in dbAllocAG()
1423 jfs_error(bmp->db_ipbmap->i_sb, in dbAllocAG()
1432 lblkno = BLKTOCTL(blkno, bmp->db_l2nbperpage, bmp->db_aglevel); in dbAllocAG()
1433 mp = read_metapage(bmp->db_ipbmap, lblkno, PSIZE, 0); in dbAllocAG()
1440 jfs_error(bmp->db_ipbmap->i_sb, "Corrupt dmapctl page\n"); in dbAllocAG()
1453 (1 << (L2LPERCTL - (bmp->db_agheight << 1))) / bmp->db_agwidth; in dbAllocAG()
1454 ti = bmp->db_agstart + bmp->db_agwidth * (agno & (agperlev - 1)); in dbAllocAG()
1462 for (i = 0; i < bmp->db_agwidth; i++, ti++) { in dbAllocAG()
1472 for (k = bmp->db_agheight; k > 0; k--) { in dbAllocAG()
1480 jfs_error(bmp->db_ipbmap->i_sb, in dbAllocAG()
1490 if (bmp->db_aglevel == 2) in dbAllocAG()
1492 else if (bmp->db_aglevel == 1) in dbAllocAG()
1517 dbFindCtl(bmp, l2nb, bmp->db_aglevel - 1, in dbAllocAG()
1520 jfs_error(bmp->db_ipbmap->i_sb, in dbAllocAG()
1530 rc = dbAllocCtl(bmp, nblocks, l2nb, blkno, results); in dbAllocAG()
1532 jfs_error(bmp->db_ipbmap->i_sb, in dbAllocAG()
1574 static int dbAllocAny(struct bmap * bmp, s64 nblocks, int l2nb, s64 * results) in dbAllocAny() argument
1585 if ((rc = dbFindCtl(bmp, l2nb, bmp->db_maxlevel, &blkno))) in dbAllocAny()
1590 rc = dbAllocCtl(bmp, nblocks, l2nb, blkno, results); in dbAllocAny()
1592 jfs_error(bmp->db_ipbmap->i_sb, "unable to allocate blocks\n"); in dbAllocAny()
1632 struct bmap *bmp = JFS_SBI(ip->i_sb)->bmap; in dbDiscardAG() local
1650 nblocks = bmp->db_agfree[agno]; in dbDiscardAG()
1656 jfs_error(bmp->db_ipbmap->i_sb, "no memory for trim array\n"); in dbDiscardAG()
1666 rc = dbAllocAG(bmp, agno, nblocks, l2nb, &blkno); in dbDiscardAG()
1673 if (bmp->db_agfree[agno] == 0) in dbDiscardAG()
1677 nblocks = bmp->db_agfree[agno]; in dbDiscardAG()
1685 jfs_error(bmp->db_ipbmap->i_sb, "-EIO\n"); in dbDiscardAG()
1737 static int dbFindCtl(struct bmap * bmp, int l2nb, int level, s64 * blkno) in dbFindCtl() argument
1754 lblkno = BLKTOCTL(b, bmp->db_l2nbperpage, lev); in dbFindCtl()
1755 mp = read_metapage(bmp->db_ipbmap, lblkno, PSIZE, 0); in dbFindCtl()
1762 jfs_error(bmp->db_ipbmap->i_sb, in dbFindCtl()
1783 jfs_error(bmp->db_ipbmap->i_sb, in dbFindCtl()
1856 dbAllocCtl(struct bmap * bmp, s64 nblocks, int l2nb, s64 blkno, s64 * results) in dbAllocCtl() argument
1868 lblkno = BLKTODMAP(blkno, bmp->db_l2nbperpage); in dbAllocCtl()
1869 mp = read_metapage(bmp->db_ipbmap, lblkno, PSIZE, 0); in dbAllocCtl()
1876 rc = dbAllocDmapLev(bmp, dp, (int) nblocks, l2nb, results); in dbAllocCtl()
1895 lblkno = BLKTODMAP(b, bmp->db_l2nbperpage); in dbAllocCtl()
1896 mp = read_metapage(bmp->db_ipbmap, lblkno, PSIZE, 0); in dbAllocCtl()
1907 jfs_error(bmp->db_ipbmap->i_sb, in dbAllocCtl()
1919 if ((rc = dbAllocDmap(bmp, dp, b, nb))) { in dbAllocCtl()
1948 lblkno = BLKTODMAP(b, bmp->db_l2nbperpage); in dbAllocCtl()
1949 mp = read_metapage(bmp->db_ipbmap, lblkno, PSIZE, 0); in dbAllocCtl()
1954 jfs_error(bmp->db_ipbmap->i_sb, in dbAllocCtl()
1962 if (dbFreeDmap(bmp, dp, b, BPERDMAP)) { in dbAllocCtl()
1967 jfs_error(bmp->db_ipbmap->i_sb, "Block Leakage\n"); in dbAllocCtl()
2007 dbAllocDmapLev(struct bmap * bmp, in dbAllocDmapLev() argument
2036 if ((rc = dbAllocDmap(bmp, dp, blkno, nblocks)) == 0) in dbAllocDmapLev()
2070 static int dbAllocDmap(struct bmap * bmp, struct dmap * dp, s64 blkno, in dbAllocDmap() argument
2082 dbAllocBits(bmp, dp, blkno, nblocks); in dbAllocDmap()
2092 if ((rc = dbAdjCtl(bmp, blkno, dp->tree.stree[ROOT], 1, 0))) in dbAllocDmap()
2093 dbFreeBits(bmp, dp, blkno, nblocks); in dbAllocDmap()
2125 static int dbFreeDmap(struct bmap * bmp, struct dmap * dp, s64 blkno, in dbFreeDmap() argument
2137 rc = dbFreeBits(bmp, dp, blkno, nblocks); in dbFreeDmap()
2147 if ((rc = dbAdjCtl(bmp, blkno, dp->tree.stree[ROOT], 0, 0))) { in dbFreeDmap()
2158 dbAllocBits(bmp, dp, blkno, nblocks); in dbFreeDmap()
2187 static void dbAllocBits(struct bmap * bmp, struct dmap * dp, s64 blkno, in dbAllocBits() argument
2263 jfs_error(bmp->db_ipbmap->i_sb, in dbAllocBits()
2294 BMAP_LOCK(bmp); in dbAllocBits()
2300 agno = blkno >> bmp->db_agl2size; in dbAllocBits()
2301 if (agno > bmp->db_maxag) in dbAllocBits()
2302 bmp->db_maxag = agno; in dbAllocBits()
2305 bmp->db_agfree[agno] -= nblocks; in dbAllocBits()
2306 bmp->db_nfree -= nblocks; in dbAllocBits()
2308 BMAP_UNLOCK(bmp); in dbAllocBits()
2334 static int dbFreeBits(struct bmap * bmp, struct dmap * dp, s64 blkno, in dbFreeBits() argument
2438 BMAP_LOCK(bmp); in dbFreeBits()
2443 agno = blkno >> bmp->db_agl2size; in dbFreeBits()
2444 bmp->db_nfree += nblocks; in dbFreeBits()
2445 bmp->db_agfree[agno] += nblocks; in dbFreeBits()
2452 if ((bmp->db_agfree[agno] == bmp->db_agsize && agno == bmp->db_maxag) || in dbFreeBits()
2453 (agno == bmp->db_numag - 1 && in dbFreeBits()
2454 bmp->db_agfree[agno] == (bmp-> db_mapsize & (BPERDMAP - 1)))) { in dbFreeBits()
2455 while (bmp->db_maxag > 0) { in dbFreeBits()
2456 bmp->db_maxag -= 1; in dbFreeBits()
2457 if (bmp->db_agfree[bmp->db_maxag] != in dbFreeBits()
2458 bmp->db_agsize) in dbFreeBits()
2466 if (bmp->db_agpref > bmp->db_maxag) in dbFreeBits()
2467 bmp->db_agpref = bmp->db_maxag; in dbFreeBits()
2470 BMAP_UNLOCK(bmp); in dbFreeBits()
2518 dbAdjCtl(struct bmap * bmp, s64 blkno, int newval, int alloc, int level) in dbAdjCtl() argument
2530 lblkno = BLKTOCTL(blkno, bmp->db_l2nbperpage, level); in dbAdjCtl()
2531 mp = read_metapage(bmp->db_ipbmap, lblkno, PSIZE, 0); in dbAdjCtl()
2537 jfs_error(bmp->db_ipbmap->i_sb, "Corrupt dmapctl page\n"); in dbAdjCtl()
2597 if (level < bmp->db_maxlevel) { in dbAdjCtl()
2602 dbAdjCtl(bmp, blkno, dcp->stree[ROOT], alloc, in dbAdjCtl()
2635 assert(level == bmp->db_maxlevel); in dbAdjCtl()
2636 if (bmp->db_maxfreebud != oldroot) { in dbAdjCtl()
2637 jfs_error(bmp->db_ipbmap->i_sb, in dbAdjCtl()
2640 bmp->db_maxfreebud = dcp->stree[ROOT]; in dbAdjCtl()
3225 struct bmap *bmp = JFS_SBI(ip->i_sb)->bmap; in dbAllocBottomUp() local
3230 ASSERT(nblocks <= bmp->db_mapsize - blkno); in dbAllocBottomUp()
3243 lblkno = BLKTODMAP(blkno, bmp->db_l2nbperpage); in dbAllocBottomUp()
3257 if ((rc = dbAllocDmapBU(bmp, dp, blkno, nb))) { in dbAllocBottomUp()
3273 static int dbAllocDmapBU(struct bmap * bmp, struct dmap * dp, s64 blkno, in dbAllocDmapBU() argument
3346 BMAP_LOCK(bmp); in dbAllocDmapBU()
3352 agno = blkno >> bmp->db_agl2size; in dbAllocDmapBU()
3353 if (agno > bmp->db_maxag) in dbAllocDmapBU()
3354 bmp->db_maxag = agno; in dbAllocDmapBU()
3357 bmp->db_agfree[agno] -= nblocks; in dbAllocDmapBU()
3358 bmp->db_nfree -= nblocks; in dbAllocDmapBU()
3360 BMAP_UNLOCK(bmp); in dbAllocDmapBU()
3370 if ((rc = dbAdjCtl(bmp, blkno, tp->stree[ROOT], 1, 0))) in dbAllocDmapBU()
3371 dbFreeBits(bmp, dp, blkno, nblocks); in dbAllocDmapBU()
3405 struct bmap *bmp = sbi->bmap; in dbExtendFS() local
3422 bmp->db_mapsize = newsize; in dbExtendFS()
3423 bmp->db_maxlevel = BMAPSZTOLEV(bmp->db_mapsize); in dbExtendFS()
3427 oldl2agsize = bmp->db_agl2size; in dbExtendFS()
3429 bmp->db_agl2size = l2agsize; in dbExtendFS()
3430 bmp->db_agsize = 1 << l2agsize; in dbExtendFS()
3433 agno = bmp->db_numag; in dbExtendFS()
3434 bmp->db_numag = newsize >> l2agsize; in dbExtendFS()
3435 bmp->db_numag += ((u32) newsize % (u32) bmp->db_agsize) ? 1 : 0; in dbExtendFS()
3448 ag_rem = bmp->db_agfree[0]; /* save agfree[0] */ in dbExtendFS()
3450 bmp->db_agfree[n] = 0; /* init collection point */ in dbExtendFS()
3455 bmp->db_agfree[n] += bmp->db_agfree[i]; in dbExtendFS()
3458 bmp->db_agfree[0] += ag_rem; /* restore agfree[0] */ in dbExtendFS()
3461 bmp->db_agfree[n] = 0; in dbExtendFS()
3467 bmp->db_maxag = bmp->db_maxag / k; in dbExtendFS()
3583 bmp->db_nfree += n; in dbExtendFS()
3585 bmp->db_agfree[agno] += n; in dbExtendFS()
3614 bmp->db_maxfreebud = *l1leaf; in dbExtendFS()
3638 bmp->db_maxfreebud = *l2leaf; in dbExtendFS()
3668 struct bmap *bmp = JFS_SBI(ipbmap->i_sb)->bmap; in dbFinalizeBmap() local
3683 actags = bmp->db_maxag + 1; in dbFinalizeBmap()
3684 inactags = bmp->db_numag - actags; in dbFinalizeBmap()
3685 ag_rem = bmp->db_mapsize & (bmp->db_agsize - 1); /* ??? */ in dbFinalizeBmap()
3693 ((inactags - 1) << bmp->db_agl2size) + ag_rem in dbFinalizeBmap()
3694 : inactags << bmp->db_agl2size; in dbFinalizeBmap()
3700 actfree = bmp->db_nfree - inactfree; in dbFinalizeBmap()
3707 if (bmp->db_agfree[bmp->db_agpref] < avgfree) { in dbFinalizeBmap()
3708 for (bmp->db_agpref = 0; bmp->db_agpref < actags; in dbFinalizeBmap()
3709 bmp->db_agpref++) { in dbFinalizeBmap()
3710 if (bmp->db_agfree[bmp->db_agpref] >= avgfree) in dbFinalizeBmap()
3713 if (bmp->db_agpref >= bmp->db_numag) { in dbFinalizeBmap()
3726 bmp->db_aglevel = BMAPSZTOLEV(bmp->db_agsize); in dbFinalizeBmap()
3728 bmp->db_agl2size - (L2BPERDMAP + bmp->db_aglevel * L2LPERCTL); in dbFinalizeBmap()
3729 bmp->db_agheight = l2nl >> 1; in dbFinalizeBmap()
3730 bmp->db_agwidth = 1 << (l2nl - (bmp->db_agheight << 1)); in dbFinalizeBmap()
3731 for (i = 5 - bmp->db_agheight, bmp->db_agstart = 0, n = 1; i > 0; in dbFinalizeBmap()
3733 bmp->db_agstart += n; in dbFinalizeBmap()