Patent ID: 8306950

Claim:
A computer-implemented method comprising: associating, at a client node on which a clustered file system is mounted, a first generation number with one or more files of the clustered file system, wherein the first generation number indicates a state of the one or more files following a snapshot of the one or more files; in response to a write request directed to a first data block associated with the one or more files, determining whether the first data block is part of the snapshot of the one or more files based, at least in part, on the first generation number; if the first data block is determined not to be part of the snapshot of the one or more files, updating the first data block in accordance with the write request; and if the first data block is determined to be part of the snapshot of the one or more files, transmitting, to a server that co-ordinates a plurality of client nodes on which the clustered file system is mounted, an allocation request for a second data block for servicing the write request, wherein the plurality of client nodes comprise the client node; identifying a data block mapping that maps a logical data block to the first data block; and updating the data block mapping to map the logical data block to the second data block; and updating the second data block in accordance with the write request, wherein said updating the second data block in accordance with the write request if the first data block is determined to be part of the snapshot of the one or more files comprises: copying content of the first data block to the second data block; updating the content of the second data block in accordance with the write request.