Lines Matching refs:agno

57 #define AG_LOCK(imap,agno)		mutex_lock(&imap->im_aglock[agno])
58 #define AG_UNLOCK(imap,agno) mutex_unlock(&imap->im_aglock[agno])
850 int iagno, ino, extno, bitno, sword, agno;
884 agno = BLKTOAG(JFS_IP(ip)->agstart, JFS_SBI(ip->i_sb));
888 AG_LOCK(imap, agno);
899 AG_UNLOCK(imap, agno);
919 AG_UNLOCK(imap, agno);
928 if (imap->im_agctl[agno].numfree > imap->im_agctl[agno].numinos) {
931 AG_UNLOCK(imap, agno);
940 imap->im_agctl[agno].numfree < 96 ||
941 (imap->im_agctl[agno].numfree < 288 &&
942 (((imap->im_agctl[agno].numfree * 100) /
943 imap->im_agctl[agno].numinos) <= 25))) {
954 if ((fwd = imap->im_agctl[agno].inofree) >= 0) {
960 AG_UNLOCK(imap, agno);
977 cpu_to_le32(imap->im_agctl[agno].inofree);
979 imap->im_agctl[agno].inofree = iagno;
1003 imap->im_agctl[agno].numfree += 1;
1008 AG_UNLOCK(imap, agno);
1038 if ((fwd = imap->im_agctl[agno].extfree) >= 0) {
1133 cpu_to_le32(imap->im_agctl[agno].extfree);
1135 imap->im_agctl[agno].extfree = iagno;
1147 imap->im_agctl[agno].extfree =
1169 imap->im_agctl[agno].inofree =
1207 imap->im_agctl[agno].numfree -= (INOSPEREXT - 1);
1208 imap->im_agctl[agno].numinos -= INOSPEREXT;
1267 AG_UNLOCK(imap, agno);
1283 AG_UNLOCK(imap, agno);
1325 int nwords, rem, i, agno, dn_numag;
1345 agno = dbNextAG(JFS_SBI(pip->i_sb)->ipbmap);
1346 AG_LOCK(imap, agno);
1360 agno = BLKTOAG(JFS_IP(pip)->agstart, JFS_SBI(pip->i_sb));
1362 if (agno < 0 || agno > dn_numag)
1365 if (atomic_read(&JFS_SBI(pip->i_sb)->bmap->db_active[agno])) {
1371 agno = dbNextAG(JFS_SBI(pip->i_sb)->ipbmap);
1372 AG_LOCK(imap, agno);
1384 AG_LOCK(imap, agno);
1393 AG_UNLOCK(imap, agno);
1402 addext = (imap->im_agctl[agno].numfree < 32 && iagp->nfreeexts);
1445 AG_UNLOCK(imap, agno);
1501 AG_UNLOCK(imap, agno);
1528 AG_UNLOCK(imap, agno);
1568 AG_UNLOCK(imap, agno);
1589 rc = diAllocAG(imap, agno, dir, ip);
1591 AG_UNLOCK(imap, agno);
1599 return (diAllocAny(imap, agno, dir, ip));
1604 * NAME: diAllocAG(imap,agno,dir,ip)
1621 * agno - allocation group to allocate from.
1633 diAllocAG(struct inomap * imap, int agno, bool dir, struct inode *ip)
1640 numfree = imap->im_agctl[agno].numfree;
1641 numinos = imap->im_agctl[agno].numinos;
1668 if ((rc = diAllocExt(imap, agno, ip)) != -ENOSPC)
1675 return (diAllocIno(imap, agno, ip));
1680 * NAME: diAllocAny(imap,agno,dir,iap)
1691 * agno - primary allocation group (to avoid).
1703 diAllocAny(struct inomap * imap, int agno, bool dir, struct inode *ip)
1709 /* try to allocate from the ags following agno up to
1712 for (ag = agno + 1; ag <= maxag; ag++) {
1723 /* try to allocate from the ags in front of agno.
1725 for (ag = 0; ag < agno; ag++) {
1743 * NAME: diAllocIno(imap,agno,ip)
1757 * agno - allocation group.
1767 static int diAllocIno(struct inomap * imap, int agno, struct inode *ip)
1775 if ((iagno = imap->im_agctl[agno].inofree) < 0)
1860 * NAME: diAllocExt(imap,agno,ip)
1881 * agno - allocation group number.
1891 static int diAllocExt(struct inomap * imap, int agno, struct inode *ip)
1900 if ((iagno = imap->im_agctl[agno].extfree) < 0) {
1904 if ((rc = diNewIAG(imap, &iagno, agno, &mp))) {
1912 cpu_to_le64(AGTOBLK(agno, imap->im_ipimap));
2010 int extno, bitno, agno, sword, rc;
2045 agno = BLKTOAG(le64_to_cpu(iagp->agstart), JFS_SBI(imap->im_ipimap->i_sb));
2094 imap->im_agctl[agno].inofree =
2104 imap->im_agctl[agno].numfree -= 1;
2156 int agno, iagno, fwd, back, freei = 0, sword, rc;
2183 agno = BLKTOAG(le64_to_cpu(iagp->agstart), sbi);
2184 if (agno >= MAXAG || agno < 0)
2215 if ((fwd = imap->im_agctl[agno].extfree) >= 0) {
2231 freei = imap->im_agctl[agno].inofree;
2255 hint = ((s64) agno << sbi->bmap->db_agl2size) - 1;
2306 imap->im_agctl[agno].extfree =
2320 imap->im_agctl[agno].extfree = iagno;
2332 cpu_to_le32(imap->im_agctl[agno].inofree);
2334 imap->im_agctl[agno].inofree = iagno;
2365 imap->im_agctl[agno].numfree += (INOSPEREXT - 1);
2366 imap->im_agctl[agno].numinos += INOSPEREXT;
2400 * NAME: diNewIAG(imap,iagnop,agno)
2416 * agno - allocation group number.
2439 diNewIAG(struct inomap * imap, int *iagnop, int agno, struct metapage ** mpp)