1. A method for enabling a plurality of network devices to cache at least one data block written to a file in a distributed file system, comprising: enabling at least one of a plurality of node caches to store the at least one data block that is written to the file; in response to a request to generate a snapshot of at least a portion of the distributed file system, generating a snapshot identifier for at least that portion; determining each node cache that includes at least a part of the at least portion of the distributed file system that corresponds to the requested snapshot; determining each corresponding node cache that further includes the at least one data block; determining an insertion point for a sentinel within each corresponding node cache based on a scan to find a latest cached data block within each corresponding node cache; inserting the sentinel into each corresponding node cache that includes the at least one data block, wherein the sentinel includes at least the snapshot identifier; generating the snapshot based on the at least one data block that corresponds to the sentinel in each corresponding node cache along with those remaining data blocks for the at least portion of the distributed file system that were previously stored in a stable storage device; and providing access to the snapshot in a response to the request.