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])
848 int iagno, ino, extno, bitno, sword, agno;
882 agno = BLKTOAG(JFS_IP(ip)->agstart, JFS_SBI(ip->i_sb));
886 AG_LOCK(imap, agno);
897 AG_UNLOCK(imap, agno);
917 AG_UNLOCK(imap, agno);
926 if (imap->im_agctl[agno].numfree > imap->im_agctl[agno].numinos) {
929 AG_UNLOCK(imap, agno);
938 imap->im_agctl[agno].numfree < 96 ||
939 (imap->im_agctl[agno].numfree < 288 &&
940 (((imap->im_agctl[agno].numfree * 100) /
941 imap->im_agctl[agno].numinos) <= 25))) {
952 if ((fwd = imap->im_agctl[agno].inofree) >= 0) {
958 AG_UNLOCK(imap, agno);
975 cpu_to_le32(imap->im_agctl[agno].inofree);
977 imap->im_agctl[agno].inofree = iagno;
1001 imap->im_agctl[agno].numfree += 1;
1006 AG_UNLOCK(imap, agno);
1036 if ((fwd = imap->im_agctl[agno].extfree) >= 0) {
1131 cpu_to_le32(imap->im_agctl[agno].extfree);
1133 imap->im_agctl[agno].extfree = iagno;
1145 imap->im_agctl[agno].extfree =
1167 imap->im_agctl[agno].inofree =
1205 imap->im_agctl[agno].numfree -= (INOSPEREXT - 1);
1206 imap->im_agctl[agno].numinos -= INOSPEREXT;
1265 AG_UNLOCK(imap, agno);
1281 AG_UNLOCK(imap, agno);
1323 int nwords, rem, i, agno, dn_numag;
1343 agno = dbNextAG(JFS_SBI(pip->i_sb)->ipbmap);
1344 AG_LOCK(imap, agno);
1358 agno = BLKTOAG(JFS_IP(pip)->agstart, JFS_SBI(pip->i_sb));
1360 if (agno < 0 || agno > dn_numag)
1363 if (atomic_read(&JFS_SBI(pip->i_sb)->bmap->db_active[agno])) {
1369 agno = dbNextAG(JFS_SBI(pip->i_sb)->ipbmap);
1370 AG_LOCK(imap, agno);
1382 AG_LOCK(imap, agno);
1391 AG_UNLOCK(imap, agno);
1400 addext = (imap->im_agctl[agno].numfree < 32 && iagp->nfreeexts);
1443 AG_UNLOCK(imap, agno);
1499 AG_UNLOCK(imap, agno);
1526 AG_UNLOCK(imap, agno);
1566 AG_UNLOCK(imap, agno);
1587 rc = diAllocAG(imap, agno, dir, ip);
1589 AG_UNLOCK(imap, agno);
1597 return (diAllocAny(imap, agno, dir, ip));
1602 * NAME: diAllocAG(imap,agno,dir,ip)
1619 * agno - allocation group to allocate from.
1631 diAllocAG(struct inomap * imap, int agno, bool dir, struct inode *ip)
1638 numfree = imap->im_agctl[agno].numfree;
1639 numinos = imap->im_agctl[agno].numinos;
1666 if ((rc = diAllocExt(imap, agno, ip)) != -ENOSPC)
1673 return (diAllocIno(imap, agno, ip));
1678 * NAME: diAllocAny(imap,agno,dir,iap)
1689 * agno - primary allocation group (to avoid).
1701 diAllocAny(struct inomap * imap, int agno, bool dir, struct inode *ip)
1707 /* try to allocate from the ags following agno up to
1710 for (ag = agno + 1; ag <= maxag; ag++) {
1721 /* try to allocate from the ags in front of agno.
1723 for (ag = 0; ag < agno; ag++) {
1741 * NAME: diAllocIno(imap,agno,ip)
1755 * agno - allocation group.
1765 static int diAllocIno(struct inomap * imap, int agno, struct inode *ip)
1773 if ((iagno = imap->im_agctl[agno].inofree) < 0)
1858 * NAME: diAllocExt(imap,agno,ip)
1879 * agno - allocation group number.
1889 static int diAllocExt(struct inomap * imap, int agno, struct inode *ip)
1898 if ((iagno = imap->im_agctl[agno].extfree) < 0) {
1902 if ((rc = diNewIAG(imap, &iagno, agno, &mp))) {
1910 cpu_to_le64(AGTOBLK(agno, imap->im_ipimap));
2008 int extno, bitno, agno, sword, rc;
2043 agno = BLKTOAG(le64_to_cpu(iagp->agstart), JFS_SBI(imap->im_ipimap->i_sb));
2092 imap->im_agctl[agno].inofree =
2102 imap->im_agctl[agno].numfree -= 1;
2154 int agno, iagno, fwd, back, freei = 0, sword, rc;
2181 agno = BLKTOAG(le64_to_cpu(iagp->agstart), sbi);
2182 if (agno >= MAXAG || agno < 0)
2213 if ((fwd = imap->im_agctl[agno].extfree) >= 0) {
2229 freei = imap->im_agctl[agno].inofree;
2253 hint = ((s64) agno << sbi->bmap->db_agl2size) - 1;
2304 imap->im_agctl[agno].extfree =
2318 imap->im_agctl[agno].extfree = iagno;
2330 cpu_to_le32(imap->im_agctl[agno].inofree);
2332 imap->im_agctl[agno].inofree = iagno;
2363 imap->im_agctl[agno].numfree += (INOSPEREXT - 1);
2364 imap->im_agctl[agno].numinos += INOSPEREXT;
2398 * NAME: diNewIAG(imap,iagnop,agno)
2414 * agno - allocation group number.
2437 diNewIAG(struct inomap * imap, int *iagnop, int agno, struct metapage ** mpp)