MANAGING DATA ACCESS REQUESTS AFTER PERSISTENT SNAPSHOTS
First Claim
1. A 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; and
updating the second data block in accordance with the write request.
1 Assignment
0 Petitions
Accused Products
Abstract
A client node on which a file system is mounted can be configured to efficiently handle content access requests after a snapshot is created. The client node can maintain generation numbers at a data block, a file, and a fileset level to determine whether a data block is part of a snapshot generation and consequently whether the data block is writable in a current generation. Data block mappings and write access permissions associated with the data blocks need not be revoked at the client node prior to creating the snapshot. Cached data block mappings can be accessed to identify data blocks for servicing a read request. The data block can be updated in place if the data block is not part of the snapshot generation. The write request can be serviced at a new data block if the data block is part of the snapshot generation.
-
Citations
20 Claims
-
1. A 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; and updating the second data block in accordance with the write request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer program product for managing data access requests after a persistent snapshot, the computer program product comprising:
-
a computer readable storage medium having computer usable program code embodied therewith, the computer readable program code configured to; associate a first generation number with one or more files of a clustered file system, wherein the first generation number indicates a state of the one or more files following creation of 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, determine 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, update 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, transmit, 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; and update the second data block in accordance with the write request. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A machine comprising:
-
a processor; a network interface coupled with the processor, the network interface operable to receive, at the machine on which a clustered file system is mounted, a first generation number associated 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 creation of a snapshot of the one or more files; and a generation number comparison unit operable to; indicate the first generation number for the one or more files; in response to a write request directed to a first data block associated with the one or more files, determine whether the first data block is part of the snapshot of the one or more files; indicate to a read/write unit whether or not the first data block is part of the snapshot; the read/write unit operable to; if the generation number comparison unit indicates that the first data block is not part of the snapshot, update the first data block in accordance with the write request; and if the generation number comparison unit indicates that the first data block is part of the snapshot, transmit, to a server that co-ordinates a plurality of machines 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 machines comprise the machine; and update the second data block in accordance with the write request. - View Dependent Claims (19, 20)
-
Specification