In an embodiment, a method to provide data consistency in a storage
system, includes: providing, by a server to a proxy cache, a lock
associated with a delegated file in the server; in response to a write
request from a client, modifying data in a cached copy of the delegated
file in the proxy cache; revoking, by the server, the lock associated
with the delegated file, in response to a request from another device to
access the delegated file so that the delegated file is now a formerly
delegated file; and writing the modified data to the formerly delegated
file in the server to update the formerly delegated file; and permitting
access to the formerly delegated file by the another device.