1. A method of providing access by a client to a file in a storage system, the file associated with a file pathname, the method comprising: a. storing an instantiation of the file in each of a plurality of storage providers; b. storing metadata for the file in a target storage provider selected based at least in part on the pathname using a predetermined mapping scheme, the metadata including at least a list of the storage providers; c. sending a request by the client to the target storage provider; d. providing the list of the storage providers by the target storage provider to the client in response to the request; e. selecting one of the listed storage providers by the client using a predetermined selection scheme; and f. communicating with the selected storage provider by the client in order to access the file instantiation stored in the selected storage provider.