Lines Matching defs:iagp

296 	struct iag *iagp;
323 iagp = (struct iag *) mp->data;
329 if ((lengthPXD(&iagp->inoext[extno]) != imap->im_nbperiext) ||
330 (addressPXD(&iagp->inoext[extno]) == 0)) {
338 blkno = INOPBLK(&iagp->inoext[extno], ino, sbi->l2nbperpage);
341 agstart = le64_to_cpu(iagp->agstart);
846 struct iag *iagp, *aiagp, *biagp, *ciagp, *diagp;
900 iagp = (struct iag *) mp->data;
910 if (!(le32_to_cpu(iagp->wmap[extno]) & mask)) {
914 if (!addressPXD(&iagp->inoext[extno])) {
924 bitmap = le32_to_cpu(iagp->wmap[extno]) & ~mask;
946 if (iagp->nfreeinos == 0) {
974 iagp->inofreefwd =
976 iagp->inofreeback = cpu_to_le32(-1);
986 if (iagp->wmap[extno] == cpu_to_le32(ONES)) {
989 iagp->inosmap[sword] &=
995 iagp->wmap[extno] = cpu_to_le32(bitmap);
1000 le32_add_cpu(&iagp->nfreeinos, 1);
1029 if (iagp->nfreeexts == 0) {
1047 if (iagp->nfreeexts == cpu_to_le32(EXTSPERIAG - 1)) {
1053 if ((fwd = le32_to_cpu(iagp->extfreefwd)) >= 0) {
1059 if ((back = le32_to_cpu(iagp->extfreeback)) >= 0) {
1070 if (iagp->nfreeinos == cpu_to_le32(INOSPEREXT - 1)) {
1071 int inofreeback = le32_to_cpu(iagp->inofreeback);
1072 int inofreefwd = le32_to_cpu(iagp->inofreefwd);
1117 freepxd = iagp->inoext[extno];
1126 if (iagp->nfreeexts == 0) {
1130 iagp->extfreefwd =
1132 iagp->extfreeback = cpu_to_le32(-1);
1138 if (iagp->nfreeexts == cpu_to_le32(EXTSPERIAG - 1)) {
1140 aiagp->extfreeback = iagp->extfreeback;
1143 biagp->extfreefwd = iagp->extfreefwd;
1146 le32_to_cpu(iagp->extfreefwd);
1148 iagp->extfreefwd = iagp->extfreeback = cpu_to_le32(-1);
1151 iagp->iagfree = cpu_to_le32(imap->im_freeiag);
1160 if (iagp->nfreeinos == cpu_to_le32(INOSPEREXT - 1)) {
1161 if ((int) le32_to_cpu(iagp->inofreefwd) >= 0)
1162 ciagp->inofreeback = iagp->inofreeback;
1164 if ((int) le32_to_cpu(iagp->inofreeback) >= 0)
1165 diagp->inofreefwd = iagp->inofreefwd;
1168 le32_to_cpu(iagp->inofreefwd);
1170 iagp->inofreefwd = iagp->inofreeback = cpu_to_le32(-1);
1178 if (iagp->pmap[extno] != 0) {
1181 iagp->wmap[extno] = 0;
1182 PXDlength(&iagp->inoext[extno], 0);
1183 PXDaddress(&iagp->inoext[extno], 0);
1193 iagp->inosmap[sword] |= cpu_to_le32(mask);
1194 iagp->extsmap[sword] &= cpu_to_le32(~mask);
1199 le32_add_cpu(&iagp->nfreeinos, -(INOSPEREXT - 1));
1200 le32_add_cpu(&iagp->nfreeexts, 1);
1293 diInitInode(struct inode *ip, int iagno, int ino, int extno, struct iag * iagp)
1298 jfs_ip->ixpxd = iagp->inoext[extno];
1299 jfs_ip->agstart = le64_to_cpu(iagp->agstart);
1328 struct iag *iagp;
1394 iagp = (struct iag *) mp->data;
1400 addext = (imap->im_agctl[agno].numfree < 32 && iagp->nfreeexts);
1408 if (iagp->nfreeinos || addext) {
1416 if (addressPXD(&iagp->inoext[extno])) {
1419 diFindFree(le32_to_cpu(iagp->wmap[extno]),
1427 rc = diAllocBit(imap, iagp, ino);
1436 iagp);
1477 inosmap = le32_to_cpu(iagp->inosmap[sword]) | mask;
1478 extsmap = le32_to_cpu(iagp->extsmap[sword]) | mask;
1494 rem = diFindFree(le32_to_cpu(iagp->wmap[extno]),
1510 rc = diAllocBit(imap, iagp, ino);
1519 iagp);
1544 if ((rc = diNewExt(imap, iagp, extno))) {
1559 extno, iagp);
1573 inosmap = le32_to_cpu(iagp->inosmap[sword]);
1574 extsmap = le32_to_cpu(iagp->extsmap[sword]);
1769 struct iag *iagp;
1785 iagp = (struct iag *) mp->data;
1790 if (!iagp->nfreeinos) {
1809 if (~iagp->inosmap[sword])
1816 rem = diFindFree(le32_to_cpu(iagp->inosmap[sword]), 0);
1827 rem = diFindFree(le32_to_cpu(iagp->wmap[extno]), 0);
1841 rc = diAllocBit(imap, iagp, ino);
1850 diInitInode(ip, iagno, ino, extno, iagp);
1893 struct iag *iagp;
1905 iagp = (struct iag *) mp->data;
1909 iagp->agstart =
1920 iagp = (struct iag *) mp->data;
1932 if (~iagp->extsmap[sword])
1938 rem = diFindFree(le32_to_cpu(iagp->extsmap[sword]), 0);
1949 rc = diNewExt(imap, iagp, extno);
1956 if (iagp->nfreeexts == cpu_to_le32(EXTSPERIAG)) {
1958 iagp->iagfree = cpu_to_le32(imap->im_freeiag);
1968 diInitInode(ip, iagno, extno << L2INOSPEREXT, extno, iagp);
1977 * NAME: diAllocBit(imap,iagp,ino)
1993 * PRE CONDITION: Already have buffer lock on iagp. Already have AG lock on
1998 * iagp - pointer to iag.
2006 static int diAllocBit(struct inomap * imap, struct iag * iagp, int ino)
2018 if (iagp->nfreeinos == cpu_to_le32(1)) {
2019 if ((int) le32_to_cpu(iagp->inofreefwd) >= 0) {
2021 diIAGRead(imap, le32_to_cpu(iagp->inofreefwd),
2027 if ((int) le32_to_cpu(iagp->inofreeback) >= 0) {
2030 le32_to_cpu(iagp->inofreeback),
2043 agno = BLKTOAG(le64_to_cpu(iagp->agstart), JFS_SBI(imap->im_ipimap->i_sb));
2053 if (((le32_to_cpu(iagp->pmap[extno]) & mask) != 0) ||
2054 ((le32_to_cpu(iagp->wmap[extno]) & mask) != 0) ||
2055 (addressPXD(&iagp->inoext[extno]) == 0)) {
2067 iagp->wmap[extno] |= cpu_to_le32(mask);
2073 if (iagp->wmap[extno] == cpu_to_le32(ONES)) {
2076 iagp->inosmap[sword] |= cpu_to_le32(HIGHORDER >> bitno);
2082 if (iagp->nfreeinos == cpu_to_le32(1)) {
2084 aiagp->inofreeback = iagp->inofreeback;
2089 biagp->inofreefwd = iagp->inofreefwd;
2093 le32_to_cpu(iagp->inofreefwd);
2095 iagp->inofreefwd = iagp->inofreeback = cpu_to_le32(-1);
2101 le32_add_cpu(&iagp->nfreeinos, -1);
2110 * NAME: diNewExt(imap,iagp,extno)
2139 * PRE CONDITION: Already have buffer lock on iagp. Already have AG lock on
2144 * iagp - pointer to iag.
2152 static int diNewExt(struct inomap * imap, struct iag * iagp, int extno)
2167 if (!iagp->nfreeexts) {
2181 agno = BLKTOAG(le64_to_cpu(iagp->agstart), sbi);
2185 iagno = le32_to_cpu(iagp->iagnum);
2192 if (iagp->nfreeexts == cpu_to_le32(1)) {
2193 if ((fwd = le32_to_cpu(iagp->extfreefwd)) >= 0) {
2199 if ((back = le32_to_cpu(iagp->extfreeback)) >= 0) {
2212 if (iagp->nfreeexts == cpu_to_le32(EXTSPERIAG)) {
2228 if (iagp->nfreeinos == 0) {
2252 if ((extno == 0) || (addressPXD(&iagp->inoext[extno - 1]) == 0))
2255 hint = addressPXD(&iagp->inoext[extno - 1]) +
2256 lengthPXD(&iagp->inoext[extno - 1]) - 1;
2297 if (iagp->nfreeexts == cpu_to_le32(1)) {
2299 aiagp->extfreeback = iagp->extfreeback;
2302 biagp->extfreefwd = iagp->extfreefwd;
2305 le32_to_cpu(iagp->extfreefwd);
2307 iagp->extfreefwd = iagp->extfreeback = cpu_to_le32(-1);
2312 if (iagp->nfreeexts == cpu_to_le32(EXTSPERIAG)) {
2316 iagp->extfreefwd = cpu_to_le32(fwd);
2317 iagp->extfreeback = cpu_to_le32(-1);
2325 if (iagp->nfreeinos == 0) {
2329 iagp->inofreefwd =
2331 iagp->inofreeback = cpu_to_le32(-1);
2336 PXDlength(&iagp->inoext[extno], imap->im_nbperiext);
2337 PXDaddress(&iagp->inoext[extno], blkno);
2343 iagp->wmap[extno] = cpu_to_le32(HIGHORDER);
2344 iagp->pmap[extno] = 0;
2352 iagp->extsmap[sword] |= cpu_to_le32(mask);
2353 iagp->inosmap[sword] &= cpu_to_le32(~mask);
2358 le32_add_cpu(&iagp->nfreeinos, (INOSPEREXT - 1));
2359 le32_add_cpu(&iagp->nfreeexts, -1);
2445 struct iag *iagp;
2561 iagp = (struct iag *) mp->data;
2564 memset(iagp, 0, sizeof(struct iag));
2565 iagp->iagnum = cpu_to_le32(iagno);
2566 iagp->inofreefwd = iagp->inofreeback = cpu_to_le32(-1);
2567 iagp->extfreefwd = iagp->extfreeback = cpu_to_le32(-1);
2568 iagp->iagfree = cpu_to_le32(-1);
2569 iagp->nfreeinos = 0;
2570 iagp->nfreeexts = cpu_to_le32(EXTSPERIAG);
2576 iagp->inosmap[i] = cpu_to_le32(ONES);
2622 iagp = (struct iag *) mp->data;
2625 imap->im_freeiag = le32_to_cpu(iagp->iagfree);
2626 iagp->iagfree = cpu_to_le32(-1);
2726 struct iag *iagp;
2750 iagp = (struct iag *) mp->data;
2767 if (!(le32_to_cpu(iagp->wmap[extno]) & mask)) {
2772 if (!(le32_to_cpu(iagp->pmap[extno]) & mask)) {
2778 iagp->pmap[extno] &= cpu_to_le32(~mask);
2787 if (!(le32_to_cpu(iagp->wmap[extno]) & mask)) {
2793 if ((le32_to_cpu(iagp->pmap[extno]) & mask) != 0) {
2800 iagp->pmap[extno] |= cpu_to_le32(mask);
2848 struct iag *iagp = NULL, *hiagp = NULL;
2885 iagp = (struct iag *) bp->data;
2886 if (le32_to_cpu(iagp->iagnum) != i) {
2893 if (iagp->nfreeexts == cpu_to_le32(EXTSPERIAG)) {
2898 agstart = le64_to_cpu(iagp->agstart);
2900 iagp->agstart = cpu_to_le64((s64)n << mp->db_agl2size);
2903 numinos = (EXTSPERIAG - le32_to_cpu(iagp->nfreeexts))
2912 if ((int) le32_to_cpu(iagp->nfreeinos) > 0) {
2914 iagp->inofreefwd = cpu_to_le32(-1);
2915 iagp->inofreeback = cpu_to_le32(-1);
2922 hiagp->inofreeback = iagp->iagnum;
2923 iagp->inofreefwd = cpu_to_le32(head);
2924 iagp->inofreeback = cpu_to_le32(-1);
2929 le32_to_cpu(iagp->iagnum);
2933 le32_to_cpu(iagp->nfreeinos);
2934 xnumfree += le32_to_cpu(iagp->nfreeinos);
2938 if (le32_to_cpu(iagp->nfreeexts) > 0) {
2940 iagp->extfreefwd = cpu_to_le32(-1);
2941 iagp->extfreeback = cpu_to_le32(-1);
2948 hiagp->extfreeback = iagp->iagnum;
2949 iagp->extfreefwd = cpu_to_le32(head);
2950 iagp->extfreeback = cpu_to_le32(-1);
2955 le32_to_cpu(iagp->iagnum);