1. A method in a computing system for restoring an individual file from a snapshot of a primary copy of a data set, the method comprising: receiving at a file system a request to restore files from a snapshot of a primary copy of a data set, wherein the snapshot indicates which files are included in the data set at a certain point in time, wherein at least some of the data set is stored as a secondary copy that differs from the primary copy, and wherein the secondary copy resides in a storage device that differs from another storage device storing the primary copy of the data set; transmitting from the file system to an intermediate component a request for a directory file that contains information associated with files imaged by the snapshot, wherein the directory file includes information identifying the files imaged by the snapshot and information identifying locations of the files imaged by the snapshot in the secondary copy; redirecting the request for the directory file from the intermediate component to the storage device, wherein the redirected request includes location information for the directory file; transmitting the directory file from the storage device to the intermediate component; storing the received directory file in a cache associated with the intermediate component; communicating information associated with files contained within the directory file from the intermediate component to the file system; transmitting a selection of a file to be restored to the intermediate component; transferring location information for the file from the intermediate component to the file system, wherein the location information is obtained from the directory file; transmitting a request for the file using the transferred location information from the file system to the storage device, and serving a subsequent request to restore files using the directory file stored in the cache associated with the intermediate component.