• Home
  • Raw
  • Download

Lines Matching full:free

4  *   This program is free software;  you can redistribute it and/or modify
6 * the Free Software Foundation; either version 2 of the License, or
15 * along with this program; if not, write to the Free Software
63 /* iag free list lock */
104 * -ENOMEM - insufficient free virtual memory.
159 /* allocate and init iag free list lock */ in diMount()
188 * -ENOMEM - insufficient free virtual memory.
208 * free in-memory control structure in diUnmount()
553 * FUNCTION: Free allocated space for special inode
821 * FUNCTION: free a specified inode from the inode working map
825 * free inode within the iag, the iag will be placed on
826 * the ag free inode list.
832 * will be placed on the ag extent free list if the extent
833 * is the first free extent in the iag. if freeing the
834 * extent also means that no free inodes will exist for
835 * the iag, the iag will also be removed from the ag free
841 * ag free extent list and ag free inode list and placed on
842 * the inode map's free iag list.
925 jfs_error(ip->i_sb, "wmap shows inode already free\n"); in diFree()
956 /* if the iag currently has no free inodes (i.e., in diFree()
957 * the inode being freed is the first free inode of iag), in diFree()
958 * insert the iag at head of the inode free list for the ag. in diFree()
962 * free list. if so, read the first one so that in diFree()
995 /* update the free inode summary map for the extent if in diFree()
996 * freeing the inode means the extent will now have free in diFree()
997 * inodes (i.e., the inode being freed is the first free in diFree()
1011 /* update the free inode counts at the iag, ag and in diFree()
1030 * inode extent has become free and above low water mark: in diFree()
1031 * free the inode extent; in diFree()
1040 /* check if the iag currently has no free extents. if so, in diFree()
1041 * it will be placed on the head of the ag extent free list. in diFree()
1044 /* check if the ag extent free list has any iags. in diFree()
1056 /* iag has free extents. check if the addition of a free in diFree()
1057 * extent will cause all extents to be free within this in diFree()
1059 * free list and placed on the inode map's free iag list. in diFree()
1063 * ag extent free list, read the iags preceding in diFree()
1064 * and following the iag on the ag extent free in diFree()
1081 /* remove the iag from the ag inode free list if freeing in diFree()
1082 * this extent cause the iag to have no free inodes. in diFree()
1089 * ag inode free list, read the iags preceding in diFree()
1090 * and following the iag on the ag inode free in diFree()
1137 /* add the iag to the ag extent free list if this is the in diFree()
1138 * first free extent for the iag. in diFree()
1150 * are now free and place it on the inode map iag free list. in diFree()
1171 /* remove the iag from the ag inode free list if freeing in diFree()
1172 * this extent causes the iag to have no free inodes. in diFree()
1188 * to reflect the free extent. in diFree()
1193 jfs_error(ip->i_sb, "the pmap does not show inode free\n"); in diFree()
1199 /* update the free extent and free inode summary maps in diFree()
1210 /* update the number of free inodes and number of free extents in diFree()
1216 /* update the number of free inodes and backed inodes in diFree()
1248 * for the free of the extent is committed; in diFree()
1409 * has less than 32 free disk inodes and the iag has free extents. in diAlloc()
1417 * (i.e. the inode has free inodes or new extent can be added). in diAlloc()
1435 /* a free inode (bit) was found within this in diAlloc()
1452 /* free the AG lock and return. in diAlloc()
1465 * no free inodes within the extent containing the hint. in diAlloc()
1469 * an extent of free inodes at or following the extent in diAlloc()
1472 * the free inode and free extent summary maps are used in diAlloc()
1491 /* scan the free inode and free extent summary maps for in diAlloc()
1492 * free resources. in diAlloc()
1495 /* check if this word of the free inode summary in diAlloc()
1496 * map describes an extent with free inodes. in diAlloc()
1499 /* an extent with free inodes has been in diAlloc()
1512 "can't find free bit in wmap\n"); in diAlloc()
1535 /* free the AG lock and return. in diAlloc()
1542 /* check if we may allocate an extent of free in diAlloc()
1543 * inodes and whether this word of the free in diAlloc()
1544 * extents summary map describes a free extent. in diAlloc()
1547 /* a free extent has been found. determine in diAlloc()
1553 /* allocate an extent of free inodes. in diAlloc()
1574 /* free the imap inode & the AG lock & return. in diAlloc()
1617 * this routine first determines if a new extent of free
1623 * the request by allocating an existing (backed) free inode
1646 /* get the number of free and the number of backed disk in diAllocAG()
1657 /* determine if we should allocate a new extent of free inodes in diAllocAG()
1659 * if there are a small number of free inodes or number of free in diAllocAG()
1670 * try to allocate a new extent of free inodes. in diAllocAG()
1673 /* if free space is not available for this new extent, try in diAllocAG()
1674 * below to allocate a free and existing (already backed) in diAllocAG()
1682 * try to allocate an existing free inode from the ag. in diAllocAG()
1745 /* no free disk inodes. in diAllocAny()
1754 * FUNCTION: allocate a disk inode from the allocation group's free
1755 * inode list, returning an error if this free list is
1759 * the iag's free inode summary map to find the leftmost
1760 * free inode in the iag.
1782 /* check if there are iags on the ag's free inode list. in diAllocIno()
1798 /* better be free inodes in this iag if it is on the in diAllocIno()
1808 /* scan the free inode summary map to find an extent in diAllocIno()
1809 * with free inodes. in diAllocIno()
1816 "free inode not found in summary map\n"); in diAllocIno()
1824 /* found a extent with free inodes. determine in diAllocIno()
1831 jfs_error(ip->i_sb, "no free extent found\n"); in diAllocIno()
1836 /* find the first free inode in the extent. in diAllocIno()
1842 jfs_error(ip->i_sb, "free inode not found\n"); in diAllocIno()
1871 * FUNCTION: add a new extent of free inodes to an iag, allocating
1875 * this routine first tries to find an existing iag with free
1876 * extents through the ag free extent list. if list is not
1878 * of the new extent of free inodes. otherwise (the list is
1882 * once an iag has been selected, the free extent summary map
1883 * is used to locate a free extent within the iag and diNewExt()
1906 /* check if the ag has any iags with free extents. if not, in diAllocExt()
1934 /* using the free extent summary map, find a free extent. in diAllocExt()
1940 jfs_error(ip->i_sb, "free ext summary map not found\n"); in diAllocExt()
1947 /* determine the extent number of the free extent. in diAllocExt()
1953 jfs_error(ip->i_sb, "free extent not found\n"); in diAllocExt()
1964 * place it back on the inode map's iag free list, and in diAllocExt()
1995 * if the inode to be allocated represents the last free
1997 * ag free inode list.
2024 /* check if this is the last free inode within the iag. in diAllocBit()
2025 * if so, it will have to be removed from the ag free in diAllocBit()
2062 /* the inode should be free and backed. in diAllocBit()
2081 * allocated. if so, update the free inode summary in diAllocBit()
2090 /* if this was the last free inode in the iag, remove the in diAllocBit()
2091 * iag from the ag free inode list. in diAllocBit()
2109 /* update the free inode count at the iag, ag, inode in diAllocBit()
2133 * if the iag is new, it is not yet on an ag extent free list
2137 * have no free extent, the iag will be removed from the
2138 * ag extent free list.
2140 * if the iag has no free backed inodes, it will be placed
2141 * on the ag free inode list, since the addition of the new
2142 * extent will now cause it to have free inodes.
2176 /* better have free extents. in diNewExt()
2179 jfs_error(imap->im_ipimap->i_sb, "no free extents\n"); in diNewExt()
2195 /* check if this is the last free extent within the in diNewExt()
2197 * free extent list, so get the iags preceding and in diNewExt()
2213 /* the iag has free extents. if all extents are free in diNewExt()
2215 * must be added to the ag free extent list, so get in diNewExt()
2229 /* check if the iag has no free inodes. if so, the iag in diNewExt()
2230 * will have to be added to the ag free inode list, so get in diNewExt()
2302 /* if this is the last free extent within the iag, remove the in diNewExt()
2303 * iag from the ag free extent list. in diNewExt()
2317 /* if the iag has all free extents (newly allocated iag), in diNewExt()
2318 * add the iag to the ag free extent list. in diNewExt()
2330 /* if the iag has no free inodes, add the iag to the in diNewExt()
2331 * ag free inode list. in diNewExt()
2354 /* update the free inode and free extent summary maps in diNewExt()
2355 * for the extent to indicate the extent has free inodes in diNewExt()
2356 * and no longer represents a free extent. in diNewExt()
2363 /* update the free inode and free extent counts for the in diNewExt()
2369 /* update the free and backed inode counts for the ag. in diNewExt()
2374 /* update the free and backed inode counts for the inode map. in diNewExt()
2412 * if the list has free iags, the head of the list is removed
2414 * if the inode map's iag free list is empty, the inode map
2464 /* acquire the free iag lock */ in diNewIAG()
2467 /* if there are any iags on the inode map free iag list, in diNewIAG()
2477 /* no free iags. the inode map will have to be extented in diNewIAG()
2534 /* Free the blocks allocated for the iag since it was in diNewIAG()
2580 /* initialize the free inode summary map (free extent in diNewIAG()
2607 /* Add the iag to the iag free list so we don't lose the iag in diNewIAG()
2632 /* remove the iag from the iag free list */ in diNewIAG()
2641 /* release the iag free lock */ in diNewIAG()
2688 * FUNCTION: find the first free bit in a word starting at
2696 * bit position of first free bit in the word or 32 if
2697 * no free bits were found.
2703 /* scan the word for the first free bit. */ in diFindFree()
2767 * mark the inode free in persistent map: in diUpdatePMap()
2793 * and should be free in persistent map; in diUpdatePMap()
2804 "the inode is not free in the persistent map\n"); in diUpdatePMap()
2880 imap->im_agctl[i].numfree = 0; /* number of free backed inodes */ in diExtendFS()
2886 * rebuild AG Free Inode List, AG Free Inode Extent List; in diExtendFS()
2900 /* leave free iag in the free iag list */ in diExtendFS()
2919 /* if any backed free inodes, insert at AG free inode list */ in diExtendFS()
2939 /* merge AG backed free inodes */ in diExtendFS()
2945 /* if any free extents, insert at AG free extent list */ in diExtendFS()