Lines Matching refs:iagp

310 	struct iag *iagp;  in diRead()  local
337 iagp = (struct iag *) mp->data; in diRead()
343 if ((lengthPXD(&iagp->inoext[extno]) != imap->im_nbperiext) || in diRead()
344 (addressPXD(&iagp->inoext[extno]) == 0)) { in diRead()
352 blkno = INOPBLK(&iagp->inoext[extno], ino, sbi->l2nbperpage); in diRead()
355 agstart = le64_to_cpu(iagp->agstart); in diRead()
860 struct iag *iagp, *aiagp, *biagp, *ciagp, *diagp; in diFree() local
914 iagp = (struct iag *) mp->data; in diFree()
924 if (!(le32_to_cpu(iagp->wmap[extno]) & mask)) { in diFree()
928 if (!addressPXD(&iagp->inoext[extno])) { in diFree()
938 bitmap = le32_to_cpu(iagp->wmap[extno]) & ~mask; in diFree()
960 if (iagp->nfreeinos == 0) { in diFree()
988 iagp->inofreefwd = in diFree()
990 iagp->inofreeback = cpu_to_le32(-1); in diFree()
1000 if (iagp->wmap[extno] == cpu_to_le32(ONES)) { in diFree()
1003 iagp->inosmap[sword] &= in diFree()
1009 iagp->wmap[extno] = cpu_to_le32(bitmap); in diFree()
1014 le32_add_cpu(&iagp->nfreeinos, 1); in diFree()
1043 if (iagp->nfreeexts == 0) { in diFree()
1061 if (iagp->nfreeexts == cpu_to_le32(EXTSPERIAG - 1)) { in diFree()
1067 if ((fwd = le32_to_cpu(iagp->extfreefwd)) >= 0) { in diFree()
1073 if ((back = le32_to_cpu(iagp->extfreeback)) >= 0) { in diFree()
1084 if (iagp->nfreeinos == cpu_to_le32(INOSPEREXT - 1)) { in diFree()
1085 int inofreeback = le32_to_cpu(iagp->inofreeback); in diFree()
1086 int inofreefwd = le32_to_cpu(iagp->inofreefwd); in diFree()
1131 freepxd = iagp->inoext[extno]; in diFree()
1140 if (iagp->nfreeexts == 0) { in diFree()
1144 iagp->extfreefwd = in diFree()
1146 iagp->extfreeback = cpu_to_le32(-1); in diFree()
1152 if (iagp->nfreeexts == cpu_to_le32(EXTSPERIAG - 1)) { in diFree()
1154 aiagp->extfreeback = iagp->extfreeback; in diFree()
1157 biagp->extfreefwd = iagp->extfreefwd; in diFree()
1160 le32_to_cpu(iagp->extfreefwd); in diFree()
1162 iagp->extfreefwd = iagp->extfreeback = cpu_to_le32(-1); in diFree()
1165 iagp->iagfree = cpu_to_le32(imap->im_freeiag); in diFree()
1174 if (iagp->nfreeinos == cpu_to_le32(INOSPEREXT - 1)) { in diFree()
1175 if ((int) le32_to_cpu(iagp->inofreefwd) >= 0) in diFree()
1176 ciagp->inofreeback = iagp->inofreeback; in diFree()
1178 if ((int) le32_to_cpu(iagp->inofreeback) >= 0) in diFree()
1179 diagp->inofreefwd = iagp->inofreefwd; in diFree()
1182 le32_to_cpu(iagp->inofreefwd); in diFree()
1184 iagp->inofreefwd = iagp->inofreeback = cpu_to_le32(-1); in diFree()
1192 if (iagp->pmap[extno] != 0) { in diFree()
1195 iagp->wmap[extno] = 0; in diFree()
1196 PXDlength(&iagp->inoext[extno], 0); in diFree()
1197 PXDaddress(&iagp->inoext[extno], 0); in diFree()
1207 iagp->inosmap[sword] |= cpu_to_le32(mask); in diFree()
1208 iagp->extsmap[sword] &= cpu_to_le32(~mask); in diFree()
1213 le32_add_cpu(&iagp->nfreeinos, -(INOSPEREXT - 1)); in diFree()
1214 le32_add_cpu(&iagp->nfreeexts, 1); in diFree()
1307 diInitInode(struct inode *ip, int iagno, int ino, int extno, struct iag * iagp) in diInitInode() argument
1312 jfs_ip->ixpxd = iagp->inoext[extno]; in diInitInode()
1313 jfs_ip->agstart = le64_to_cpu(iagp->agstart); in diInitInode()
1342 struct iag *iagp; in diAlloc() local
1405 iagp = (struct iag *) mp->data; in diAlloc()
1411 addext = (imap->im_agctl[agno].numfree < 32 && iagp->nfreeexts); in diAlloc()
1419 if (iagp->nfreeinos || addext) { in diAlloc()
1427 if (addressPXD(&iagp->inoext[extno])) { in diAlloc()
1430 diFindFree(le32_to_cpu(iagp->wmap[extno]), in diAlloc()
1438 rc = diAllocBit(imap, iagp, ino); in diAlloc()
1447 iagp); in diAlloc()
1488 inosmap = le32_to_cpu(iagp->inosmap[sword]) | mask; in diAlloc()
1489 extsmap = le32_to_cpu(iagp->extsmap[sword]) | mask; in diAlloc()
1505 rem = diFindFree(le32_to_cpu(iagp->wmap[extno]), in diAlloc()
1521 rc = diAllocBit(imap, iagp, ino); in diAlloc()
1530 iagp); in diAlloc()
1555 if ((rc = diNewExt(imap, iagp, extno))) { in diAlloc()
1570 extno, iagp); in diAlloc()
1584 inosmap = le32_to_cpu(iagp->inosmap[sword]); in diAlloc()
1585 extsmap = le32_to_cpu(iagp->extsmap[sword]); in diAlloc()
1780 struct iag *iagp; in diAllocIno() local
1796 iagp = (struct iag *) mp->data; in diAllocIno()
1801 if (!iagp->nfreeinos) { in diAllocIno()
1820 if (~iagp->inosmap[sword]) in diAllocIno()
1827 rem = diFindFree(le32_to_cpu(iagp->inosmap[sword]), 0); in diAllocIno()
1838 rem = diFindFree(le32_to_cpu(iagp->wmap[extno]), 0); in diAllocIno()
1852 rc = diAllocBit(imap, iagp, ino); in diAllocIno()
1861 diInitInode(ip, iagno, ino, extno, iagp); in diAllocIno()
1904 struct iag *iagp; in diAllocExt() local
1916 iagp = (struct iag *) mp->data; in diAllocExt()
1920 iagp->agstart = in diAllocExt()
1931 iagp = (struct iag *) mp->data; in diAllocExt()
1943 if (~iagp->extsmap[sword]) in diAllocExt()
1949 rem = diFindFree(le32_to_cpu(iagp->extsmap[sword]), 0); in diAllocExt()
1960 rc = diNewExt(imap, iagp, extno); in diAllocExt()
1967 if (iagp->nfreeexts == cpu_to_le32(EXTSPERIAG)) { in diAllocExt()
1969 iagp->iagfree = cpu_to_le32(imap->im_freeiag); in diAllocExt()
1979 diInitInode(ip, iagno, extno << L2INOSPEREXT, extno, iagp); in diAllocExt()
2017 static int diAllocBit(struct inomap * imap, struct iag * iagp, int ino) in diAllocBit() argument
2029 if (iagp->nfreeinos == cpu_to_le32(1)) { in diAllocBit()
2030 if ((int) le32_to_cpu(iagp->inofreefwd) >= 0) { in diAllocBit()
2032 diIAGRead(imap, le32_to_cpu(iagp->inofreefwd), in diAllocBit()
2038 if ((int) le32_to_cpu(iagp->inofreeback) >= 0) { in diAllocBit()
2041 le32_to_cpu(iagp->inofreeback), in diAllocBit()
2054 agno = BLKTOAG(le64_to_cpu(iagp->agstart), JFS_SBI(imap->im_ipimap->i_sb)); in diAllocBit()
2064 if (((le32_to_cpu(iagp->pmap[extno]) & mask) != 0) || in diAllocBit()
2065 ((le32_to_cpu(iagp->wmap[extno]) & mask) != 0) || in diAllocBit()
2066 (addressPXD(&iagp->inoext[extno]) == 0)) { in diAllocBit()
2078 iagp->wmap[extno] |= cpu_to_le32(mask); in diAllocBit()
2084 if (iagp->wmap[extno] == cpu_to_le32(ONES)) { in diAllocBit()
2087 iagp->inosmap[sword] |= cpu_to_le32(HIGHORDER >> bitno); in diAllocBit()
2093 if (iagp->nfreeinos == cpu_to_le32(1)) { in diAllocBit()
2095 aiagp->inofreeback = iagp->inofreeback; in diAllocBit()
2100 biagp->inofreefwd = iagp->inofreefwd; in diAllocBit()
2104 le32_to_cpu(iagp->inofreefwd); in diAllocBit()
2106 iagp->inofreefwd = iagp->inofreeback = cpu_to_le32(-1); in diAllocBit()
2112 le32_add_cpu(&iagp->nfreeinos, -1); in diAllocBit()
2163 static int diNewExt(struct inomap * imap, struct iag * iagp, int extno) in diNewExt() argument
2178 if (!iagp->nfreeexts) { in diNewExt()
2192 agno = BLKTOAG(le64_to_cpu(iagp->agstart), sbi); in diNewExt()
2193 iagno = le32_to_cpu(iagp->iagnum); in diNewExt()
2200 if (iagp->nfreeexts == cpu_to_le32(1)) { in diNewExt()
2201 if ((fwd = le32_to_cpu(iagp->extfreefwd)) >= 0) { in diNewExt()
2207 if ((back = le32_to_cpu(iagp->extfreeback)) >= 0) { in diNewExt()
2220 if (iagp->nfreeexts == cpu_to_le32(EXTSPERIAG)) { in diNewExt()
2236 if (iagp->nfreeinos == 0) { in diNewExt()
2260 if ((extno == 0) || (addressPXD(&iagp->inoext[extno - 1]) == 0)) in diNewExt()
2263 hint = addressPXD(&iagp->inoext[extno - 1]) + in diNewExt()
2264 lengthPXD(&iagp->inoext[extno - 1]) - 1; in diNewExt()
2305 if (iagp->nfreeexts == cpu_to_le32(1)) { in diNewExt()
2307 aiagp->extfreeback = iagp->extfreeback; in diNewExt()
2310 biagp->extfreefwd = iagp->extfreefwd; in diNewExt()
2313 le32_to_cpu(iagp->extfreefwd); in diNewExt()
2315 iagp->extfreefwd = iagp->extfreeback = cpu_to_le32(-1); in diNewExt()
2320 if (iagp->nfreeexts == cpu_to_le32(EXTSPERIAG)) { in diNewExt()
2324 iagp->extfreefwd = cpu_to_le32(fwd); in diNewExt()
2325 iagp->extfreeback = cpu_to_le32(-1); in diNewExt()
2333 if (iagp->nfreeinos == 0) { in diNewExt()
2337 iagp->inofreefwd = in diNewExt()
2339 iagp->inofreeback = cpu_to_le32(-1); in diNewExt()
2344 PXDlength(&iagp->inoext[extno], imap->im_nbperiext); in diNewExt()
2345 PXDaddress(&iagp->inoext[extno], blkno); in diNewExt()
2351 iagp->wmap[extno] = cpu_to_le32(HIGHORDER); in diNewExt()
2352 iagp->pmap[extno] = 0; in diNewExt()
2360 iagp->extsmap[sword] |= cpu_to_le32(mask); in diNewExt()
2361 iagp->inosmap[sword] &= cpu_to_le32(~mask); in diNewExt()
2366 le32_add_cpu(&iagp->nfreeinos, (INOSPEREXT - 1)); in diNewExt()
2367 le32_add_cpu(&iagp->nfreeexts, -1); in diNewExt()
2453 struct iag *iagp; in diNewIAG() local
2569 iagp = (struct iag *) mp->data; in diNewIAG()
2572 memset(iagp, 0, sizeof(struct iag)); in diNewIAG()
2573 iagp->iagnum = cpu_to_le32(iagno); in diNewIAG()
2574 iagp->inofreefwd = iagp->inofreeback = cpu_to_le32(-1); in diNewIAG()
2575 iagp->extfreefwd = iagp->extfreeback = cpu_to_le32(-1); in diNewIAG()
2576 iagp->iagfree = cpu_to_le32(-1); in diNewIAG()
2577 iagp->nfreeinos = 0; in diNewIAG()
2578 iagp->nfreeexts = cpu_to_le32(EXTSPERIAG); in diNewIAG()
2584 iagp->inosmap[i] = cpu_to_le32(ONES); in diNewIAG()
2630 iagp = (struct iag *) mp->data; in diNewIAG()
2633 imap->im_freeiag = le32_to_cpu(iagp->iagfree); in diNewIAG()
2634 iagp->iagfree = cpu_to_le32(-1); in diNewIAG()
2734 struct iag *iagp; in diUpdatePMap() local
2758 iagp = (struct iag *) mp->data; in diUpdatePMap()
2775 if (!(le32_to_cpu(iagp->wmap[extno]) & mask)) { in diUpdatePMap()
2780 if (!(le32_to_cpu(iagp->pmap[extno]) & mask)) { in diUpdatePMap()
2786 iagp->pmap[extno] &= cpu_to_le32(~mask); in diUpdatePMap()
2795 if (!(le32_to_cpu(iagp->wmap[extno]) & mask)) { in diUpdatePMap()
2801 if ((le32_to_cpu(iagp->pmap[extno]) & mask) != 0) { in diUpdatePMap()
2808 iagp->pmap[extno] |= cpu_to_le32(mask); in diUpdatePMap()
2856 struct iag *iagp = NULL, *hiagp = NULL; in diExtendFS() local
2893 iagp = (struct iag *) bp->data; in diExtendFS()
2894 if (le32_to_cpu(iagp->iagnum) != i) { in diExtendFS()
2901 if (iagp->nfreeexts == cpu_to_le32(EXTSPERIAG)) { in diExtendFS()
2906 agstart = le64_to_cpu(iagp->agstart); in diExtendFS()
2908 iagp->agstart = cpu_to_le64((s64)n << mp->db_agl2size); in diExtendFS()
2911 numinos = (EXTSPERIAG - le32_to_cpu(iagp->nfreeexts)) in diExtendFS()
2920 if ((int) le32_to_cpu(iagp->nfreeinos) > 0) { in diExtendFS()
2922 iagp->inofreefwd = cpu_to_le32(-1); in diExtendFS()
2923 iagp->inofreeback = cpu_to_le32(-1); in diExtendFS()
2930 hiagp->inofreeback = iagp->iagnum; in diExtendFS()
2931 iagp->inofreefwd = cpu_to_le32(head); in diExtendFS()
2932 iagp->inofreeback = cpu_to_le32(-1); in diExtendFS()
2937 le32_to_cpu(iagp->iagnum); in diExtendFS()
2941 le32_to_cpu(iagp->nfreeinos); in diExtendFS()
2942 xnumfree += le32_to_cpu(iagp->nfreeinos); in diExtendFS()
2946 if (le32_to_cpu(iagp->nfreeexts) > 0) { in diExtendFS()
2948 iagp->extfreefwd = cpu_to_le32(-1); in diExtendFS()
2949 iagp->extfreeback = cpu_to_le32(-1); in diExtendFS()
2956 hiagp->extfreeback = iagp->iagnum; in diExtendFS()
2957 iagp->extfreefwd = cpu_to_le32(head); in diExtendFS()
2958 iagp->extfreeback = cpu_to_le32(-1); in diExtendFS()
2963 le32_to_cpu(iagp->iagnum); in diExtendFS()