1. A computer implemented method comprising: receiving I/O requests from an application, each I/O request including metadata previously generated by the application that specifies an I/O type and a file type of the I/O request; comparing the metadata of each of the I/O requests received from the application with a configurable cache map, wherein the configurable cache map controls a selective caching based on the I/O type and the file type included in the metadata of the received I/O request, wherein the configurable cache map includes a plurality of file type and I/O type pairs and a corresponding caching decision for each of the plurality of pairs, and wherein the configurable cache map indicates that a first of the plurality of file type and I/O type pairs is to be cached, a second of the plurality of file type and I/O type pairs is to be not cached, and a third of the plurality of file type and I/O type pairs is to be cached and read ahead, wherein the metadata indicates how the application is to process data corresponding to the I/O request, and wherein the second of the plurality of file type and I/O type pairs corresponds to data that is being cached by the application in a separate application cache; processing each of the I/O requests to render a cache or no-cache decision for each of the I/O requests based on the comparison of each I/O request to the configurable cache map; and executing selective caching on each of the I/O requests in accordance with the cache or no-cache decisions, wherein a first one of the I/O requests is cached in a file system cache when the cache decision is rendered for the first one of the I/O requests, wherein a second one of the I/O requests is not cached in the file system cache by bypassing the file system cache when the no-cache decision is rendered for the second one of the I/O requests, and wherein the first one of the I/O requests is cached and the second of the I/O requests is not cached without modification to the configurable cache map.