Since inode bitmap was being maintained, there was an upper bound on number of inodes possible (which was set at 1 million). Allocation of each file resulted in linear search of inode list to get next free inode. This slowed creation of file when number of files became large (eg. linux untar). To prevent this from happening, and since we are no longet using inode bitmap, we need not have the upper limit on the number of files that can be created. Therefore, the searching of free inode was replaced by a static global max_inode_allocated variable that stored the inode number of the last inode that was allocation. Subseqient inode allocations were done by incrementing that counter. That counter is an integer, thus upper bounding the number of files that can be created to 2^32.