1. A computer system comprising at least a memory and a processor, the processor coupled to an execution module configured to monitor the execution of an application program on the computer system, the execution module further configured to: select a set of file systems as a group of file systems; dynamically determine if the application program requires additional data blocks for continued execution; allocate free data blocks to a native file system from at least one other file system in the group of file systems for performing uninterrupted execution of the application program; reduce a size of storage space of the at least one other file system in response to a file system specific call on the at least one other file system; reduce a size of a logical volume of the at least one other file system to match the reduced size of the at least one other file system using a logical volume specific function called on a volume group; increase the logical volume size of said native file system borrowing said free data blocks to utilize the free disk space freed by the logical volume of the at least one other file system; and update the status of the native file system and the at least one other file system.